hash-set: New module.
[gnulib.git] / ChangeLog
blob774c6ad7c505fad11057159abb08a4df0a9d7b3e
1 2018-12-03  Bruno Haible  <bruno@clisp.org>
3         hash-set: New module.
4         * lib/gl_hash_set.h: New file.
5         * lib/gl_hash_set.c: New file.
6         * modules/hash-set: New file.
8         linkedhash-set: New module.
9         * lib/gl_linkedhash_set.h: New file.
10         * lib/gl_linkedhash_set.c: New file.
11         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
12         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
13         * lib/gl_anyhash_primes.h: New file, extracted from
14         lib/gl_anyhash_list2.h.
15         * lib/gl_anyhash_list2.h: Include it.
16         (primes, next_prime): Remove definitions.
17         * modules/linkedhash-set: New file.
18         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
19         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
20         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
21         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
22         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
23         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
25         array-set: New module.
26         * lib/gl_array_set.h: New file.
27         * lib/gl_array_set.c: New file.
28         * modules/array-set: New file.
30         set: New module.
31         * lib/gl_set.h: New file.
32         * lib/gl_set.c: New file.
33         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
34         gl_set.h.
35         * modules/set: New file.
37 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
39         bison: don't force the Yacc mode
40         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
41         errors when Bison features are used in the grammar file.  Some of
42         these features (such as %expect) were flagged non-yacc recently.  Most
43         of the time, -y is actually used to please Automake's ylwrap which
44         expects the output to be y.tab.c.
45         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
47 2018-12-01  Bruno Haible  <bruno@clisp.org>
49         gnupload: Document short options.
50         * build-aux/gnupload (usage): Document the short options.
52 2018-11-28  Ben Elliston  <bje@gnu.org>
54         gnupload: Support option -h as alias of --help.
55         * build-aux/gnupload: Support -h.
57 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
59         memrchr: port better to clang
60         * lib/memrchr.c (__memrchr): Cast to void * instead of to
61         longword *, to pacify clang -Wcast-align (Bug#33544).
63 2018-11-29  Eric Blake  <eblake@redhat.com>
65         docs: mention printf %m considerations
66         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
67         is not portable, and is easy enough to work around.
68         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
69         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
70         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
71         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
72         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
73         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
74         * doc/posix-functions/printf.texi (printf): Likewise.
75         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
76         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
77         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
78         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
79         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
80         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
81         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
82         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
83         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
84         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
85         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
86         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
88 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
90         bitset: rename ebitset/expandable.* as tbitset/table.*
91         See
92         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
93         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
94         * lib/bitset/table.h, lib/bitset/table.c: these.
95         Rename all the ebitset* symbols as tbitset*.
96         Adjust dependencies.
98 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
100         bitset: check the operations
101         * tests/test-bitset.c (bitset_random): New.
102         Use it.
103         * lib/bitset/expandable.c (ebitset_not): Fix typo.
105 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
107         bitset: properly use false/true instead of 0/1 for Booleans
108         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
109         0/1, as Booleans.
111 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
113         bitset: rename BITSET_VARRAY as BITSET_VECTOR
114         For consistency with the name of the file.
115         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
116         * lib/bitset/stats.c, lib/bitset/vector.c
117         (BITSET_VARRAY): Rename as...
118         (BITSET_VECTOR): this.
120 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
122         strerror_r-posix: memmove, not memcpy
123         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
124         since the source and destination might overlap in the call
125         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
126         Simplify.
128 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
130         bitsetv: new module
131         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
133 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
135         bitset: add tests and doc
136         First stabs at providing a documentation and test for the bitset
137         module.
138         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
140 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
142         bitset: new module
143         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
144         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
145         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
146         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
147         * lib/bitset/vector.h, modules/bitset:
148         New.
150 2018-11-23  Bruno Haible  <bruno@clisp.org>
152         localename: Fix gettext test failures on mingw.
153         * lib/localename.c (gl_locale_name_posix): Convert the result of
154         gl_locale_name_environ to XPG syntax.
156 2018-11-23  Karl Berry  <karl@freefriends.org>
158         * config/srclistvars.txt,
159         * config/srclist.txt: remove all gettext references;
160         the gettext maintainers will sync as needed.
162 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
164         mktime: add libc-config dependency
165         I missed this when we synced from glibc.
166         * modules/mktime (Depends-on): Add libc-config.
168 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
170         longlong: fix comment typo
171         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
173 2018-11-11  Bruno Haible  <bruno@clisp.org>
175         havelib: Remove the need to include asm-underscore.m4.
176         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
177         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
178         gl_HOST_CPU_C_ABI.
179         * modules/havelib (Files): Add host-cpu-c-abi.m4.
180         (Depends-on): Remove host-cpu-c-abi.
182 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
184         parse-datetime: simplify test for mktime failure
185         * lib/parse-datetime.y (mktime_ok): Simplify.
186         Remove args TZ and T; no longer needed.  Callers changed.
188         posixtm: simplify test for mktime failure
189         * lib/posixtm.c (posixtime): Simplify.
191         nstrftime: simplify test for mktime failure
192         * lib/nstrftime.c (__strftime_internal): Simplify.
194 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
196         gnulib-common.m4: port _Noreturn to C++
197         Problem reported by Akim Demaille in:
198         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
199         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
200         Merge adjustments from _Noreturn.h and from glibc into the non-C++
201         version.
202         * lib/_Noreturn.h: Match gnulib-common.
204 2018-10-30  Bruno Haible  <bruno@clisp.org>
206         gnu-make: Fix for NetBSD 8 'make'.
207         Reported by Reuben Thomas in
208         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
209         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
210         output, ignoring exit codes.
212 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
214         maintainer-makefile: fix syntax-check rule for "same.h"
215         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
216         for 'same_nameat', too.
218 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
220         havelib: fix nested ‘configure’ chatter
221         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
222         AC_CACHE_CHECK calls, which resulted in confusing output like
223         “checking for the common suffixes of directories in the library
224         search path... checking for 64-bit host... no lib,lib”.
226         backupfile: tweak for better code
227         * lib/backupfile.c: Sort include directives, and remove
228         unnecessary <limits.h> include.
229         (FALLTHROUGH): New macro, copied from other modules.
230         (backupfile_internal): Use it to avoid code duplication.
231         This lets GCC 8.2.1 generate better code by inlining the
232         call to check_extension.
234 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
236         backupfile: new dir_fd args
237         New module opendirat with code taken from fts.
238         Use this module to let backupfile use a directory file descriptor.
239         * NEWS: Document the incompatible change.
240         * lib/backup-find.c (find_backup_file_name):
241         * lib/backup-rename.c (backup_file_rename):
242         New arg DIR_FD.
243         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
244         (SIZE_MAX): Remove.
245         Include opendirat.h rather than dirent--.h.
246         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
247         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
248         (backupfile_internal): New arg DIR_FD.  All callers changed.
249         * lib/fts.c: Include opendirat.h.
250         (opendirat): Move to opendirat.c.
251         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
252         * modules/backupfile (Depends-on): Remove dirfd, opendir.
253         Add opendirat.
254         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
255         Add opendirat.
257 2018-10-23  Bruno Haible  <bruno@clisp.org>
259         localename: Simplify support for per-thread locales on Solaris 11.4.
260         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
261         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
262         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
263         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
264         specific code.
265         * lib/localename-table.h: Update comments.
266         * lib/localename-table.c: Update comments.
267         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
268         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
269         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
270         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
271         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
272         HAVE_NAMELESS_LOCALES here.
273         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
274         m4/intlsolaris.m4.
275         * modules/gettext (Files): Likewise.
277 2018-10-22  Bruno Haible  <bruno@clisp.org>
279         std-gnu11: Support Autoconf versions < 2.64.
280         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
281         when _AC_DO_LIMIT does not exist.
283 2018-10-22  Bruno Haible  <bruno@clisp.org>
285         Assume Autoconf >= 2.63.
286         * DEPENDENCIES: Mention the requirement.
288         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
289         (func_get_filelist): Don't list m4/onceonly.m4 any more.
290         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
291         * m4/onceonly.m4: Remove file.
293         * m4/openmp.m4: Remove file.
294         * modules/openmp (Files): Remove m4/openmp.m4.
296         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
297         htmldir, dvidir, pdfdir, psdir, localedir.
298         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
300         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
301         Autoconf < 2.60.
302         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
303         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
305         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
306         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
307         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
309         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
310         exists.
311         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
313         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
314         Autoconf < 2.61.
316         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
317         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
318         Autoconf >= 2.52.
320         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
321         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
322         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
324 2018-10-22  Bruno Haible  <bruno@clisp.org>
326         Assume Automake >= 1.11.
327         * m4/configmake.m4: Update comments.
328         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
329         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
330         of 'eval'.
331         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
332         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
333         requires Automake >= 1.11.
335 2018-10-22  Bruno Haible  <bruno@clisp.org>
337         localename: Fix typo in comment.
338         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
340 2018-10-22  Bruno Haible  <bruno@clisp.org>
342         Fix failure of 'gnulib-tool --create-testdir' with all modules.
343         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
345 2018-10-21  Bruno Haible  <bruno@clisp.org>
347         locale: Ease integration with GNU libintl.
348         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
349         GNULIB_defined_freelocale): New macros.
351 2018-10-21  Bruno Haible  <bruno@clisp.org>
353         localename: Fine-tune support for per-thread locales on Solaris 11.4.
354         * lib/localename-table.h: New file, extracted from lib/localename.c.
355         * lib/localename-table.c: Likewise.
356         * lib/localename.c: Include localename-table.h.
357         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
358         locale_hash_function instead of pointer_hash.
359         * modules/localename (Files): Add lib/localename-table.h,
360         lib/localename-table.c.
361         (lib_SOURCES): Add localename-table.c.
362         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
363         for Solaris 11.4 locale system only on Solaris. Test for it
364         independently whether getlocalename_l exists.
365         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
366         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
367         HAVE_NAMELESS_LOCALES.
368         * modules/gettext (Files): Add m4/intlsolaris.m4.
370 2018-10-21  Bruno Haible  <bruno@clisp.org>
372         Small update from gettext.
373         * m4/intl.m4: Update from gettext:
374         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
375         mode on AIX.
376         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
377         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
379 2018-10-16  Bruno Haible  <bruno@clisp.org>
381         mountlist: Remove support for Cray with UNICOS 9.
382         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
383         MOUNTED_LISTMNTENT.
384         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
386 2018-10-16  Bruno Haible  <bruno@clisp.org>
388         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
389         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
390         STAT_STATFS2_FS_DATA.
391         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
392         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
393         MOUNTED_GETMNT.
394         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
395         * lib/getloadavg.c (decstation): Remove definition and case.
396         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
397         * lib/getgroups.c: Likewise.
398         * doc/posix-functions/getgroups.texi: Likewise.
399         * lib/time.in.h: Update comments.
401 2018-10-16  Bruno Haible  <bruno@clisp.org>
403         getloadavg: Remove support for ConvexOS.
404         * lib/getloadavg.c: Remove convex case.
406 2018-10-16  Bruno Haible  <bruno@clisp.org>
408         getloadavg: Remove support for Sony NEWS.
409         * lib/getloadavg.c: Remove sony_news case.
411 2018-10-16  Bruno Haible  <bruno@clisp.org>
413         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
414         * lib/fsusage.c: Remove _SEQUENT_ case.
415         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
416         * lib/mountlist.c: Don't test for MNTTABNAME.
417         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
418         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
419         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
420         * lib/stat-size.h: Don't mention the Sequent bug.
421         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
423 2018-10-16  Bruno Haible  <bruno@clisp.org>
425         fsusage: Remove support for AIX 3.
426         * lib/fsusage.c: Remove code for AIX 3.
427         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
429 2018-10-16  Bruno Haible  <bruno@clisp.org>
431         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
432         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
433         * lib/fsusage.c: Remove code for AIX PS/2.
434         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
435         * lib/getloadavg.c: Likewise.
437 2018-10-16  Bruno Haible  <bruno@clisp.org>
439         getloadavg: Remove support for HP-UX on m68k.
440         * lib/getloadavg.c: Remove hp9000s300 case.
442 2018-10-16  Bruno Haible  <bruno@clisp.org>
444         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
445         * lib/fsusage.c: Remove DOLPHIN case.
446         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
447         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
449 2018-10-16  Bruno Haible  <bruno@clisp.org>
451         getloadavg: Remove support for Alliant FX/2800.
452         * lib/getloadavg.c: Remove alliant case.
454 2018-10-16  Bruno Haible  <bruno@clisp.org>
456         getloadavg: Remove support for tek4300.
457         * lib/getloadavg.c: Remove tek4300 case.
459 2018-10-16  Bruno Haible  <bruno@clisp.org>
461         getloadavg: Remove support for Ardent.
462         * lib/getloadavg.c: Remove ardent case.
464 2018-10-16  Bruno Haible  <bruno@clisp.org>
466         mountlist: Remove support for SVR2.
467         Reported by Andrew Borodin <aborodin@vmail.ru> in
468         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
469         * lib/mountlist.c: Remove MOUNTED_FREAD case.
470         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
471         MOUNTED_FREAD.
473 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
475         libc-config: merge from glibc
476         * lib/cdefs.h (__glibc_has_attribute): New macro.
478         regex: depend on libc-config
479         * modules/regex (Depends-on): Add libc-config.
480         This is needed after the recent autoupdate from glibc.
482 2018-10-14  Bruno Haible  <bruno@clisp.org>
484         localename: Add support for per-thread locales on Solaris 11.4.
485         * lib/locale.in.h (newlocale, freelocale): New declarations.
486         (duplocale): Declare also when the 'localename' module requests it.
487         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
488         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
489         (struniq): Update.
490         (struct locale_categories_names, struct locale_hash_node): New types.
491         (LOCALE_HASH_TABLE_SIZE): New constant.
492         (locale_hash_table, locale_lock): New variables.
493         (pointer_hash, get_locale_t_name): New functions.
494         (newlocale, duplocale, freelocale): New overridden functions.
495         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
496         * m4/intlsolaris.m4: New file.
497         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
498         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
499         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
500         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
501         declared.
502         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
503         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
504         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
505         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
506         * modules/localename (Files): Add intlsolaris.m4.
507         (Depends-on): Add 'locale'.
508         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
509         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
510         the signatures.
512 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
514         timevar: use gethrxtime to get wall clock time
515         clock_gettime is not portable.  gethrxtime takes the best available
516         option to get the wall clock time, including clock_gettime (monotonic
517         clock), and gettime (non monotonic).
518         Also, using xtime_t instead of float preserves the precision.
519         Suggested by Bruno Haible.
520         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
521         * modules/timevar (Depends-on): We need gethrxtime.
522         We no longer use times().
523         (Link): Update.
524         * lib/timevar.h (timevar_time_def): Use xtime_t.
525         * lib/timevar.c (set_to_current_time): Use gethrxtime.
526         (timevar_print): Instead of checking whether the timings themselves
527         are large enough for the timevar to be printed, check the percentages.
529 2018-10-14  Bruno Haible  <bruno@clisp.org>
531         wcsnrtombs: Work around Solaris 11.4 bug.
532         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
533         macro.
534         (gl_FUNC_WCSNRTOMBS): Invoke it.
535         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
537 2018-10-14  Bruno Haible  <bruno@clisp.org>
539         mbsnrtowcs: Work around Solaris 11.4 bug.
540         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
541         macro.
542         (gl_FUNC_MBSNRTOWCS): Invoke it.
543         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
545 2018-10-14  Bruno Haible  <bruno@clisp.org>
547         doc: Update for Solaris 11.4.
548         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
549         mention Solaris 11.4.
550         * m4/printf.m4: Update comments about Solaris.
551         * m4/log.m4: Likewise.
552         * m4/log10.m4: Likewise.
553         * m4/logb.m4: Likewise.
554         * m4/logbf.m4: Likewise.
555         * m4/logbl.m4: Likewise.
556         * m4/rename.m4: Likewise.
557         * m4/wcrtomb.m4: Likewise.
558         * m4/hostent.m4: Likewise.
559         * m4/servent.m4: Likewise.
561 2018-10-14  Bruno Haible  <bruno@clisp.org>
563         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
564         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
565         pointer.
566         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
567         pointer.
568         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
569         pointer.
570         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
571         pointer.
572         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
573         pointer.
575 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
577         bootstrap: fix wget command for po files.
578         * build-aux/bootstrap (po_download_command_format): Fix comment,
579         and adjust callers.
581 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
583         timevar: improve the output format
584         Suggested by Bruno Haible.
585         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
586         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
587         wall, since its resolution is much higher.
589 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
591         timevar: expect that getrusage is available.
592         Don't keep both times and getrusage as backend: both are guaranteed by
593         gnulib, a single one suffices.  Using getrusage is open to possibly
594         tracking other types of resources in the future.
595         * modules/timevar (Depends-on): Add getrusage.
596         (configure.ac): Remove gl_TIMEVAR.
597         (Files): Remove m4/timevar.m4.
598         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
599         * lib/timevar.h (timevar_enabled): Clarify documentation.
600         * lib/timevar.c: Remove all the code about times.
601         Remove all the CPP guards about getrusage: expect it to be present
602         (courtesy of gnulib).
604 2018-10-12  Bruno Haible  <bruno@clisp.org>
606         mountlist: Improve support for Solaris in 64-bit mode.
607         Reported by David Wood <David.Wood@deshaw.com> in
608         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
609         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
610         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
611         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
613 2018-10-12  Bruno Haible  <bruno@clisp.org>
615         mountlist: Add support for Minix.
616         Reported by Assaf Gordon in
617         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
618         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
619         AC_CHECK_FUNCS to check for 'getmntinfo'.
620         * lib/mountlist.c: Update comments.
622 2018-10-12  Bruno Haible  <bruno@clisp.org>
624         Make better use of Autoconf.
625         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
626         * m4/manywarnings.m4: Likewise.
627         * m4/manywarnings-c++.m4: Likewise.
628         * m4/socklen.m4: Likewise.
629         * m4/sockpfaf.m4: Likewise.
630         * m4/stdarg.m4: Likewise.
631         * m4/visibility.m4: Likewise.
632         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
633         indentation.
634         * m4/ls-mntd-fs.m4: Likewise.
636 2018-10-11  Bruno Haible  <bruno@clisp.org>
638         mountlist: Modernize platform lists.
639         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
640         platforms, deemphasizing the obsolete ones.
641         * lib/mountlist.c: Likewise.
643 2018-10-11  Bruno Haible  <bruno@clisp.org>
645         getprogname: Add support for 32-bit programs on HP-UX.
646         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
647         try the similar functions 32-bit programs on 64-bit HP-UX.
649 2018-10-11  Bruno Haible  <bruno@clisp.org>
651         getprogname: Work around program name truncation when possible.
652         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
653         possibly use pst_cmd instead.
655 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
657         fts: cleanup after FTS_NOATIME removal
658         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
659         (FTS_STOP): Shrink to minimal values.  We don’t need to
660         worry about binary compatibility in Gnulib, and the old way
661         of doing things had a hole in the user options that caused
662         FTS_OPTIONMASK to not work as desired.
664 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
666         fts: remove FTS_NOATIME
667         This reverts commit da4d6974013c822af1498941e32db774b2031765.
668         We cannot guarantee that O_NOATIME works: e.g. openat fails
669         with EPERM if the effective user ID of the caller does not match
670         the owner of the file and the caller is not privileged.
671         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
672         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
673         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
674         (FTS_OPTIONMASK): Adjust.
675         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
676         (fd_ring_check): Likewise.
678 2018-10-08  Bruno Haible  <bruno@clisp.org>
680         csharpcomp*, csharpexec*: Remove support for pnet.
681         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
682         HAVE_CSCC.
683         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
684         Don't test HAVE_CSCC.
685         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
686         (compile_csharp_class): Don't invoke it.
687         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
688         HAVE_ILRUN.
689         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
690         Don't test HAVE_ILRUN.
691         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
692         (execute_csharp_program): Don't invoke it.
693         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
694         any more.
696 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
698         renameatu: prefer renameat2 to syscall
699         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
700         Use renameat2 instead of syscall (Bug#32796).
701         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
703 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
705         bootstrap, gnulib-tool: use https instead of insecure rsync
706         * build-aux/bootstrap (download_po_files, po_download_command_format):
707         Don't try using rsync; always use wget over https to fetch PO files.
708         * gnulib-tool (func_import): Likewise.
709         * pygnulib/GLImport.py (GLImport.execute): Likewise.
711 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
713         bootstrap, gnulib-tool: correct the translations wget command
714         * build-aux/bootstrap (po_download_command_format2): Restrict
715         recursion to a single level.
716         * gnulib-tool (func_import): Likewise.
717         * pygnulib/GLImport.py (GLImport.execute): Likewise.
719 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
721         doc: the gnulib snapshots are not maintained
722         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
724 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
726         timevar: add to lib_SOURCES
727         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
729 2018-10-07  Bruno Haible  <bruno@clisp.org>
731         dirent: Update documentation.
732         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
734 2018-10-05  Bruno Haible  <bruno@clisp.org>
736         strpbrk: Make it possible to namespace the defined symbol.
737         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
739 2018-10-05  Bruno Haible  <bruno@clisp.org>
741         strcspn: Make it possible to namespace the defined symbol.
742         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
744 2018-10-05  Bruno Haible  <bruno@clisp.org>
746         raise: Make it possible to namespace the defined symbol.
747         * lib/raise.c (raise): Undefine only after the replacement function has
748         been defined.
749         (raise): Renamed from rpl_raise.
750         (raise_nothrow): Move to the end of the compilation unit.
752 2018-10-05  Bruno Haible  <bruno@clisp.org>
754         memcmp: Make it possible to namespace the defined symbol.
755         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
757 2018-10-05  Bruno Haible  <bruno@clisp.org>
759         explicit_bzero: Make it possible to namespace the defined symbol.
760         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
761         glibc.
763 2018-10-05  Bruno Haible  <bruno@clisp.org>
765         mkdir-p: Depend on 'mkdir'.
766         * modules/mkdir-p (Depends-on): Add 'mkdir'.
768 2018-10-05  Bruno Haible  <bruno@clisp.org>
770         tempname: Depend on 'mkdir'.
771         Reported by Maarten Bosmans <mkbosmans@gmail.com>
772         at <https://savannah.gnu.org/bugs/?33379>.
773         * modules/tempname (Depends-on): Add 'mkdir'.
775 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
777         timevar: rely on gnulib modules for time portability.
778         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
779         * m4/timevar.m4: Don't check for clock_t and struct tms,
780         guaranteed by gnulib.
781         * lib/timevar.h: Use extern "C" protection.
782         Include <stdio.h> for FILE.
783         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
784         they are guaranteed by gnulib.
785         Remove uses of clock as (now useless) fallback.
787 2018-10-04  Bruno Haible  <bruno@clisp.org>
789         sh-filename: New module.
790         * m4/sh-filename.m4: New file.
791         * modules/sh-filename: New file.
792         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
793         "/bin/sh".
794         * tests/test-posix_spawn1.c (main): Likewise.
795         * tests/test-posix_spawn2.c (main): Likewise.
796         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
797         is_envjavac_gcj43): Likewise.
798         * lib/javaexec.c (execute_java_class): Likewise.
799         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
800         * modules/posix_spawnp-tests (Depends-on): Likewise.
801         * modules/javacomp (Depends-on): Likewise.
802         * modules/javaexec (Depends-on): Likewise.
804 2018-10-04  Bruno Haible  <bruno@clisp.org>
806         spawn-pipe tests: Avoid test failure on native Windows.
807         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
808         that fd 2 is closed.
810 2018-10-04  Bruno Haible  <bruno@clisp.org>
812         fcntl: Make it possible to namespace the defined symbol.
813         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
814         been defined.
815         (fcntl): Renamed from rpl_fcntl.
816         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
817         from fcntl.
818         (klibc_fcntl): Move to the end of the compilation unit.
820 2018-10-02  Bruno Haible  <bruno@clisp.org>
822         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
823         * tests/test-vasnprintf.c (test_function): Change the test added on
824         2018-09-23 to check only the 18 most significant digits.
826         vasnprintf tests: Avoid test failure on Cygwin.
827         * tests/test-vasnprintf.c (test_function): Change the test added on
828         2018-09-23 to check only the 42 most significant digits.
830 2018-10-01  Bruno Haible  <bruno@clisp.org>
832         mkostemp, mkostemps: Update documentation.
833         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
834         * doc/glibc-functions/mkostemps.texi: Likewise.
836 2018-10-01  Tom Tromey  <tom@tromey.com>
838         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
839         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
840         on OS X.
842 2018-09-30  Pádraig Brady  <P@draigBrady.com>
844         hmac-*: refactor to remove repetitive code
845         * lib/hmac.c: A new parameterized single implementation.
846         * lib/hmac-md5.c: Define parameters and include implementation.
847         * lib/hmac-sha1.c: Likewise.
848         * lib/hmac-sha256.c: Likewise.
849         * lib/hmac-sha512.c: Likewise.
850         * modules/crypto/hmac-md5: Reference the new implementation file.
851         * modules/crypto/hmac-sha1: Likewise.
852         * modules/crypto/hmac-sha256: Likewise.
853         * modules/crypto/hmac-sha512: Likewise.
854         * tests/test-hmac-md5.c: Refactor common code to a single function.
855         * tests/test-hmac-sha1.c: Likewise.
856         * tests/test-hmac-sha256.c: Likewise.
857         * tests/test-hmac-sha512.c: Likewise.
859 2018-09-30  Zhang Qing  <zhangqingl@126.com>
861         hmac-sha512: fix hash for keys > blocksize (128 bytes)
862         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
863         key length to that output by sha512, not the blocksize.
864         Otherwise uninitialized data from the stack
865         is used when computing the hash.
866         * tests/test-hmac-sha512.c: Add a shortened key test case.
867         Reported at https://github.com/coreutils/gnulib/pull/5
869 2018-09-30  Bruno Haible  <bruno@clisp.org>
871         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
872         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
873         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
874         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
875         'unsigned int' before comparison with an unsigned value.
877 2018-09-30  Bruno Haible  <bruno@clisp.org>
879         grantpt: Remove unnecessary dependency.
880         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
882 2018-09-30  Bruno Haible  <bruno@clisp.org>
884         timevar: Small tweaks.
885         * lib/timevar.h: Fix comments. Add parameter names to function
886         declarations.
887         * lib/timevar.c: Include timevar.h immediately after config.h.
888         * lib/timevar.def: Fix comments.
889         * modules/timevar (Maintainer): List Akim Demaille.
891 2018-09-30  Bruno Haible  <bruno@clisp.org>
893         timevar: Include documentation in gnulib manual.
894         * doc/timevar.texi: Change node and section name to 'Profiling of
895         program phases'.
896         In the code snippets, tweak the #includes and use GNU coding style.
897         * doc/gnulib.texi: Include timevar.texi.
899 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
901         timevar: import from Bison.
902         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
903         New files.
904         * lib/timevar.def: New file.
905         * doc/timevar.texi: New file.
907 2018-09-26  Bruno Haible  <bruno@clisp.org>
909         javacomp-script, javacomp: Add preliminary support for Java 12..17.
910         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
911         * lib/javacomp.c (default_target_version): Likewise.
913 2018-09-26  Bruno Haible  <bruno@clisp.org>
915         javacomp-script, javacomp: Add support for Java 11.
916         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
917         target-version 11.
918         * lib/javaversion.h: Update comments.
919         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
920         source_version_index, get_goodcode_snippet, get_failcode_snippet,
921         TARGET_VERSION_BOUND, target_version_index,
922         corresponding_classfile_version): Accept source_version 11 and
923         target_version 11.
924         * lib/javacomp.h: Update comments accordingly.
926 2018-09-23  Bruno Haible  <bruno@clisp.org>
928         vasnprintf: Fix heap memory overrun bug.
929         Reported by Ben Pfaff <blp@cs.stanford.edu> in
930         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
931         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
932         memory.
933         * tests/test-vasnprintf.c (test_function): Add another test.
935 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
937         maint: mktime.c now shared with glibc
938         * config/srclist.txt: intprops.h, timegm.c and mktime.c
939         are now the same in Gnulib and glibc.
941         mktime: fix _LIBC typo
942         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
944 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
946         dfa: optimization for state merge
947         * lib/dfa.c (merge2): New function.
948         (merge_nfa_state): Use it.
950 2018-09-18  Jim Meyering  <meyering@fb.com>
952         dfa: trivial comment fix: s/is/if/
953         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
955 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
957         dfa: use more-informative function name
958         * lib/dfa.c (maybe_disable_superset_dfa):
959         Rename from dfautf8noss.  Use change.
961         dfa: tweak allocation performance
962         * lib/dfa.c (merge_nfa_state, dfaoptimize):
963         Prefer ptrdiff_t for indexes some more.
964         Use char for flags, as it’s wide enough.
965         Allocate queue and flags together, with one malloc call.
966         No need to use xnmalloc since the multiplication and
967         addition cannot overflow (it’s already been checked by
968         earlier allocation).  Prefer memset to open-coding.
970         dfa: prune states as we go
971         * lib/dfa.c (prune): Remove.
972         dfa: reorder enum for efficiency
973         (merge_nfa_state): Prune as we go instead of at the end.
974         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
976         * lib/dfa.c (END): Now -1 again.  Reorder other elements
977         of the enumeration to make it easier for GCC to generate
978         efficient code by using fewer comparisons to check for
979         ranges of values.
980         (atom): Take advantage of the reordering.
982 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
984         dfa: optimize alternation in NFA
985         Even when similar states exist in alternation, the DFA treats them
986         as separate items, which may complicate the transition in NFA and
987         cause slowdown.  This change assembles the states into one.  For
988         example, ab|ac is changed into a(b|c).  This change speeds-up
989         matching for many branched patterns.  For example, grep speeds up
990         more than 30× in:
992           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
993           time -p env LC_ALL=C grep -vf in in
995         * lib/dfa.c (prune): New function.
996         (merge_nfa_state): New function.  It merges similar NFA states.
997         (dfaoptimize): New function.  It seeks merged and removed nodes.
998         (dfaanalyze): Call new function.
999         (dfautf8noss): Change name from dfaoptimize because of addition of new
1000         function.
1001         (dfacomp): Update caller.
1003         dfa: simplify initial state
1004         Simplifying the initial state enables easier optimization of the NFA.
1005         * lib/dfa.c (enum token): Add new element BEG.
1006         (prtok): Adjust due to adding element BEG.
1007         (dfaparse): Put BEG at a head of tokens.
1008         (state_index): Adjust due to adding element BEG.
1009         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
1010         build initial state.
1011         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
1013 2018-09-18  Bruno Haible  <bruno@clisp.org>
1015         file-has-acl: Fix test failure on Cygwin 2.9.
1016         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
1017         * lib/acl-internal.h: Likewise.
1018         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
1019         * lib/acl-internal.c: Update comments regarding Cygwin.
1020         * lib/acl_entries.c: Likewise.
1021         * lib/file-has-acl.c: Likewise.
1022         (file_has_acl): For Cygwin, use a different way to determine whether
1023         the "default" ACL of a directory is nontrivial.
1024         * lib/get-permissions.c: Update comments regarding Cygwin.
1025         * lib/set-permissions.c: Likewise.
1027 2018-09-18  Bruno Haible  <bruno@clisp.org>
1029         stat-time tests: Fix test failure on Cygwin.
1030         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
1032 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1034         doc: OS X 10.11 lacked ns time functions
1035         According to <https://github.com/zeromq/libzmq/issues/2175>,
1036         nanosecond-resolution timestamp functions were introduced
1037         in macOS 10.12, so document the last version (OS X 10.11)
1038         where they were absent.
1040         gettime: nanotime never existed
1041         Problem reported by Bruno Haible in:
1042         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
1043         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
1044         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
1046 2018-09-18  Bruno Haible  <bruno@clisp.org>
1048         doc: Update statement about target platforms.
1049         Reported by Simon Sobisch.
1050         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
1051         restrictions on MSVC versions.
1053 2018-09-18  Bruno Haible  <bruno@clisp.org>
1055         posix_spawn tests: Fix link error on 64-bit Cygwin.
1056         * tests/test-posix_spawn1.c (environ): Remove declaration.
1057         * tests/test-posix_spawn2.c (environ): Likewise.
1058         * tests/test-posix_spawn3.c (environ): Likewise.
1059         * tests/test-posix_spawn4.c (environ): Likewise.
1060         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
1061         * modules/posix_spawnp-tests (Depends-on): Likewise.
1063 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1065         timespec: new function current_timespec
1066         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
1067         and don’t worry about it failing on a CLOCK_REALTIME arg.
1068         POSIX requires it to succeed and I don’t know of any
1069         counterexamples where the fallbacks would work.
1070         (current_timespec): New function, taken from Emacs.  It is more
1071         convenient than gettime, and can help register allocation.
1072         * lib/timespec.h: Include arg-nonnull.h.
1073         (current_timespec): New declaration.
1074         (gettime, settime): Declare args to be nonnull.
1075         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
1077 2018-09-16  Bruno Haible  <bruno@clisp.org>
1079         setlocale: Improve locale handling on macOS 10.12 or newer.
1080         * lib/setlocale.c: Include header files for CoreFoundation. Declare
1081         gl_locale_name_canonicalize.
1082         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
1083         and LC_MESSAGES.
1084         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
1086 2018-09-16  Bruno Haible  <bruno@clisp.org>
1088         Update list of locale names with scripts on macOS.
1089         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
1090         match Mac OS X 10.13 and recent glibc.
1092 2018-09-16  Bruno Haible  <bruno@clisp.org>
1094         gettext: Use newer macOS APIs when possible.
1095         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
1096         CFLocaleCopyPreferredLanguages.
1098 2018-09-16  Bruno Haible  <bruno@clisp.org>
1100         localename: Revisit macOS specific code.
1101         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
1102         Fix comments about Mac OS X versions.
1104 2018-09-15  Bruno Haible  <bruno@clisp.org>
1106         setlocale: Improve support for locales not supported by libc.
1107         Reported by Dapeng Gao <peter@dpgao.cc> at
1108         <https://savannah.gnu.org/bugs/?54479>.
1109         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
1110         (libintl_setlocale): Use a more error-tolerant strategy when the locale
1111         to be set is not supported by libc: Emit warnings instead of failing.
1113 2018-09-15  Bruno Haible  <bruno@clisp.org>
1115         strstr, strcasestr: Add workaround against glibc-2.28 bug.
1116         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
1117         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
1118         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
1119         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
1120         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
1121         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
1122         * doc/glibc-functions/strcasestr.texi: Likewise.
1124 2018-09-14  Bruno Haible  <bruno@clisp.org>
1126         doc: Fix bottom of top-level page.
1127         Reported by Akim Demaille <akim.demaille@gmail.com> in
1128         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
1129         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
1130         mode.
1131         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
1132         accordingly.
1134 2018-09-12  Bruno Haible  <bruno@clisp.org>
1136         Add test case from a recent glibc bug.
1137         * tests/test-strstr.c (main): Add test of long needle.
1138         * tests/test-strcasestr.c (main): Likewise.
1139         * tests/test-c-strstr.c (main): Likewise.
1140         * tests/test-c-strcasestr.c (main): Likewise.
1141         * tests/test-memmem.c (main): Likewise.
1143 2018-09-12  Bruno Haible  <bruno@clisp.org>
1145         Apply Eric Blake's improvements from 2011-02-25 to more tests.
1146         * tests/test-c-strstr.c (main): Add the same tests here as well.
1148 2018-09-12  Bruno Haible  <bruno@clisp.org>
1150         Apply Jim Meyering's fix from 2015-01-11 to more tests.
1151         * tests/test-memmem.c (main): Free haystack.
1152         * tests/test-strcasestr.c (main): Likewise.
1153         * tests/test-c-strcasestr.c (main): Likewise.
1155 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
1157         xstrtol: fix missing-TYPE_SIGNED typo
1158         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
1160 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1162         timespec: fix resolution confusion
1163         In normal usage, clock resolution is given in seconds, but the
1164         code was mistakenly using inverse seconds and calling it
1165         “resolution”.  Fix this, partly by renaming two identifiers.
1166         The old names will be kept for a bit, to ease transition.
1167         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
1168         New constants, replacing TIMESPEC_RESOLUTION and
1169         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
1170         All uses changed.
1172 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
1174         mktime: simplify in prep for glibc merge
1175         * lib/mktime.c, lib/timegm.c [_LIBC]:
1176         Include mktime-internal.h (a small file just for glibc)
1177         instead of using a typedef.
1179 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
1181         intprops: minor clarification of code
1182         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
1183         Use _GL_INT_CONVERT rather than reinventing it.
1185 2018-09-07  Bruno Haible  <bruno@clisp.org>
1187         Fix a comment.
1188         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
1190 2018-09-07  Bruno Haible  <bruno@clisp.org>
1192         posix_spawn_file_actions_addchdir: Add tests.
1193         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
1194         * tests/test-posix_spawn4.c: New file.
1195         * modules/posix_spawn_file_actions_addchdir-tests: New file.
1197 2018-09-07  Bruno Haible  <bruno@clisp.org>
1199         posix_spawn_file_actions_addchdir: New module.
1200         Suggested by Eric Blake in
1201         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
1202         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
1203         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
1204         union member 'chdir_action'.
1205         * lib/spawn_faction_addchdir.c: New file.
1206         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
1207         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
1208         HAVE_WORKING_POSIX_SPAWN.
1209         * lib/spawn_faction_adddup2.c: Likewise.
1210         * lib/spawn_faction_addopen.c: Likewise.
1211         * m4/posix_spawn_faction_addchdir.m4: New file.
1212         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
1213         'posix_spawn_file_actions_addchdir' is present and whether
1214         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
1215         instead of HAVE_WORKING_POSIX_SPAWN.
1216         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
1217         posix_spawn_file_actions_addchdir is declared.
1218         (gl_SPAWN_H_DEFAULTS): Initialize
1219         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1220         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1221         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1222         * modules/spawn (Makefile.am): Substitute
1223         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1224         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
1225         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
1226         * modules/posix_spawn_file_actions_addchdir: New file.
1227         * modules/posix_spawn_file_actions_addclose (Depends-on,
1228         configure.ac): Test also REPLACE_POSIX_SPAWN.
1229         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
1230         configure.ac): Likewise.
1231         * modules/posix_spawn_file_actions_addopen (Depends-on,
1232         configure.ac): Likewise.
1233         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
1234         signature.
1235         * doc/posix-functions/posix_spawn.texi: Mention the new module.
1236         * doc/posix-functions/posix_spawnp.texi: Likewise.
1238 2018-09-06  Bruno Haible  <bruno@clisp.org>
1240         stddef: Override max_align_t on NetBSD 8.0/x86.
1241         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
1242         the value of __alignof__ (max_align_t).
1243         * doc/posix-headers/stddef.texi: Mention the issue.
1245 2018-09-06  Bruno Haible  <bruno@clisp.org>
1247         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
1248         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
1249         system fcntl.
1250         * doc/posix-functions/fcntl.texi: Document the issue.
1252 2018-09-06  Bruno Haible  <bruno@clisp.org>
1254         count-trailing-zeros tests: Rely on limits-h module.
1255         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
1256         definition.
1257         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
1259 2018-09-06  Bruno Haible  <bruno@clisp.org>
1261         count-leading-zeros tests: Rely on limits-h module.
1262         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
1263         definition.
1264         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
1266 2018-09-06  Bruno Haible  <bruno@clisp.org>
1268         count-one-bits tests: Rely on limits-h module.
1269         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
1270         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
1272 2018-09-06  Bruno Haible  <bruno@clisp.org>
1274         xstrtoll: Rely on limits-h module.
1275         * lib/xstrtol.c: Don't include intprops.h.
1276         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1277         * modules/xstrtol (Depends-on): Remove 'intprops'.
1278         * modules/xstrtoll (Depends-on): Add 'limits-h'.
1280 2018-09-06  Bruno Haible  <bruno@clisp.org>
1282         strtoll, strtoull: Rely on limits-h module.
1283         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
1284         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
1285         * modules/strtoll (Depends-on): Add limits-h.
1286         * modules/strtoull (Depends-on): Likewise.
1288 2018-09-06  Bruno Haible  <bruno@clisp.org>
1290         intprops tests: Fix compilation error with pre-C99 compiler.
1291         * tests/test-intprops.c (verify_stmt): New macro.
1292         (VERIFY, main): Use it.
1294 2018-09-06  Bruno Haible  <bruno@clisp.org>
1296         limits-h: Provide numerical limits macros.
1297         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
1298         IRIX and for GCC.
1299         (WORD_BIT, LONG_BIT): Define.
1300         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
1301         <limits.h> does not define LLONG_MAX or WORD_BIT.
1302         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
1303         TYPE_MAXIMUM): New macros, from intprops.h.
1304         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
1305         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
1306         provides.
1308 2018-09-05  Bruno Haible  <bruno@clisp.org>
1310         fcntl: Don't access nonexistent optional argument.
1311         Reported by Frank Busse <f.busse@imperial.ac.uk> in
1312         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
1313         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
1314         don't consume an argument. For actions that take an 'int' argument,
1315         consume an 'int' argument.
1317 2018-09-05  Eric Blake  <eblake@redhat.com>
1319         doc: mention environ pitfall
1320         * doc/posix-functions/environ.texi (environ): Assigning NULL to
1321         environ is a glibc extension.
1323 2018-09-03  Bruno Haible  <bruno@clisp.org>
1325         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
1326         Reported by Antoine Luong <antoine.luong@c-s.fr> in
1327         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
1328         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
1329         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
1330         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
1332 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1334         mktime: fix unlikely race+overflow bug
1335         Problem reported by Alexandre Oliva in:
1336         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
1337         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
1338         to avoid an unlikely race if the compiler delays a load and
1339         if this cascades into a signed integer overflow.
1341 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
1343         mktime, timegm: simplify glibc time64_t
1344         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
1345         Now long int, not time_t, since long int is the longstanding type
1346         for this in glibc and there is no need to change it even if time_t
1347         becomes 64 bits - even int would do, though this would be a change
1348         to the glibc generated code.  When this change is merged into
1349         glibc, it should simplify the time_t vs time64_t situation.
1351         mktime, timegm: simplify merge to glibc
1352         Move code around to make a merge to glibc easier to audit.
1353         This should not change behavior.
1354         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
1355         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
1356         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
1357         simplify later conditionals; default the others to zero.  In uses
1358         of these conditionals, explicitly spell out how _LIBC affects
1359         things, so it’s easier to review from a glibc viewpoint.
1360         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
1361         compartmentalize tzset issues.  Move system-dependent tzsettish
1362         code here from mktime.
1363         (mktime): Move tzsettish code to my_tzset, and move
1364         localtime_offset to within mktime so that it doesn’t
1365         need a separate ifdef.
1367 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
1369         intprops: avoid evaluation of some expressions
1370         This makes EXPR_SIGNED (e) easier to use, as it no longer
1371         evaluates the expression E.  Formerly, E was required to be free
1372         of side effects.
1373         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
1374         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
1375         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
1377 2018-08-23  Bruno Haible  <bruno@clisp.org>
1379         getcwd: Add cross-compilation guesses.
1380         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
1381         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
1382         Based on a patch by Paul Eggert.
1383         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
1384         guesses for all GNU systems.
1386 2018-08-19  Bruno Haible  <bruno@clisp.org>
1388         glob-h: Formalize side effects from other modules.
1389         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
1390         * m4/glob.m4 (gl_GLOB): Invoke it.
1392         fnmatch-h: Formalize side effects from other modules.
1393         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
1394         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
1396         limits-h: Formalize side effects from other modules.
1397         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
1398         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
1400 2018-08-19  Bruno Haible  <bruno@clisp.org>
1402         getpass: Move declaration to <unistd.h>.
1403         * lib/unistd.in.h (getpass): New declaration.
1404         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
1405         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
1406         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
1407         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
1408         On glibc systems, don't set REPLACE_GETPASS to 1.
1409         * modules/getpass (Depends-on): Add 'unistd'.
1410         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
1411         (Include): Specify <unistd.h> instead of "getpass.h".
1412         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
1413         (configure.ac): Sync with the configure.ac section of modules/getpass.
1414         (Include): Specify <unistd.h> instead of "getpass.h".
1415         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
1416         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
1417         REPLACE_GETPASS.
1418         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
1419         REPLACE_GETPASS.
1420         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
1421         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
1422         and musl.
1423         * NEWS: Mention the change.
1425 2018-08-19  Bruno Haible  <bruno@clisp.org>
1427         glob: Fix over-optimization due to attribute __nonnull__.
1428         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
1430 2018-08-19  Bruno Haible  <bruno@clisp.org>
1432         glob: Fix another compilation error when glob.h is not replaced.
1433         Reported by Reuben Thomas <rrt@sc3d.org> in
1434         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
1435         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
1436         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
1438 2018-08-18  Bruno Haible  <bruno@clisp.org>
1440         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
1441         Reported by Reuben Thomas <rrt@sc3d.org> in
1442         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
1443         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
1444         in config.h.
1446 2018-08-18  Bruno Haible  <bruno@clisp.org>
1448         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
1449         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
1450         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
1451         Solution proposed by Eli Zaretskii.
1452         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
1453         * lib/gettimeofday.c (GetProcAddress): Likewise.
1454         * lib/link.c (GetProcAddress): Likewise.
1455         * lib/physmem.c (GetProcAddress): Likewise.
1456         * lib/poll.c (GetProcAddress): Likewise.
1457         * lib/select.c (GetProcAddress): Likewise.
1458         * lib/stat-w32.c (GetProcAddress): Likewise.
1460 2018-08-18  Bruno Haible  <bruno@clisp.org>
1462         glob: Fix another compilation error when glob.h is not replaced.
1463         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
1464         * lib/globfree.c: Include <libc-config.h>.
1466 2018-08-18  Bruno Haible  <bruno@clisp.org>
1468         glob: Fix compilation error when glob.h is not replaced.
1469         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
1470         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
1471         * lib/glob_pattern_p.c: Include <libc-config.h>.
1472         * modules/glob (Depends-on): Add libc-config.
1474 2018-08-18  Bruno Haible  <bruno@clisp.org>
1476         scratch_buffer: Add tests.
1477         * tests/test-scratch-buffer.c: New file.
1478         * modules/scratch_buffer-tests: New file.
1480 2018-08-18  Bruno Haible  <bruno@clisp.org>
1482         scratch_buffer: Fix include file.
1483         Reported by Reuben Thomas <rrt@sc3d.org> in
1484         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
1485         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
1486         double-inclusion guard.
1488 2018-08-18  Bruno Haible  <bruno@clisp.org>
1490         glob-h: Revert Paul Eggert's revert.
1491         * m4/glob_h.m4: Revert to previous state.
1492         * modules/glob-h: Likewise.
1494 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
1496         glob-h: always build glob.h
1497         This works around a problem reported by Reuben Thomas in:
1498         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
1499         This workaround always builds glob.h, even on platforms that
1500         do not need it; perhaps this could be improved someday.
1501         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
1502         is always created now.
1503         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
1505 2018-08-13  Bruno Haible  <bruno@clisp.org>
1507         monetary: Simplify m4 code.
1508         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
1509         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
1511 2018-08-13  Bruno Haible  <bruno@clisp.org>
1513         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
1514         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
1515         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
1516         and by Paul J. Lucas <paul@lucasmail.org> in
1517         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
1518         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
1520 2018-08-11  Bruno Haible  <bruno@clisp.org>
1522         setlocale: Trivial simplification.
1523         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
1525 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
1527         verify: port 'assume' to traditional tools
1528         * lib/verify.h (assume): Port better to Oracle Studio 12.6
1529         and other tools that use /*NOTREACHED*/ comments.
1531 2018-08-10  Bruno Haible  <bruno@clisp.org>
1533         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
1534         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1535         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
1536         'fnmatch-gnu' is in use.
1538 2018-08-07  Bruno Haible  <bruno@clisp.org>
1540         glob-h: Add tests.
1541         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
1542         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
1543         tests/test-glob-h.c.
1544         * modules/glob-h-tests: New file.
1545         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
1546         conditions.
1547         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
1548         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
1550 2018-08-07  Bruno Haible  <bruno@clisp.org>
1552         glob-h: New module.
1553         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
1554         replacements.
1555         * lib/glob.c: Include <config.h>.
1556         * m4/glob_h.m4: New file.
1557         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
1558         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1559         REPLACE_GLOB_PATTERN_P as appropriate.
1560         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
1561         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
1562         * modules/glob-h: New file.
1563         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
1564         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
1565         lstat, sys_stat. Change conditions.
1566         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
1567         REPLACE_GLOB_PATTERN_P. Set module indicator.
1568         (Makefile.am): Remove code that is moved to glob-h.
1569         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
1570         * modules/posixcheck (Depends-on): Add glob-h.
1572 2018-08-06  Bruno Haible  <bruno@clisp.org>
1574         Force generation of substitute .h file when C++ support is enabled.
1575         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
1576         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
1577         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
1578         FNMATCH_H to non-empty.
1579         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
1580         ICONV_H to non-empty.
1581         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
1582         MONETARY_H to non-empty.
1583         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
1584         non-empty.
1586 2018-08-06  Bruno Haible  <bruno@clisp.org>
1588         fnmatch-h: Fix test compilation error on mingw (regression from today).
1589         * lib/fnmatch.in.h: Fix conditions.
1591 2018-08-06  Bruno Haible  <bruno@clisp.org>
1593         sys_resource: Relicense under LGPLv2+.
1594         John Malmberg's approval is in
1595         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
1596         * modules/sys_resource (License): Change to LGPLv2+.
1598 2018-08-06  Bruno Haible  <bruno@clisp.org>
1600         fnmatch-h: Add tests.
1601         * tests/test-fnmatch-h.c: New file.
1602         * modules/fnmatch-h-tests: New file.
1603         * tests/test-fnmatch-h-c++.cc: New file.
1604         * modules/fnmatch-h-c++-tests: New file.
1606 2018-08-06  Bruno Haible  <bruno@clisp.org>
1608         fnmatch-h: New module.
1609         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
1610         replacements.
1611         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
1612         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
1613         'posixcheck' warning.
1614         * m4/fnmatch_h.m4: New file.
1615         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
1616         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
1617         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
1618         as appropriate.
1619         * modules/fnmatch-h: New file.
1620         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
1621         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
1622         conditions.
1623         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
1624         indicator.
1625         (Makefile.am): Remove code that is moved to fnmatch-h.
1626         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
1627         REPLACE_FNMATCH.
1628         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
1629         * modules/posixcheck (Depends-on): Add fnmatch-h.
1631 2018-08-06  Bruno Haible  <bruno@clisp.org>
1633         Enable more C++ tests.
1634         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
1635         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
1636         * modules/strings-tests (Depends-on): Add strings-c++-tests.
1637         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
1638         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
1640 2018-08-06  Bruno Haible  <bruno@clisp.org>
1642         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
1643         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
1644         getopt.h.
1645         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
1647 2018-08-05  Bruno Haible  <bruno@clisp.org>
1649         utime-h: Generate header file when module 'posixcheck' is in use.
1650         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
1651         UTIME_H to non-empty.
1653 2018-08-05  Bruno Haible  <bruno@clisp.org>
1655         monetary: Generate header file when module 'posixcheck' is in use.
1656         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
1657         use, set MONETARY_H to non-empty.
1659 2018-08-05  Bruno Haible  <bruno@clisp.org>
1661         iconv-h: Generate header file when module 'posixcheck' is in use.
1662         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
1663         set ICONV_H to non-empty.
1665 2018-08-05  Bruno Haible  <bruno@clisp.org>
1667         Optimize the "checking whether ... is declared without a macro" checks.
1668         Suggested by Paul Eggert in
1669         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
1670         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
1671         Gnulib module 'posixcheck' is not in use.
1673 2018-08-05  Bruno Haible  <bruno@clisp.org>
1675         iconv-h: Enable 'posixcheck' warnings.
1676         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
1677         iconv_open.
1678         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
1680 2018-08-05  Bruno Haible  <bruno@clisp.org>
1682         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
1683         * m4/extern-inline.m4: Add more comments.
1684         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
1685         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
1686         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
1688 2018-08-04  Bruno Haible  <bruno@clisp.org>
1690         New module 'posixcheck'.
1691         * modules/posixcheck: New file.
1692         * m4/posixcheck.m4: New file.
1693         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
1694         (Which modules?): Reference it.
1696 2018-08-01  Assaf Gordon <assafgordon@gmail.com>
1698         dfa: fix memory leak
1699         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
1701 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1703         ieee754-h: new module
1704         It looks like Emacs can use this for some NaN processing.
1705         Emacs uses it only on double NaNs so it should be safe.
1706         * MODULES.html.sh (func_all_modules): Add ieee754-h.
1707         * config/srclist.txt: Mention ieee754.h in a comment.
1708         * doc/glibc-headers/ieee754.texi (ieee754.h):
1709         Gnulib now has a substitute that should work
1710         except for long double and for non-IEEE platforms.
1711         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
1712         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
1714 2018-07-27  Bruno Haible  <bruno@clisp.org>
1716         iswcntrl: Mention minor problem on macOS.
1717         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
1719 2018-07-26  Colin Watson  <cjwatson@debian.org>
1721         bootstrap, gnulib-tool: fix translations rsync
1722         Previously, we created files such as $pobase/Makefile.in.in and then the
1723         subsequent rsync would immediately delete them.
1724         * build-aux/bootstrap (po_download_command_format): Avoid deleting
1725         non-.po files in target directory when rsyncing translations.
1726         * gnulib-tool (func_import): Likewise.
1727         * pygnulib/GLImport.py (GLImport.execute): Likewise.
1729 2018-07-25  Jim Meyering  <meyering@fb.com>
1731         bootstrap: reinstate definition fo gnulib_mk.
1732         That variable is used at least by cppi.
1733         * build-aux/bootstrap (gnulib_mk): Restore definition.
1734         This reverts the deletion from v0.1-1844-gc66dba9ba.
1736 2018-07-23  Bruno Haible  <bruno@clisp.org>
1738         doc: For module names, use texinfo markup @code{} or @samp{}.
1739         * doc/alloca.texi: Mark gnulib module names with @code.
1740         * doc/alloca-opt.texi: Likewise.
1741         * doc/quote.texi: Likewise.
1742         * doc/posix-functions/freopen.texi: Likewise.
1743         * doc/posix-functions/open.texi: Likewise.
1744         * doc/posix-functions/readlink.texi: Likewise.
1745         * doc/posix-functions/readlinkat.texi: Likewise.
1746         * doc/posix-functions/stdout.texi: Likewise.
1747         * doc/posix-functions/stderr.texi: Likewise.
1748         * doc/posix-functions/unlink.texi: Likewise.
1749         * doc/posix-functions/unlinkat.texi: Likewise.
1750         * doc/posix-functions/utime.texi: Likewise.
1751         * doc/posix-functions/utimensat.texi: Likewise.
1752         * doc/posix-functions/utimes.texi: Likewise.
1753         * doc/posix-headers/stdint.texi: Likewise.
1754         * doc/glibc-functions/futimesat.texi: Likewise.
1755         * doc/glibc-functions/lutimes.texi: Likewise.
1756         * doc/glibc-functions/memmem.texi: Likewise.
1758 2018-07-23  Werner LEMBERG  <wl@gnu.org>
1760         doc: Avoid some overfull lines in the TeX output.
1761         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
1762         @example.
1763         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
1764         newline before the long URL.
1765         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
1766         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
1767         Add line breaks in code snippets.
1769 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1771         hard-locale: simplify by removing hard-locale.m4
1772         * m4/hard-locale.m4: Remove.
1773         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
1774         (configure.ac): Do not call gl_HARD_LOCALE.
1776         gnulib-tool: limit line length for git send-email
1777         * gnulib-tool (func_import): Break actioncmd log line
1778         into multiple lines.
1780 2018-07-16  Bruno Haible  <bruno@clisp.org>
1782         ffs: Ensure declaration on mingw.
1783         Reported by Daniel P. Berrangé <berrange@redhat.com>
1784         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
1785         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
1786         also declared.
1788 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1790         regex-tests: add dependency
1791         * modules/regex-tests (Depends-on): Add gettext-h.
1792         This is needed given the recent changes to regex,
1793         which no longer depends on gettext-h.
1795 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1797         regex: now in sync with glibc
1798         * config/srclist.txt: Gnulib and glibc regex code
1799         are synchronized again.
1801 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1803         renameatu: rename from renameat2
1804         It's looking like Glibc will add a renameat2 function
1805         that is incompatible with Gnulib renameat2; see:
1806         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
1807         To help avoid future confusion, rename renameat2 to something else.
1808         Use the name 'renameatu', as the Gnulib function is close to the
1809         Glibc function.  Perhaps someday there will also be a renameat2
1810         Gnulib module, which mimicks the future glibc renameat2, but that
1811         can wait as nobody seems to need such a module now.
1812         * NEWS: Mention this.
1813         * lib/renameatu.c: Rename from lib/renameat2.c.
1814         * lib/renameatu.h: Rename from lib/renameat2.h.
1815         * modules/renameatu: Rename from modules/renameat2.
1816         * modules/renameatu-tests: Rename from modules/renameat2-tests.
1817         All uses of "renameat2" in identifiers or file name
1818         changed to "renameatu", except for two instances in
1819         lib/renameatu.c that deal with the Linux kernel's
1820         renameat2 syscall.
1822 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1824         gnulib-tool: minor tweaks for --gnu-make
1825         * gnulib-tool: Do not allow --gnu-make in test modes,
1826         since they all require automake.
1827         (func_emit_lib_Makefile_am): Don’t emit automake comment
1828         if --gnu-make.
1830         regex: work around conditional-dependencies glitch
1831         * modules/regex (Depends-on): Add langinfo.
1832         Without this change, I had problems building an experimental
1833         version of GNU Emacs.  The symptom of the bug was a message
1834         ‘./configure: line 12726: test: =: unary operator expected’.
1835         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
1836         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
1837         was unset.  Although gl_FUNC_NL_LANGINFO has
1838         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
1839         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
1840         --conditional-dependencies sometimes arranges for the
1841         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
1842         code.  Since the regex code includes <langinfo.h> it should be
1843         depending on the langinfo module anyway, and this happens to work
1844         around the bug, so install that as a workaround for now.  To
1845         reproduce the original problem, run the following shell script on
1846         the version of Gnulib just before this patch was installed.
1847                 rm -fr foo
1848                 mkdir foo
1849                 cat >foo/configure.ac <<'EOF'
1850                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
1851                 gl_EARLY
1852                 gl_INIT
1853                 AC_OUTPUT
1854                 EOF
1855                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
1856                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
1857                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
1858                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
1859                 cd foo
1860                 aclocal -I m4
1861                 autoconf
1862                 ./configure --with-included-regex
1864 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1866         wchar: fix bug when checking for ‘inline’
1867         I discovered this when looking into using the regex module
1868         with Emacs.
1869         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
1870         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
1871         conftest1.c and conftest2.c but these files were not created.
1872         As far as I can see, this check never worked and nobody reported
1873         it until now, which is a bit worrisome.
1875 2018-06-30  Jim Meyering  <meyering@fb.com>
1877         bootstrap: s/--option val/--option=val/
1878         * build-aux/bootstrap (gnulib_tool_options): Change the
1879         spelling of "--option val" pairs to "--option=val", for
1880         aesthetics, and also so that this file no longer triggers
1881         a common help2man syntax-check warning when copied into
1882         projects like grep, gzip, etc.
1884 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
1886         manywarnings: omit -Wswitch-default
1887         This should make things more consistent, as we already ignore
1888         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
1889         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
1890         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
1891         Add -Wswitch-default.
1892         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
1893         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1894         Remove -Wswitch-default.
1896         regex: revert most trimming
1897         Problems reported by Bruno Haible in:
1898         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
1899         * modules/regex (Depends-on): Add lock, memcmp, memmove,
1900         and wctype back in.  lock because regex users shouldn’t
1901         need to know that regex needs locking, and the rest because
1902         gnulib-tool should ordinarily ignore them anyway.
1904 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1906         regex: trim module dependencies
1907         * modules/regex (Depends-on): Remove gettext-h and lock,
1908         since the regex code should work OK without these modules,
1909         and Emacs uses it that way.  Also remove memcmp, memmove,
1910         and wctype, as these modules are obsolete and should not be
1911         needed any more.
1913 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
1915         regex: glibc does not use intprops.h
1916         Maybe we can talk glibc into using intprops.h someday, but
1917         now doesn’t seem to be a good time.
1918         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
1919         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
1920         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
1922 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1924         regex: port to recently proposed glibc regex merge
1925         This patch is inspired by Adhemerval Zanella's recent proposal
1926         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
1927         to merge glibc and Gnulib regex.  It aims to simplify the merge on
1928         the glibc side, without keeping Gnulib portable.
1929         * lib/regex.h: Fix a problem with glibc installed-header checking,
1930         as follows:
1931         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
1932         (_Restrict_arr_): Prefer __restrict_arr if defined,
1933         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
1934         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
1935         (build_wcs_upper_buffer, build_upper_buffer)
1936         (re_string_translate_buffer, re_string_context_at):
1937         Move decls here from lib/regex_internal.h, for glibc internal tests.
1938         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
1939         glibc BZ #18496.
1940         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
1941         -Wunused-value.
1942         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
1943         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1944         (bitset_mask): Now static inline, and without any __attribute__
1945         ((unused)) decoration, for glibc internal tests.
1947 2018-06-25  Bruno Haible  <bruno@clisp.org>
1949         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
1950         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
1951         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
1952         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
1953         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
1954         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
1955         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
1956         / -lthread / -lpth does not get optimized away by a preceding
1957         --as-needed option.
1959 2018-06-25  Bruno Haible  <bruno@clisp.org>
1961         Continue to use spaces for indentation, not tabs.
1962         * MODULES.html.sh: Untabify.
1963         * doc/regex.texi: Likewise.
1964         * lib/acl-internal.c: Likewise.
1965         * lib/dfa.c: Likewise.
1966         * lib/exclude.c: Likewise.
1967         * lib/exclude.h: Likewise.
1968         * lib/get-permissions.c: Likewise.
1969         * lib/gettimeofday.c: Likewise.
1970         * lib/parse-datetime.y: Likewise.
1971         * lib/pselect.c: Likewise.
1972         * lib/set-permissions.c: Likewise.
1973         * lib/time.in.h: Likewise.
1974         * m4/canonicalize.m4: Likewise.
1975         * m4/gc.m4: Likewise.
1976         * m4/gnulib-common.m4: Likewise.
1977         * m4/pthread_sigmask.m4: Likewise.
1978         * m4/vararrays.m4: Likewise.
1979         * tests/test-digest.h: Likewise.
1980         * tests/test-fcntl-h.c: Likewise.
1981         * tests/test-timespec.c: Likewise.
1982         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
1984 2018-06-25  Bruno Haible  <bruno@clisp.org>
1986         manywarnings: Don't enable -Wjump-misses-init warnings by default.
1987         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
1988         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
1989         -Wjump-misses-init.
1991 2018-06-25  Jim Meyering  <meyering@fb.com>
1993         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
1994         * lib/acl-internal.h (free_permission_context): Remove that
1995         attribute directive.  Otherwise, it would provoke this from GCC 9:
1996         lib/acl-internal.h:300:3: error: 'const' attribute on function \
1997           returning 'void' [-Werror=attributes]
1999 2018-06-24  Jim Meyering  <meyering@fb.com>
2001         parse-datetime: accommodate gcc-4.8.5
2002         Bruno Haible reported the build failure in
2003         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
2004         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
2005         on declaration of new local.
2007 2018-06-24  Bruno Haible  <bruno@clisp.org>
2009         af_alg: Fail in continuable manner on Linux/powerpc64le.
2010         Reported by Assaf Gordon <assafgordon@gmail.com>
2011         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
2012         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
2013         byte send() as the first round.
2015 2018-06-24  Bruno Haible  <bruno@clisp.org>
2017         af_alg: Fix state of stream after sendfile() succeeds.
2018         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
2019         the stream is correctly positioned afterwards.
2020         * modules/crypto/af_alg (Depends-on): Add fflush.
2021         * tests/test-digest.h (test_digest_on_files): Verify that after the
2022         operation the stream is positioned at end of file.
2024 2018-06-24  Jim Meyering  <meyering@fb.com>
2026         canon-host: take GCC9's advice rather than ignoring warning
2027         Pádraig Brady suggested not to ignore this GCC9 advice.
2028         * lib/canon-host.c: Undo preceding change.
2029         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
2031         parse-datetime.y: avoid spurious GCC 9 warning
2032         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
2033         a function local prior to the first "goto fail".  The prior use would
2034         evoke this:
2035         parse-datetime.y: In function 'parse_datetime2':
2036         parse-datetime.y:1791:19: error: jump skips variable initialization \
2037           [-Werror=jump-misses-init]
2038         parse-datetime.y:2385:2: note: label 'fail' defined here
2039         parse-datetime.y:188:43: note: '({anonymous})' declared here
2040         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
2042         canon-host.c: avoid spurious GCC 9 warning
2043         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
2045         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
2046         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
2047         * m4/manywarnings.m4: Remove them.
2048         Otherwise, building coreutils, I would see this:
2049         cc1: error: deprecated command line option '-Wchkp' [-Werror]
2050         cc1: error: -Wabi won't warn about anything [-Werror=abi]
2051         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
2052           which is also used by default
2053         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
2055 2018-06-24  Bruno Haible  <bruno@clisp.org>
2057         af_alg tests: Add another test.
2058         * tests/test-digest.h (test_digest_on_files): Also check a large file
2059         with a skipped header.
2060         * tests/test-md5.c: Include macros.h.
2061         * tests/test-sha1.c: Likewise.
2062         * tests/test-sha256.c: Likewise.
2063         * tests/test-sha512.c: Likewise.
2064         * modules/crypto/md5-tests (Files): Add tests/macros.h.
2065         * modules/crypto/sha1-tests (Files): Likewise.
2066         * modules/crypto/sha256-tests (Files): Likewise.
2067         * modules/crypto/sha512-tests (Files): Likewise.
2069 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2071         maint: clarify comments about sticky EOF
2072         * lib/af_alg.c: Be more direct that we can't
2073         assume stickiness of EOF for portability reasons.
2074         * lib/md5.c: Clarify that this isn't just a glibc issue.
2075         * lib/sha1.c: Likewise.
2076         * lib/sha256.c: Likewise.
2077         * lib/sha512.c: Likewise.
2079 2018-06-24  Bruno Haible  <bruno@clisp.org>
2081         af_alg: Comment and style improvements.
2082         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
2083         (afalg_buffer, afalg_stream): Improve comments.
2085 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2087         af_alg: disable kernel hash functions by default
2088         All the kernel routines were seen to be significantly slower
2089         with these relatively recent components on an i3-2310M system:
2090           kernel-4.10.6-200.fc25.x86_64
2091           openssl-1.0.2m-1.fc25.x86_64
2092         sha1 was nearly twice as slow in the kernel for example.
2093         Further considerations why this should not be the default, at:
2094         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
2096         * m4/af_alg.m4: Require --with-linux-crypto to enable.
2097         * m4/gl-openssl.m4: Tweak accordingly.
2099 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2101         af_alg: avoid hangs when reading from streams
2102         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
2103         and thus avoid doing a fread() when feof() is set.
2104         * lib/md5.c: Ensure feof() is called before fread().
2105         * lib/sha1.c: Likewise.
2106         * lib/sha256.c: Likewise.
2107         * lib/sha512.c: Likewise.
2109 2018-06-24  Pádraig Brady  <P@draigBrady.com>
2111         af_alg: fix error handling when hash not returned
2112         * lib/af_alg.c (afalg_stream): Handle the case where we've
2113         successfully written data to the kernel in the read/write loop,
2114         but the kernel doesn't respond with the hash.
2116 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2118         libc-config: merge from glibc
2119         * lib/cdefs.h (__inline, __restrict):
2120         Copy from current glibc.  This fixes glibc bug 17721,
2121         which Gnulib had already fixed in a different way.
2122         (__nonnull): Lessen the distance from glibc by using the
2123         glibc definition inside an ‘#ifndef __nonnull’.
2124         (__attribute_nonstring__): New macro, copied from
2125         current glibc.
2126         * lib/libc-config.h (__attribute_nonstring__): New undef.
2127         (__restrict): Remove; workaround no longer needed.
2128         Keep the __inline workaround, though, as it uses HAVE___INLINE to
2129         support more compilers than the glibc __inline can.
2131 2018-06-24  Bruno Haible  <bruno@clisp.org>
2133         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
2134         * lib/mbrtowc.c (enc_t): New enum type.
2135         (locale_enc, locale_enc_cached): New functions.
2136         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
2137         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
2138         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
2139         instead.
2140         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
2141         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
2142         * modules/wcwidth (configure.ac): Invoke it.
2144 2018-06-24  Bruno Haible  <bruno@clisp.org>
2146         wchar-single: Fix test failure in wcwidth tests.
2147         * tests/test-wcwidth.c (main): If the wchar-single module is present,
2148         skip the tests in the C locale.
2150 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2152         crypto: mention --without-linux-crypto in --with-openssl --help
2153         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
2154         routines take precedence in --with-openssl help output.
2156 2018-06-23  Pádraig Brady  <P@draigBrady.com>
2158         wchar-single: a new module to enable optimizations in wchar replacements
2159         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
2160         GNULIB_WCHAR_SINGLE is enabled.
2161         * lib/wcwidth.c (wcwidth): Likewise.
2163 2018-06-23  Bruno Haible  <bruno@clisp.org>
2165         libc-config: Fix conflict with FreeBSD include files.
2166         * lib/cdefs.h (__nonnull): Remove definition.
2167         * lib/libc-config.h (__nonnull): Remove undefinition.
2169 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2171         random_r: do not crash if state is unaligned
2172         Problem reported by Bruce Korb in:
2173         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
2174         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
2175         with 'cc -O2 -xmemalign=8s'.
2176         * lib/random_r.c: Include string.h, for memcpy.
2177         (get_int32, set_int32): New functions.
2178         (__srandom_r, __initstate_r, __setstate_r, __random_r):
2179         Use them to avoid assumption that state pointer is aligned.
2180         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
2181         * tests/test-random_r.c (test_failed): New function.
2182         (main): Use it, to test for alignment bugs.
2184         random_r: omit unnecessary include
2185         * lib/random_r.c: Do not include limits.h.
2187         random, random_r: merge from glibc
2188         * lib/random.c, lib/random_r.c:
2189         Include libc-config.h if !_LIBC, not config.h unilaterally.
2190         * lib/random.c:
2191         Do not include stdint.h or time.h; not needed.
2192         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
2193         (unsafe_state): Rename from generator.  All uses changed.
2194         Use C99-style initializers.
2195         (__random, __srandom, __initstate, __setstate): Rename from
2196         non-underscored version, but define it to non-underscored version
2197         on Gnulib.  Add a lock.
2198         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
2199         Likewise.
2200         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
2201         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
2202         (__srandom_r): Use int32_t instead of long int where int32_t will do.
2203         (__random_r): Use uint32 to fix glibc bug 17343.
2204         * modules/random, modules/random_r (Depends-on): Add libc-config.
2205         Depend on stdint only if $HAVE_RANDOM = 0.
2207 2018-06-19  Jim Meyering  <meyering@fb.com>
2209         README-release: also run any check-very-expensive tests
2210         * top/README-release: Adjust instructions so they run the
2211         check-very-expensive tests when there is such a target.
2213 2018-06-18  Bruno Haible  <bruno@clisp.org>
2215         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
2216         * m4/pthread_rwlock_rdlock.m4: Add comment.
2217         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
2218         are reader-preferring in glibc.
2219         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
2220         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
2222 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
2224         crypto: use byteswap
2225         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
2226         * lib/sm3.c: Include <byteswap.h>.
2227         (SWAP): Use its macros rather than reinventing the wheel.
2228         * modules/crypto/md4, modules/crypto/md5-buffer:
2229         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
2230         * modules/crypto/sha512-buffer, modules/crypto/sm3:
2231         (Depends-on): Add byteswap.
2233 2018-06-17  Pádraig Brady  <P@draigBrady.com>
2235         gendocs.sh: fix support for legacy --texi2html
2236         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
2237         to the default makeinfo invocation.
2238         Reported by Bruce Korb
2240 2018-06-17  Bruno Haible  <bruno@clisp.org>
2242         gettext po infrastructure: Update from current gettext git.
2243         Reported by Akim Demaille <akim@lrde.epita.fr>.
2244         * build-aux/po/Makefile.in.in: Update from current gettext git.
2245         * build-aux/po/remove-potcdate.sin: Likewise.
2246         * config/srclist.txt: Temporarily disable sync for these files.
2248 2018-06-17  Bruno Haible  <bruno@clisp.org>
2250         getloadavg: Return 0 on Windows without Cygwin.
2251         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
2253 2018-06-17  Paul Smith  <psmith@gnu.org>
2255         getloadavg: Allow building on Windows without Cygwin
2256         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
2257         * m4/getloadavg.m4: Check for unistd.h.
2259 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2261         Port crypto/af_alg to GCC 4.8.4
2262         Problem reported by Peter Simons in:
2263         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
2264         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
2266 2018-05-27  Colin Watson  <cjwatson@debian.org>
2268         bootstrap: document source fetching in --help
2269         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
2271 2018-04-09  Colin Watson  <cjwatson@debian.org>
2273         bootstrap: allow non-submodule control of gnulib
2274         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
2275         bootstrap.conf when fetching gnulib using "git clone" or via
2276         GNULIB_SRCDIR.
2278 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
2280         crypto: omit stream ops Emacs doesn’t need
2281         * lib/md5.c (md5_stream):
2282         * lib/sha1.c (sha1_stream):
2283         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
2284         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2285         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
2286         defined.  Emacs needs this, as it does not use the stream
2287         operations and doesn’t need all the af_alg stuff we’ve recently
2288         added.  Perhaps a similar change is needed to the other crypto
2289         modules, but this patch changes only those needed for Emacs.
2290         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
2291         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
2292         New modules, used by Emacs.
2293         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2294         * modules/crypto/sha512: Rewrite to depend on the new modules.
2296 2018-05-20  Pádraig Brady  <P@draigBrady.com>
2298         fts: avoid a memory leak edge case
2299         * lib/fts.c (fts_open): Set an appropriate fts_level
2300         so that an immediate fts_close() will free the allocation.
2301         * tests/test-fts.c (fts_dealloc): Add a test case which
2302         will trigger under valgrind or address sanitizer.
2303         Fixes https://bugs.gnu.org/31439
2305 2018-05-20  Bruno Haible  <bruno@clisp.org>
2307         wcwidth tests: Fix link error.
2308         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
2309         $(LIBUNISTRING).
2311 2018-05-20  Bruno Haible  <bruno@clisp.org>
2313         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
2314         * modules/regex (Files): Add m4/glibc21.m4.
2316 2018-05-20  Bruno Haible  <bruno@clisp.org>
2318         localcharset: Optimize.
2319         * lib/localcharset.c (alias_table): Comment out no-op mappings for
2320         platforms where these don't matter. This reduces the table size,
2321         which in turn reduces the lookup time.
2323 2018-05-19  Bruno Haible  <bruno@clisp.org>
2325         localcharset: Map the locale encodings found in newer OSes.
2326         * lib/localcharset.c (alias_table): Add mapping for locale encodings
2327         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
2328         IRIX 6.5, Minix 3.3.
2329         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
2331 2018-05-19  Bruno Haible  <bruno@clisp.org>
2333         localcharset: Move mapping tables into the code. Use a binary search.
2334         * lib/localcharset.h: Document the GNU canonical names for character
2335         encodings here.
2336         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
2337         relocatable.h, configmake.h.
2338         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
2339         macros.
2340         (charset_aliases): Remove variable.
2341         (get_charset_aliases): Remove function.
2342         (struct table_entry): New type.
2343         (alias_table, locale_table): New constants.
2344         (locale_charset): Use the alias_table or locale_table to get the
2345         canonicalized encoding name.
2346         * lib/config.charset: Remove file.
2347         * lib/ref-add.sin: Remove file.
2348         * lib/ref-del.sin: Remove file.
2349         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
2350         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
2351         * modules/localcharset (Notice): Remove.
2352         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
2353         glibc21.m4.
2354         (Depends-on): Remove configmake.
2355         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
2356         (Makefile.am): Simplify.
2357         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
2359 2018-05-19  Bruno Haible  <bruno@clisp.org>
2361         localcharset: Add a manual test.
2362         * tests/test-localcharset.c: New file.
2363         * modules/localcharset-tests: New file.
2365 2018-05-19  Bruno Haible  <bruno@clisp.org>
2367         localcharset: Remove support for obsolete platforms.
2368         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
2369         Mac OS X 10.2. Comment out dubious entry for Solaris.
2371 2018-05-19  Jim Meyering  <meyering@fb.com>
2373         gnupload: adjust comment
2374         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
2375         more likely we'll remove the just-added code in a year or two.
2377 2018-05-19  Bruno Haible  <bruno@clisp.org>
2379         gnupload: Fix "gpg-agent is not available in this session" error.
2380         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
2382 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2384         crypto/af_alg: fix --help
2385         * m4/af_alg.m4: Avoid spurious newline in --help output.
2387 2018-05-13  Bruno Haible  <bruno@clisp.org>
2389         nl_langinfo: Fix compilation error on Android.
2390         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
2391         INT_CURR_SYMBOL, etc. only if these items are defined.
2393 2018-05-13  Bruno Haible  <bruno@clisp.org>
2395         truncate: Fix compilation error on Android.
2396         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
2397         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
2398         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
2399         HAVE_TRUNCATE.
2400         * modules/truncate: Likewise.
2401         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
2402         not HAVE_TRUNCATE.
2403         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
2404         HAVE_TRUNCATE.
2405         * doc/posix-functions/truncate.texi: Mention the issue.
2407 2018-05-13  Bruno Haible  <bruno@clisp.org>
2409         pthread: Fix compilation error on Android.
2410         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
2411         recursive inclusion of this file.
2413 2018-05-13  Bruno Haible  <bruno@clisp.org>
2415         posix_spawn: Fix compilation error on Android.
2416         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
2417         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
2418         (posix_spawn_file_actions_t): Consider also the case
2419         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
2421 2018-05-13  Bruno Haible  <bruno@clisp.org>
2423         tsearch: Move from K&R C to ANSI C.
2424         * lib/tsearch.c (tfind): Convert definition to ANSI C.
2426 2018-05-13  Bruno Haible  <bruno@clisp.org>
2428         tsearch: Fix compilation error on Android.
2429         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
2430         is 0.
2431         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
2432         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
2433         GNULIB_defined_tsearch is true.
2434         (twalk): Define only if GNULIB_defined_twalk is true.
2435         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
2436         is 0.
2437         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
2438         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
2439         * modules/search (Makefile.am): Substitute HAVE_TWALK.
2441 2018-05-13  Bruno Haible  <bruno@clisp.org>
2443         imaxdiv: Fix compilation error on Android.
2444         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
2445         is not defined.
2446         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
2447         HAVE_DECL_IMAXDIV, is 0.
2448         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
2449         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
2451 2018-05-13  Bruno Haible  <bruno@clisp.org>
2453         Support selective inclusion mechanism of recent mingw.org header files.
2454         Reported by Eli Zaretskii <eliz@gnu.org>.
2455         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
2456         __need_ssize_t, or __need_time_t is defined, just include the system's
2457         <sys/types.h>.
2458         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
2459         include the system's <locale.h>.
2461 2018-05-13  Bruno Haible  <bruno@clisp.org>
2463         Avoid compilation error due to 'mmap' on Android.
2464         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
2465         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
2466         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
2467         Undefine on Android.
2469 2018-05-13  Bruno Haible  <bruno@clisp.org>
2471         Add cross-compilation guesses for Linux systems without glibc.
2472         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
2473         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
2474         * m4/link.m4 (gl_FUNC_LINK): Likewise.
2475         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2476         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
2477         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
2478         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
2479         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
2480         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
2481         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
2482         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
2483         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2484         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
2485         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2486         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2487         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
2488         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2489         * m4/utimens.m4 (gl_UTIMENS): Likewise.
2491 2018-05-13  Bruno Haible  <bruno@clisp.org>
2493         getpagesize: Fix compilation error on Android.
2494         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
2495         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
2496         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
2497         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
2498         HAVE_GETPAGESIZE accordingly.
2499         * modules/getcwd (Files): Add m4/getpagesize.m4.
2501 2018-05-13  Bruno Haible  <bruno@clisp.org>
2503         tcgetsid: Fix compilation error on Android.
2504         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
2505         AC_CHECK_FUNC.
2507 2018-05-13  Bruno Haible  <bruno@clisp.org>
2509         getpass: Fix configure test for Android.
2510         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
2511         AC_CHECK_FUNC.
2513 2018-05-13  Bruno Haible  <bruno@clisp.org>
2515         ffs: Fix compilation error on Android.
2516         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
2518 2018-05-13  Bruno Haible  <bruno@clisp.org>
2520         mkfifo: Fix compilation error on Android.
2521         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
2522         AC_CHECK_FUNC.
2524 2018-05-13  Bruno Haible  <bruno@clisp.org>
2526         c-strtod: Fix configure test for Android.
2527         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
2528         AC_CHECK_FUNC.
2530 2018-05-13  Bruno Haible  <bruno@clisp.org>
2532         random: Fix compilation error on Android.
2533         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
2534         AC_CHECK_FUNC.
2536 2018-05-13  Bruno Haible  <bruno@clisp.org>
2538         grantpt: Fix compilation error on Android.
2539         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
2540         AC_CHECK_FUNC.
2542 2018-05-13  Bruno Haible  <bruno@clisp.org>
2544         stdioext: Fix compilation errors with newer Android headers.
2545         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
2546         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
2547         fallbacks for Android.
2548         * lib/fpending.c: Update comments.
2549         * lib/fpurge.c: Likewise.
2550         * lib/freadable.h: Likewise.
2551         * lib/freadable.c: Likewise.
2552         * lib/freadahead.c: Likewise.
2553         * lib/freading.h: Likewise.
2554         * lib/freadptr.c: Likewise.
2555         * lib/fseterr.c: Likewise.
2556         * lib/fwritable.h: Likewise.
2557         * lib/fwritable.c: Likewise.
2558         * lib/fwriting.h: Likewise.
2559         * lib/fwriting.c: Likewise.
2561 2018-05-13  Bruno Haible  <bruno@clisp.org>
2563         doc: Add info about Android versions 2.0 to 8.1.
2564         * doc/**/*.texi: Add info about functions in all released versions of
2565         Bionic.
2567 2018-05-12  Bruno Haible  <bruno@clisp.org>
2569         fseeko: On mingw, don't use the hidden function _fseeki64.
2570         Reported by Eli Zaretskii <eliz@gnu.org>.
2571         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
2572         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
2574 2018-05-12  Bruno Haible  <bruno@clisp.org>
2576         glob: Choose 'dirent_type' in a way that works better on mingw.
2577         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
2578         * lib/glob.c (dirent_type): Define as uint_fast32_t.
2580 2018-05-12  Bruno Haible  <bruno@clisp.org>
2582         execute, spawn-pipe: Avoid warning about redefining 'close'.
2583         Reported by Eli Zaretskii <eliz@gnu.org>.
2584         * lib/execute.c: Undefine 'close' before redefining it.
2585         * lib/spawn-pipe.c: Likewise.
2587 2018-05-12  Bruno Haible  <bruno@clisp.org>
2589         nanosleep: Avoid test failure on mingw when it has nanosleep.
2590         Reported by Eli Zaretskii <eliz@gnu.org>.
2591         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
2592         If it does not exist, use a simpler test program that does not call
2593         alarm().
2595 2018-05-10  Bruno Haible  <bruno@clisp.org>
2597         lock, cond, thread, tls: Use a different symbol as libpthread witness.
2598         Reported by Devin Hussey <husseydevin@gmail.com>.
2599         Based on a patch by Paul Eggert.
2600         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
2601         as witness of libpthread.
2602         * lib/glthread/cond.h (pthread_in_use): Likewise.
2603         * lib/glthread/thread.h (pthread_in_use): Likewise.
2604         * lib/glthread/tls.h (pthread_in_use): Likewise.
2606 2018-05-10  Bruno Haible  <bruno@clisp.org>
2608         cond tests: Fix compilation error on Solaris.
2609         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
2610         macro.
2612 2018-05-10  Bruno Haible  <bruno@clisp.org>
2614         doc: Add partial info about Android 4.3.
2615         * doc/*-functions/*.texi: Add info about functions that were added
2616         to Bionic between Android 4.3 and Android 9.0.
2618 2018-05-10  Bruno Haible  <bruno@clisp.org>
2620         doc: Add info about Android 9.0.
2621         * doc/**/*.texi: Add info about functions and headers in Bionic from
2622         Android 9.0.
2624 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
2626         af_alg: fix my typo in afalg_buffer
2627         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
2628         (afalg_stream): Simplify and avoid the need for a runtime test
2629         at the end.
2631         af_alg: recover better from crypto failures
2632         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
2633         input stream is seekable, by repositioning the stream back to
2634         where it was, possibly by just calling sendfile with an offset
2635         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
2636         cases, which lets our callers try again with user-mode code.
2637         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
2638         instead of on fflush and lseek.
2640         af_alg: distiguish I/O errors better
2641         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
2642         not -EIO, if it’s OK for the caller to try again with user-mode code.
2643         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
2644         some other error number) if fflush fails, as the caller should not
2645         try again that case.
2647         af_alg: avoid gotos
2648         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
2649         gotos, as they were a source of unreliability and made the code a
2650         bit harder to follow.
2652         af_alg: don’t leak file descriptors into children
2653         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
2654         This code should be compiled only on recent GNU/Linux platforms
2655         so we shouldn’t have to also depend on the accept4 module.
2657         af_alg: coalesce socket creation
2658         * lib/af_alg.c (alg_socket): New function.
2659         (afalg_buffer, afalg_stream): Use it.  This avoids some
2660         code duplication and gotos.
2662         af_alg: fix file descriptor leak
2663         * lib/af_alg.c (afalg_stream): Close leak.
2665         af_alg: Pacify --enable-gcc-warnings on GCC 8
2666         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
2667         and checking to pacify gcc -Wjump-misses-init on GCC 8.
2669 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2671         af_alg: Pacify --enable-gcc-warnings
2672         Problem reported by Assaf Gordon in:
2673         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
2674         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
2675         gcc -Wjump-misses-init.
2676         * lib/sha512.c (shaxxx_stream): Now static.
2678 2018-05-06  Bruno Haible  <bruno@clisp.org>
2680         af_alg: Add ability to use Linux kernel crypto API on data in memory.
2681         * lib/af_alg.h (afalg_buffer): New declaration.
2682         * lib/af_alg.c (afalg_buffer): New function.
2684 2018-05-06  Bruno Haible  <bruno@clisp.org>
2686         af_alg: Avoid warnings.
2687         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
2688         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
2690 2018-05-06  Bruno Haible  <bruno@clisp.org>
2692         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
2693         * tests/bench-digest.h: New file.
2694         * tests/bench-md5.c: New file.
2695         * tests/bench-sha1.c: New file.
2696         * tests/bench-sha224.c: New file.
2697         * tests/bench-sha256.c: New file.
2698         * tests/bench-sha384.c: New file.
2699         * tests/bench-sha512.c: New file.
2700         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
2701         tests/bench-digest.h.
2702         (Depends-on): Add getrusage, gettimeofday.
2703         (Makefile.am): Add variables to build bench-md5.
2704         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
2705         tests/bench-digest.h.
2706         (Depends-on): Add getrusage, gettimeofday.
2707         (Makefile.am): Add variables to build bench-sha1.
2708         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
2709         tests/bench-sha256.c, tests/bench-digest.h.
2710         (Depends-on): Add getrusage, gettimeofday.
2711         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
2712         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
2713         tests/bench-sha512.c, tests/bench-digest.h.
2714         (Depends-on): Add getrusage, gettimeofday.
2715         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
2717 2018-05-06  Bruno Haible  <bruno@clisp.org>
2719         af_alg: Fix a resource leak.
2720         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
2721         New local variable 'result'.
2723 2018-05-06  Bruno Haible  <bruno@clisp.org>
2725         af_alg: Fix bug with streams that are not at position 0.
2726         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
2727         assume that the stream is positioned at position 0.
2728         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
2729         of the stream.
2730         * lib/md5.h (md5_stream): Likewise.
2731         * lib/sha1.h (sha1_stream): Likewise.
2732         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
2733         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
2734         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
2736         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
2737         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
2738         stream that is not positioned at the beginning.
2740 2018-05-06  Bruno Haible  <bruno@clisp.org>
2742         af_alg: Add configure option to enable/disable use of Linux crypto API.
2743         Suggested by Assaf Gordon <assafgordon@gmail.com>.
2744         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
2745         USE_LINUX_CRYPTO_API.
2746         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
2747         * lib/af_alg.c: Likewise.
2749 2018-05-06  Bruno Haible  <bruno@clisp.org>
2751         Followup to 'af_alg: New module.'.
2752         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
2753         * modules/crypto/sha1 (Depends-on): Likewise.
2754         * modules/crypto/sha256 (Depends-on): Likewise.
2755         * modules/crypto/sha512 (Depends-on): Likewise.
2757 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2759         crypto/{md5,sha1,sha256,sha512}: simplify
2760         * lib/md5.c (md5_stream):
2761         * lib/sha1.c (sha1_stream):
2762         * lib/sha256.c (shaxxx_stream):
2763         Simplify, partly by assuming C99.
2764         * lib/sha256.c (shaxxx_stream):
2765         New function, which implements both sha256 and sha224.
2766         Simplify, partly by assuming C99.
2767         (sha256_stream, sha224_stream):
2768         Use it to avoid code duplication, removing a FIXME.
2769         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
2770         Likewise.
2772         af_alg: Improve comments.
2773         * lib/af_alg.h: Use imperatives and tighten up wording.
2775 2018-05-05  Bruno Haible  <bruno@clisp.org>
2777         af_alg: Improve comments.
2778         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
2780 2018-05-05  Bruno Haible  <bruno@clisp.org>
2782         af_alg: New module.
2783         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
2784         * lib/af_alg.c: Include "af_alg.h" before the other header files.
2785         * lib/md5.c: Include "af_alg.h" unconditionally.
2786         (md5_stream): Invoke afalg_stream unconditionally.
2787         * lib/sha1.c: Include "af_alg.h" unconditionally.
2788         (sha1_stream): Invoke afalg_stream unconditionally.
2789         * lib/sha256.c: Include "af_alg.h" unconditionally.
2790         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
2791         * lib/sha512.c: Include "af_alg.h" unconditionally.
2792         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
2793         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
2794         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
2795         * modules/crypto/af_alg: New file.
2796         * modules/crypto/md5 (Files): Remove files that are now in the
2797         'crypto/af_alg' module.
2798         (Depends-on): Add crypto/af_alg.
2799         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2800         (Makefile.am): Don't mention af_alg.c here.
2801         * modules/crypto/sha1 (Files): Remove files that are now in the
2802         'crypto/af_alg' module.
2803         (Depends-on): Add crypto/af_alg.
2804         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2805         (Makefile.am): Don't mention af_alg.c here.
2806         * modules/crypto/sha256 (Files): Remove files that are now in the
2807         'crypto/af_alg' module.
2808         (Depends-on): Add crypto/af_alg.
2809         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2810         (Makefile.am): Don't mention af_alg.c here.
2811         * modules/crypto/sha512 (Files): Remove files that are now in the
2812         'crypto/af_alg' module.
2813         (Depends-on): Add crypto/af_alg.
2814         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
2815         (Makefile.am): Don't mention af_alg.c here.
2817 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2819         crypto tests: pacify GCC
2820         * tests/test-digest.h (test_digest_on_files):
2821         Don’t assume digest size fits in int (!).
2823         af_alg: minor style improvements
2824         * lib/af_alg.c (afalg_stream): Prefer C99 style
2825         decl-after-statement, since we’re already assuming C99.  Clarify
2826         by strengthening the bind test and omit unnecessary assignment.
2828 2018-05-05  Bruno Haible  <bruno@clisp.org>
2830         af_alg: Fix bug on empty files.
2831         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
2832         stream is empty.
2834 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2836         sys-limits.h: new file for crypto and safe I/O
2837         * lib/af_alg.c: Include sys-limits.h.
2838         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
2839         (afalg_stream): Also reject negative sizes for sendfile; they
2840         should not happen and the code is a bit cleaner and faster this way.
2841         * lib/safe-read.c: Include sys-limits.h.
2842         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
2843         * lib/sys-limits.h: New file, with values and commentary derived
2844         from the old safe-read.c and from GNU Emacs sysdep.c.
2845         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
2846         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
2847         Add lib/sys-limits.h to Files section.
2849 2018-05-05  Bruno Haible  <bruno@clisp.org>
2851         af_alg: Improve function signature.
2852         * lib/af_alg.h (afalg_stream): Swap second and third argument.
2853         * lib/af_alg.c (afalg_stream): Likewise.
2854         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
2856 2018-05-05  Bruno Haible  <bruno@clisp.org>
2858         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
2859         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
2860         * modules/crypto/sha1 (Depends-on): Likewise.
2861         * modules/crypto/sha256 (Depends-on): Likewise.
2862         * modules/crypto/sha512 (Depends-on): Likewise.
2864 2018-05-05  Bruno Haible  <bruno@clisp.org>
2866         crypto/{md5,sha1,sha256,sha512}: Fix module description.
2867         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
2868         * modules/crypto/sha1 (Depends-on): Likewise.
2869         * modules/crypto/sha256 (Depends-on): Likewise.
2870         * modules/crypto/sha512 (Depends-on): Likewise.
2872 2018-05-05  Bruno Haible  <bruno@clisp.org>
2874         af_alg: Add documentation.
2875         * lib/af_alg.h: Add comments.
2877 2018-05-05  Bruno Haible  <bruno@clisp.org>
2879         sha512: Add tests.
2880         * tests/test-sha512.c: New file.
2881         * modules/crypto/sha512-tests: New file.
2883 2018-05-05  Bruno Haible  <bruno@clisp.org>
2885         sha256: Add tests.
2886         * tests/test-sha256.c: New file.
2887         * modules/crypto/sha256-tests: New file.
2889 2018-05-05  Bruno Haible  <bruno@clisp.org>
2891         sha1 tests: Add test for sha1_stream.
2892         * tests/test-sha1.c: Include test-digest.h.
2893         (main): Invoke test_digest_on_files on 'sha1_stream'.
2894         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
2896 2018-05-05  Bruno Haible  <bruno@clisp.org>
2898         md5 tests: Add test for md5_stream.
2899         * tests/test-digest.h: New file.
2900         * tests/test-md5.c: Include test-digest.h.
2901         (main): Invoke test_digest_on_files on 'md5_stream'.
2902         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
2904 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2906         md5sum: Use AF_ALG when available.
2907         * lib/md5.c: Include af_alg.h.
2908         (md5_stream): Use afalg_stream when available.
2909         * modules/crypto/md5 (Files): Add the af_alg files.
2910         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2911         (Makefile.am): Add af_alg.c.
2913 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2915         sha512sum: Use AF_ALG when available.
2916         * lib/sha512.c: Include af_alg.h.
2917         (sha512_stream, sha384_stream): Use afalg_stream when available.
2918         * modules/crypto/sha512 (Files): Add the af_alg files.
2919         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2920         (Makefile.am): Add af_alg.c.
2922 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2924         sha256sum: Use AF_ALG when available.
2925         * lib/sha256.c: Include af_alg.h.
2926         (sha256_stream, sha224_stream): Use afalg_stream when available.
2927         * modules/crypto/sha256 (Files): Add the af_alg files.
2928         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2929         (Makefile.am): Add af_alg.c.
2931 2018-04-28  Matteo Croce  <mcroce@redhat.com>
2933         sha1sum: Use AF_ALG when available.
2934         * lib/af_alg.h: New file.
2935         * lib/af_alg.c: New file.
2936         * lib/sha1.c: Include af_alg.h.
2937         (sha1_stream): Use afalg_stream when available.
2938         * m4/linux-if-alg.m4: New file.
2939         * modules/crypto/sha1 (Files): Add the new files.
2940         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
2941         (Makefile.am): Add af_alg.c.
2943 2018-05-05  Bruno Haible  <bruno@clisp.org>
2945         all: Replace more http URLs by https URLs.
2946         * lib/localename.c: Use https: URL.
2947         * lib/timespec.h: Likewise.
2949 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
2951         maint: port more modules to GCC 8
2952         * lib/dirname.h (base_name):
2953         * lib/exclude.h (new_exclude):
2954         * lib/xstrndup.h (xstrndup):
2955         Add malloc attribute.
2956         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
2957         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
2958         This pacifies GCC 8.
2959         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2960         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
2962 2018-05-03  Bruno Haible  <bruno@clisp.org>
2964         Simplify code. Drop support for Borland C++ on Windows.
2965         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
2966         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
2967         'defined _WIN32'.
2968         * lib/canonicalize-lgpl.c: Likewise.
2969         * lib/classpath.c: Likewise.
2970         * lib/clean-temp.c: Likewise.
2971         * lib/csharpexec.c: Likewise.
2972         * lib/ctime.c: Likewise.
2973         * lib/dosname.h: Likewise.
2974         * lib/dup2.c: Likewise.
2975         * lib/errno.in.h: Likewise.
2976         * lib/error.c: Likewise.
2977         * lib/euidaccess.c: Likewise.
2978         * lib/execute.c: Likewise.
2979         * lib/fcntl.in.h: Likewise.
2980         * lib/fcntl.c: Likewise.
2981         * lib/filename.h: Likewise.
2982         * lib/findprog.c: Likewise.
2983         * lib/flock.c: Likewise.
2984         * lib/fopen.c: Likewise.
2985         * lib/freopen.c: Likewise.
2986         * lib/fstat.c: Likewise.
2987         * lib/fsync.c: Likewise.
2988         * lib/gc-gnulib.c: Likewise.
2989         * lib/get-rusage-data.c: Likewise.
2990         * lib/getaddrinfo.c: Likewise.
2991         * lib/getdelim.c: Likewise.
2992         * lib/getdtablesize.c: Likewise.
2993         * lib/gethostname.c: Likewise.
2994         * lib/getlogin.c: Likewise.
2995         * lib/getlogin_r.c: Likewise.
2996         * lib/getopt.c: Likewise.
2997         * lib/getpagesize.c: Likewise.
2998         * lib/getpass.c: Likewise.
2999         * lib/getrusage.c: Likewise.
3000         * lib/gettimeofday.c: Likewise.
3001         * lib/glob.c: Likewise.
3002         * lib/inttypes.in.h: Likewise.
3003         * lib/isapipe.c: Likewise.
3004         * lib/javaexec.c: Likewise.
3005         * lib/link.c: Likewise.
3006         * lib/localcharset.c: Likewise.
3007         * lib/localename.h: Likewise.
3008         * lib/localename.c: Likewise.
3009         * lib/localtime.c: Likewise.
3010         * lib/lseek.c: Likewise.
3011         * lib/mbsinit.c: Likewise.
3012         * lib/mkdir.c: Likewise.
3013         * lib/msvc-nothrow.h: Likewise.
3014         * lib/nanosleep.c: Likewise.
3015         * lib/nl_langinfo.c: Likewise.
3016         * lib/nonblocking.c: Likewise.
3017         * lib/nproc.c: Likewise.
3018         * lib/open.c: Likewise.
3019         * lib/openpty.c: Likewise.
3020         * lib/pathmax.h: Likewise.
3021         * lib/pipe-filter-aux.c: Likewise.
3022         * lib/pipe-filter-gi.c: Likewise.
3023         * lib/pipe-filter-ii.c: Likewise.
3024         * lib/pipe.c: Likewise.
3025         * lib/pipe2.c: Likewise.
3026         * lib/poll.c: Likewise.
3027         * lib/popen.c: Likewise.
3028         * lib/posix_openpt.c: Likewise.
3029         * lib/printf-parse.c: Likewise.
3030         * lib/progreloc.c: Likewise.
3031         * lib/putenv.c: Likewise.
3032         * lib/read.c: Likewise.
3033         * lib/relocatable.c: Likewise.
3034         * lib/rename.c: Likewise.
3035         * lib/same-inode.h: Likewise.
3036         * lib/secure_getenv.c: Likewise.
3037         * lib/select.c: Likewise.
3038         * lib/sethostname.c: Likewise.
3039         * lib/setlocale.c: Likewise.
3040         * lib/sigaction.c: Likewise.
3041         * lib/sigprocmask.c: Likewise.
3042         * lib/sleep.c: Likewise.
3043         * lib/spawn-pipe.h: Likewise.
3044         * lib/spawn-pipe.c: Likewise.
3045         * lib/spawni.c: Likewise.
3046         * lib/stat-time.h: Likewise.
3047         * lib/stat-w32.c: Likewise.
3048         * lib/stat.c: Likewise.
3049         * lib/stdio.in.h: Likewise.
3050         * lib/stdio-impl.h: Likewise.
3051         * lib/stdio-read.c: Likewise.
3052         * lib/stdio-write.c: Likewise.
3053         * lib/stdlib.in.h: Likewise.
3054         * lib/strerror_r.c: Likewise.
3055         * lib/strftime-fixes.c: Likewise.
3056         * lib/sys_stat.in.h: Likewise.
3057         * lib/sys_types.in.h: Likewise.
3058         * lib/sys_wait.in.h : Likewise.
3059         * lib/system-quote.h: Likewise.
3060         * lib/system-quote.c: Likewise.
3061         * lib/tmpdir.c: Likewise.
3062         * lib/tzset.c: Likewise.
3063         * lib/uname.c: Likewise.
3064         * lib/unistd.in.h: Likewise.
3065         * lib/utime.in.h: Likewise.
3066         * lib/utime.c: Likewise.
3067         * lib/utimecmp.c: Likewise.
3068         * lib/utimens.c: Likewise.
3069         * lib/vasnprintf.c: Likewise.
3070         * lib/vma-iter.h: Likewise.
3071         * lib/vma-iter.c: Likewise.
3072         * lib/wait-process.c: Likewise.
3073         * lib/wcsftime.c: Likewise.
3074         * lib/wctype.in.h: Likewise.
3075         * lib/write.c: Likewise.
3076         * tests/nap.h: Likewise.
3077         * tests/test-cloexec.c: Likewise.
3078         * tests/test-dup-safer.c: Likewise.
3079         * tests/test-dup2.c: Likewise.
3080         * tests/test-dup3.c: Likewise.
3081         * tests/test-fcntl.c: Likewise.
3082         * tests/test-get-rusage-data.c: Likewise.
3083         * tests/test-getaddrinfo.c: Likewise.
3084         * tests/test-getlogin.h: Likewise.
3085         * tests/test-isatty.c: Likewise.
3086         * tests/test-localename.c: Likewise.
3087         * tests/test-mbrtowc-w32.c: Likewise.
3088         * tests/test-nonblocking.c: Likewise.
3089         * tests/test-nonblocking-pipe-main.c: Likewise.
3090         * tests/test-nonblocking-socket-main.c: Likewise.
3091         * tests/test-nonblocking-socket.h: Likewise.
3092         * tests/test-pipe.c: Likewise.
3093         * tests/test-pipe2.c: Likewise.
3094         * tests/test-poll.c: Likewise.
3095         * tests/test-pthread_sigmask1.c: Likewise.
3096         * tests/test-select.h: Likewise.
3097         * tests/test-sethostname2.c: Likewise.
3098         * tests/test-sigprocmask.c: Likewise.
3099         * tests/test-spawn-pipe-child.c: Likewise.
3100         * tests/test-stat-time.c: Likewise.
3101         * tests/test-system-quote-main.c: Likewise.
3102         * tests/test-utimens-common.h: Likewise.
3103         * tests/test-wcrtomb-w32.c: Likewise.
3104         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
3105         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
3106         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
3107         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
3108         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
3109         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3110         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3111         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3112         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3113         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
3114         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
3115         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
3116         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
3117         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
3118         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
3119         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3121 2018-05-02  Bruno Haible  <bruno@clisp.org>
3123         localename: Fix test failures on mingw.
3124         * lib/localename.c (gl_locale_name_thread): Remove code specific to
3125         native Windows.
3126         (gl_locale_name_posix): Move code specific to native Windows here.
3127         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
3128         Accept result without charset suffix, as it appears on mingw.
3130 2018-04-28  Paul Smith  <psmith@gnu.org>
3132         bootstrap: Avoid gnulib operations if not needed
3133         * build-aux/bootstrap: Remove unused variable gnulib_mk.
3134         Set $gnulib_extra_files early so it can be overridden in .conf.
3135         Remove redundant --import flag from $gnulib_tool_options.
3136         Set $use_gnulib to false if no gnulib modules or files are needed.
3137         If $use_gnulib is false, don't do anything related to gnulib.
3138         A lot of this is just whitespace (indentation) changes.
3140 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
3142         manywarnings: port to GCC 8.0
3143         * build-aux/gcc-warning.spec: Add -Wcatch-value,
3144         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
3145         fact that the GCC help message now mentions operands for
3146         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
3147         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
3148         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
3149         and -Wunused-const-variable.
3150         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
3151         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
3152         -Wmissing-attributes, -Wmultistatement-macros,
3153         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
3154         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
3156 2018-04-24  Bruno Haible  <bruno@clisp.org>
3158         sys_socket: Make SO_REUSEPORT available across platforms.
3159         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3160         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
3161         * doc/posix-headers/sys_socket.texi: Mention the issue.
3162         * tests/test-poll.c (SO_REUSEPORT): Remove.
3163         * tests/test-select.h: Include <sys/socket.h>.
3164         (SO_REUSEPORT): Remove.
3165         * modules/select-tests (Depends-on): Add 'sys_socket'.
3167 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
3169         localcharset: short-circuit the search for an alias on a Mac
3170         * lib/localcharset.c (get_charset_aliases): Add a tautological
3171         UTF-8 entry to speed up the search for this case.
3172         Most machines default to a UTF-8 locale nowadays, so begin the
3173         list of aliases with a dummy UTF-8 entry so it will be found
3174         immediately and a time-consuming search through the rest of
3175         the list is avoided.
3177 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
3179         fts: add comment
3180         * lib/fts.c (fts_build): Explain why ==, not >.
3181         See remark by Bernhard Voelker in:
3182         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
3184         fts: fix bug in find across filesystems
3185         This fixes a bug I introduced last summer.
3186         Problem reported by Kamil Dudka in:
3187         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
3188         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
3189         (leaf_optimization):
3190         New arg for file descriptor.  All callers changed.
3191         (fts_build): Check for whether inodes should be sorted
3192         before closing the directory.
3194 2018-04-07  Bruno Haible  <bruno@clisp.org>
3196         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
3197         Reported by Genki Sky <sky@genki.is>.
3198         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
3199         version 0.9.10 or newer.
3200         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
3201         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
3202         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
3203         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
3204         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
3206 2018-04-07  Bruno Haible  <bruno@clisp.org>
3208         execute: Update comment.
3209         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
3211 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
3213         fts: treat CIFS like NFS
3214         Problem reported by Kamil Dudka in:
3215         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
3216         * lib/fts.c (S_MAGIC_CIFS): New macro.
3217         (dirent_inode_sort_may_be_useful, leaf_optimization):
3218         Treat CIFS like NFS.
3220 2018-03-28  Bruno Haible  <bruno@clisp.org>
3222         c-stack: Fix possible build failure on some platforms.
3223         * lib/c-stack.c (die): Define whenever this function is referenced.
3225 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
3227         time_rz: fix workaround for Mac OS X 10.6 infloop
3228         Problems reported by Charles A. Roelli (Bug#27736#117).
3229         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
3230         Also, discard output, which clutters the 'configure' log.
3232 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
3234         havelib: port to Solaris 10 /bin/sh
3235         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
3236         instead of '! test EXPR'.
3238 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
3240         time_rz: work around Mac OS X 10.6 infloop
3241         * doc/posix-functions/localtime.texi:
3242         * doc/posix-functions/localtime_r.texi: Mention the bug.
3243         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
3244         better to fix localtime and localtime_r instead, but that would be
3245         more work and is not needed to fix the Emacs problem.
3246         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
3248 2018-03-24  Jim Meyering  <meyering@fb.com>
3250         test-version-etc.sh: don't use diff directly: use init.sh's compare
3251         We'd rather not sacrifice readable "diff -u" output even for
3252         "diff -c" output (not supported by busybox) or for even less
3253         readable ed-style "diff" output.  So use init.sh's compare function
3254         * tests/test-version-etc.sh: Source init.sh and add "." to path.
3255         Remove "./" from invocation of test-version-etc, so we use path.
3256         And s/diff/compare/.
3257         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
3258         to get init.sh.
3259         Prompted by Eric Blake's comments in
3260         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
3262 2018-03-24  Bruno Haible  <bruno@clisp.org>
3264         javacomp-script, javacomp: Add support for Java 10.
3265         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
3266         target-version 10.
3267         * lib/javaversion.h: Update comments.
3268         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3269         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3270         TARGET_VERSION_BOUND, target_version_index,
3271         corresponding_classfile_version): Accept source_version 10 and
3272         target_version 10.
3273         * lib/javacomp.h: Update comments accordingly.
3275 2018-03-24  Bruno Haible  <bruno@clisp.org>
3277         javacomp-script, javacomp: Update comments.
3278         * m4/javacomp.m4: Update comments regarding gcj.
3279         * lib/javacomp.h: Likewise.
3281 2018-03-24  Bruno Haible  <bruno@clisp.org>
3283         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
3284         * lib/javaversion.h: Update comments.
3285         * lib/javacomp.h: Likewise.
3286         * lib/javacomp.c (default_target_version, source_version_index,
3287         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
3288         "1.9".
3289         (TARGET_VERSION_BOUND): Bump to 9.
3290         (target_version_index, corresponding_classfile_version): Recognize "9"
3291         instead of "1.9".
3292         (get_source_version_for_javac): New function.
3293         (is_envjavac_nongcj_usable, is_javac_usable): Add
3294         source_version_for_javac argument.
3295         (compile_java_class): Determine and pass source_version_for_javac.
3296         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
3297         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
3298         appropriate.
3300 2018-03-23  Jim Meyering  <meyering@fb.com>
3302         test-version-etc.sh: port to diff without -c
3303         * tests/test-version-etc.sh: Don't use diff's -c option.
3304         This caused spurious test failure on Alpine Linux, which
3305         uses busybox's diff. Reported by Assaf Gordon in
3306         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
3308 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
3310         c-stack: port to recent GCC build
3311         Problem reported by The Fireplace (Bug#30913).
3312         * lib/c-stack.c (die): Define only if used.
3314 2018-03-20  Bruno Haible  <bruno@clisp.org>
3316         euidaccess: Port to native Windows.
3317         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
3318         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
3320 2018-03-19  Bruno Haible  <bruno@clisp.org>
3322         javacomp: Add support for Java 7, 8, 9.
3323         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
3324         source_version_index, get_goodcode_snippet, get_failcode_snippet,
3325         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
3326         and target_version 1,7, 1.8, 1.9.
3327         * lib/javacomp.h: Update comments accordingly.
3329 2018-03-19  Bruno Haible  <bruno@clisp.org>
3331         javacomp-script: Add support for Java 9.
3332         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
3333         target-version 1.9.
3335 2018-03-16  Bruno Haible  <bruno@clisp.org>
3337         glob: Don't compile replacements on recent glibc systems.
3338         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
3339         REPLACE_GLOB is 0, include the system's <glob.h> and use
3340         _GL_CXXALIAS_SYS.
3341         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
3342         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
3343         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
3344         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
3345         Remove snippet/warn-on-use.
3346         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
3347         (Makefile.am): Create glob.h always. Update list of substitutions in
3348         glob.h. Don't depend on $(WARN_ON_USE_H).
3350 2018-03-16  Bruno Haible  <bruno@clisp.org>
3352         glob: Fix link error on native Windows.
3353         * modules/glob (Depends-on): Add 'lstat'.
3355 2018-03-15  Bruno Haible  <bruno@clisp.org>
3357         glob: Fix compilation error in C++ mode.
3358         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
3360 2018-03-15  Bruno Haible  <bruno@clisp.org>
3362         host-cpu-c-abi: Support for RISC-V CPU.
3363         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
3364         riscv32 and riscv64 ABIs.
3365         References:
3366         https://github.com/riscv/riscv-toolchain-conventions
3367         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
3368         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
3370 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3372         fflush: be more paranoid about libio.h change
3373         Suggested by Eli Zaretskii in:
3374         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
3375         * lib/fbufmode.c (fbufmode):
3376         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3377         (disable_seek_optimization, rpl_fflush):
3378         * lib/fpending.c (__fpending):
3379         * lib/fpurge.c (fpurge):
3380         * lib/freadable.c (freadable):
3381         * lib/freadahead.c (freadahead):
3382         * lib/freading.c (freading):
3383         * lib/freadptr.c (freadptr):
3384         * lib/freadseek.c (freadptrinc):
3385         * lib/fseeko.c (fseeko):
3386         * lib/fseterr.c (fseterr):
3387         * lib/fwritable.c (fwritable):
3388         * lib/fwriting.c (fwriting):
3389         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
3391 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
3393         maint: write-file-hooks -> before-save-hook
3394         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
3395         it's time to use the recommended replacement.
3396         Problem reported by Glenn Morris in:
3397         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
3398         * build-aux/announce-gen, build-aux/bootstrap:
3399         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
3400         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
3401         * build-aux/gnu-web-doc-update, build-aux/gnupload:
3402         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
3403         * build-aux/update-copyright, build-aux/useless-if-before-free:
3404         * build-aux/vc-list-files:
3405         Update hook usage for files where Gnulib is the canonical source.
3407 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
3409         binary-io: pacify gcc -Wunused-parameter
3410         Problem reported by Reuben Thomas in:
3411         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
3412         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
3413         Use _GL_UNUSED where appropriate.
3415         fflush: adjust to glibc 2.28 libio.h removal
3416         Problem reported by Daniel P. Berrangé in:
3417         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
3418         * lib/fbufmode.c (fbufmode):
3419         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
3420         (disable_seek_optimization, rpl_fflush):
3421         * lib/fpending.c (__fpending):
3422         * lib/fpurge.c (fpurge):
3423         * lib/freadable.c (freadable):
3424         * lib/freadahead.c (freadahead):
3425         * lib/freading.c (freading):
3426         * lib/freadptr.c (freadptr):
3427         * lib/freadseek.c (freadptrinc):
3428         * lib/fseeko.c (fseeko):
3429         * lib/fseterr.c (fseterr):
3430         * lib/fwritable.c (fwritable):
3431         * lib/fwriting.c (fwriting):
3432         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
3433         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
3434         Define if not already defined.
3436 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
3438         environ: fix link error on 32-bit Cygwin
3439         Problem reported for GNU Emacs by Ken Brown in:
3440         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
3441         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
3443 2018-02-24  Bruno Haible  <bruno@clisp.org>
3445         mbrtowc tests: Fix regression on glibc.
3446         Reported by Bernhard Voelker.
3447         * tests/test-mbrtowc.c (main): Fix expected value of wc.
3449 2018-02-24  Bruno Haible  <bruno@clisp.org>
3451         striconveha, uniconv/*: Avoid test failures on musl libc.
3452         * tests/iconvsupport.c: New file.
3453         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
3454         does not support the ISO-2022-JP-2 encoding.
3455         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
3456         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
3457         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
3458         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
3459         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
3460         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
3461         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
3462         (Makefile.am): Link test-striconveha with iconvsupport.o.
3463         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
3464         tests/iconvsupport.c.
3465         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
3466         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
3467         tests/iconvsupport.c.
3468         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
3469         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
3470         tests/iconvsupport.c.
3471         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
3472         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
3473         tests/iconvsupport.c.
3474         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
3475         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
3476         tests/iconvsupport.c.
3477         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
3478         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
3479         tests/iconvsupport.c.
3480         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
3482 2018-02-24  Bruno Haible  <bruno@clisp.org>
3484         localename: Add support for musl libc.
3485         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
3486         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
3487         on Linux platforms which define NL_LOCALE_NAME.
3489 2018-02-24  Bruno Haible  <bruno@clisp.org>
3491         mbrtowc tests: Don't make assumptions about the charset the C locale.
3492         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
3493         particular mapping in the C locale.
3495 2018-02-24  Bruno Haible  <bruno@clisp.org>
3497         ptsname_r: Don't expect that this function sets errno.
3498         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
3499         from ptsname_r().
3500         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
3502 2018-02-23  Bruno Haible  <bruno@clisp.org>
3504         xmalloca: pacify gcc -Wbad-function-cast
3505         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
3507 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
3509         nl_langinfo: pacify gcc -Wunused-function
3510         * lib/nl_langinfo.c (ctype_codeset): Do not define if
3511         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
3512         this case.  Without this change, I got a diagnostic when building
3513         coreutils on Fedora 27 with gcc 7.3.1 20180130.
3515         same: pacify gcc -Wunused-variable
3516         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
3517         Omit unused variable.
3519         malloca: pacify gcc -Wbad-function-cast
3520         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
3521         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
3522         To pacify GCC, I had to cast alloca’s result to some type other
3523         than void * before casting that to uintptr_t.
3525 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
3527         utimecmp: new function utimecmpat
3528         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
3529         Do not include utimens.h.
3530         (utimecmpat): New function, generalizing utimecmp.
3531         (utimecmp): Now a thin layer around utimecmpat.
3532         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
3533         utimensat instead of on lstat and utimens.
3535         same: new function same_nameat
3536         * lib/same.c: Include fcntl.h.
3537         * lib/same.c (same_nameat): New function, generalizing same_name.
3538         (same_name): Now a thin layer around same_nameat.
3539         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
3540         * modules/same (Depends-on): Depend on fstatat, openat.
3542 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
3544         warnings: Add support for Objective C.
3545         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
3546         macro.
3548 2018-02-17  Bruno Haible  <bruno@clisp.org>
3550         lock: Fix test-once1 crash on FreeBSD11.
3551         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
3552         'pthread_create', not 'pthread_cancel'.
3554 2018-02-17  Bruno Haible  <bruno@clisp.org>
3556         lock: Add test of gl_once.
3557         * tests/test-once.c: New file.
3558         * modules/lock-tests (Files): Add it.
3559         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
3561 2018-02-17  Bruno Haible  <bruno@clisp.org>
3563         thread: Fix compilation error on IRIX.
3564         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
3565         needed; include it outside the C++ extern "C" {} block.
3566         * doc/posix-headers/pthread.texi: Mention the problem with
3567         pthread_atfork on IRIX.
3569 2018-02-04  Bruno Haible  <bruno@clisp.org>
3571         nl_langinfo: Override the system's nl_langinfo() when needed.
3572         Reported by Jim Meyering.
3573         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
3574         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
3576 2018-02-04  Bruno Haible  <bruno@clisp.org>
3578         signal-h, monetary, strings: Fix build failure in some cases.
3579         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3580         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
3581         as delimiter in sed command, not '|'.
3582         * modules/monetary (Makefile.am): Likewise.
3583         * modules/strings (Makefile.am): Likewise.
3585 2018-02-03  Jim Meyering  <meyering@fb.com>
3587         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
3588         * top/maint.mk (sc_file_system): Don't complain about
3589         "/proc/filesystems".
3591 2018-02-03  Bruno Haible  <bruno@clisp.org>
3593         stdlib: Fix compilation error on OpenIndiana.
3594         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
3595         <sys/time.h>.
3596         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
3597         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
3599 2018-02-03  Bruno Haible  <bruno@clisp.org>
3601         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
3602         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
3603         and use $EGREP instead of 'grep -E'.
3604         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
3605         'grep -E'.
3607 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
3609         malloca: Add a compile-time verification.
3610         * lib/malloca.c (small_t): Verify that it is wide enough.
3611         * modules/malloca (Depends-on): Add verify.
3613 2018-02-02  Bruno Haible  <bruno@clisp.org>
3615         malloca: Add an argument check.
3616         Suggested by Paul Eggert.
3617         * lib/malloca.c (freea): Check against an invalid argument.
3619 2018-02-02  Bruno Haible  <bruno@clisp.org>
3621         localename: Add support for OpenIndiana.
3622         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
3623         Solaris 11 variants with uselocale() but without getlocalename_l().
3625 2018-02-02  Bruno Haible  <bruno@clisp.org>
3627         malloca, xmalloca: Make multithread-safe.
3628         Reported by Florian Weimer <fweimer@redhat.com>.
3629         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
3630         * lib/malloca.h (malloca): In the stack allocation case, return a
3631         pointer that is a multiple of 2 * sa_alignment_max.
3632         (sa_increment): Remove enum item.
3633         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
3634         a pointer that is a multiple of 2 * sa_alignment_max.
3635         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
3636         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
3637         HASH_TABLE_SIZE, mmalloca_results): Remove.
3638         (small_t): New type.
3639         (mmalloca, free): Rewritten.
3640         * lib/malloca.valgrind: Remove file.
3641         * modules/malloca (Files): Remove it.
3642         (Depends-on): Remove verify.
3644 2018-01-31  Bruno Haible  <bruno@clisp.org>
3646         environ: Fix link error on 64-bit Cygwin.
3647         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
3648         __declspec(dllimport) attribute.
3649         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
3651 2018-01-30  Bruno Haible  <bruno@clisp.org>
3653         get-rusage-data: Add support for Minix 3.
3654         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
3656 2018-01-30  Bruno Haible  <bruno@clisp.org>
3658         vma-iter: Add support for Minix 3.
3659         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
3660         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
3662 2018-01-27  Bruno Haible  <bruno@clisp.org>
3664         Fix malfunction of socket functions on HP-UX in 64-bit mode.
3665         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
3666         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
3667         _HPUX_ALT_XOPEN_SOCKET_API.
3668         * modules/accept (Depends-on): Add 'extensions'.
3669         * modules/getpeername (Depends-on): Likewise.
3670         * modules/getsockname (Depends-on): Likewise.
3671         * modules/getsockopt (Depends-on): Likewise.
3672         * modules/recvfrom (Depends-on): Likewise.
3673         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
3674         * doc/posix-functions/getpeername.texi: Likewise.
3675         * doc/posix-functions/getsockname.texi: Likewise.
3676         * doc/posix-functions/getsockopt.texi: Likewise.
3677         * doc/posix-functions/recvfrom.texi: Likewise.
3679 2018-01-27  Bruno Haible  <bruno@clisp.org>
3681         getsockname tests: More tests.
3682         * tests/test-getsockname.c (open_server_socket): New function, mostly
3683         copied from test-poll.c.
3684         (main): Check that getsockname fills in addr.
3685         * modules/getsockname-tests (Depends-on): Add the necessary
3686         dependencies.
3687         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
3689 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
3691         manywarnings: fix maintainer comment
3692         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
3693         it does not mistakenly think that ‘-1)’ is an option.
3695 2018-01-26  Bruno Haible  <bruno@clisp.org>
3697         langinfo: Fix last commit.
3698         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3699         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
3701 2018-01-24  Bruno Haible  <bruno@clisp.org>
3703         langinfo, nl_langinfo: Add support for alternative month names.
3704         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
3705         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
3706         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
3707         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
3708         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
3709         * doc/posix-functions/nl_langinfo.texi: Likewise.
3711 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
3713         Merge strftime.c changes from glibc
3714         This incorporates:
3715         2017-11-14 [BZ #10871] Implement alternative month names
3716         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
3717         2017-06-20 Use locale_t, not __locale_t, throughout glibc
3718         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
3719         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
3720         Use locale_t, not __locale_t.
3721         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
3722         (__strftime_internal): Add support for alternate months.
3724 2018-01-23  Bruno Haible  <bruno@clisp.org>
3726         doc: Mention another prerequisite for using Gnulib.
3727         Reported at <https://stackoverflow.com/questions/48378214/>.
3728         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
3729         AC_CONFIG_HEADERS.
3731 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
3733         build: GuixSD doesn't have /bin/bash
3734         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
3736 2018-01-21  Bruno Haible  <bruno@clisp.org>
3738         Avoid test failures on Microsoft Windows Subsystem for Linux.
3739         * tests/test-fcntl.c (main): Allow a different errno.
3740         * tests/test-rename.h (test_rename): Likewise.
3741         * tests/test-renameat.c (main): Likewise.
3742         * tests/test-renameat2.c (main): Likewise.
3744 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
3746         filenamecat: make base a suffix of result
3747         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
3748         (mfile_name_concat): Always make BASE a suffix of the result, as
3749         cp expects this.  To implement this, separate with '.' instead of
3750         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
3751         * tests/test-filenamecat.c (main): Adjust tests to match
3752         current behavior.  Check that BASE_IN_RESULT points to
3753         a copy of BASE and is a suffix of the resultk, and that DIR
3754         is a prefix of the result that is no longer than the prefix
3755         indicated by BASE_IN_RESULT.
3757 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
3759         update-copyright: Handle use of ©
3760         * build-aux/update-copyright ($circle_c_re): Update regex to
3761         handle use of © in headers.
3763 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
3765         Fix -Wundef warning in user-included header lib/cdefs.h.
3766         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
3768 2018-01-04  Bruno Haible  <bruno@clisp.org>
3770         pthread_sigmask: Avoid compilation error on mingw.
3771         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3772         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
3773         macro.
3775 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
3777         test-framework-sh: ‘ps -ef’, not ‘ps ef’
3778         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
3779         Suggested by Bob Proulx (Bug#29968).
3780         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
3782 2018-01-02  Eric Blake  <eblake@redhat.com>
3784         stat-time: silence -Wunused-parameter regression
3785         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
3786         Prefer attribute over cast-to-void.
3787         (stat_time_normalize): Mark st as potentially unused.
3789 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
3791         test-framework-sh: avoid netstat
3792         Problem reported by Kristýna Streitová (Bug#29947).
3793         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
3794         deprecated on SuSE and it's not that important anyway.
3796 2018-01-01  Jim Meyering  <meyering@fb.com>
3798         update-copyright: add code to handle more special cases
3799         After running "make update-copyright" this year, five files
3800         required additional manual changes.  Automate those adjustments
3801         for next year.
3802         * Makefile (_year_and_prev): Define.
3803         (update-copyright): Add perl commands to induce this year's post-
3804         update-copyright adjustments.
3806 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
3808         version-etc: new year
3809         * build-aux/gendocs.sh (version):
3810         * doc/gendocs_template:
3811         * doc/gendocs_template_min:
3812         * doc/gnulib.texi:
3813         * lib/version-etc.c (COPYRIGHT_YEAR):
3814         Update copyright dates by hand in templates and the like.
3816         maint: fix 'make update-copyright'
3817         * Makefile (update-copyright): Adjust to 2016-11-23 change
3818         to config/srclist-update, which changed the format of srclist.txt.
3820 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
3822         chdir-safer: remove this module
3823         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
3824         * NEWS: Document removal.
3825         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
3826         * modules/chdir-safer: Remove these files.
3828 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
3830         Add cross-compilation results for GNU/Hurd.
3831         * m4/calloc.m4: Add GNU/Hurd guess.
3832         * m4/cbrtl.m4: Likewise.
3833         * m4/ceil.m4: Likewise.
3834         * m4/ceilf.m4: Likewise.
3835         * m4/ceill.m4: Likewise.
3836         * m4/chown.m4: Likewise.
3837         * m4/duplocale.m4: Likewise.
3838         * m4/exp2l.m4: Likewise.
3839         * m4/expm1.m4: Likewise.
3840         * m4/fchdir.m4: Likewise.
3841         * m4/floor.m4: Likewise.
3842         * m4/floorf.m4: Likewise.
3843         * m4/fmod.m4: Likewise.
3844         * m4/fmodf.m4: Likewise.
3845         * m4/fmodl.m4: Likewise.
3846         * m4/getcwd.m4: Likewise.
3847         * m4/getgroups.m4: Likewise.
3848         * m4/gettimeofday.m4: Likewise.
3849         * m4/hypot.m4: Likewise.
3850         * m4/hypotf.m4: Likewise.
3851         * m4/hypotl.m4: Likewise.
3852         * m4/link-follow.m4: Likewise.
3853         * m4/link.m4: Likewise.
3854         * m4/linkat.m4: Likewise.
3855         * m4/log.m4: Likewise.
3856         * m4/log10.m4: Likewise.
3857         * m4/log10f.m4: Likewise.
3858         * m4/log1p.m4: Likewise.
3859         * m4/log1pf.m4: Likewise.
3860         * m4/log1pl.m4: Likewise.
3861         * m4/log2.m4: Likewise.
3862         * m4/log2f.m4: Likewise.
3863         * m4/logf.m4: Likewise.
3864         * m4/lstat.m4: Likewise.
3865         * m4/malloc.m4: Likewise.
3866         * m4/mbrlen.m4: Likewise.
3867         * m4/mbrtowc.m4: Likewise.
3868         * m4/mkdir.m4: Likewise.
3869         * m4/mkfifo.m4: Likewise.
3870         * m4/mknod.m4: Likewise.
3871         * m4/mkstemp.m4: Likewise.
3872         * m4/modf.m4: Likewise.
3873         * m4/modff.m4: Likewise.
3874         * m4/modfl.m4: Likewise.
3875         * m4/printf.m4: Likewise.
3876         * m4/pselect.m4: Likewise.
3877         * m4/ptsname.m4: Likewise.
3878         * m4/putenv.m4: Likewise.
3879         * m4/readlink.m4: Likewise.
3880         * m4/realloc.m4: Likewise.
3881         * m4/remainder.m4: Likewise.
3882         * m4/remainderf.m4: Likewise.
3883         * m4/remainderl.m4: Likewise.
3884         * m4/rmdir.m4: Likewise.
3885         * m4/round.m4: Likewise.
3886         * m4/roundf.m4: Likewise.
3887         * m4/roundl.m4: Likewise.
3888         * m4/select.m4: Likewise.
3889         * m4/setenv.m4: Likewise.
3890         * m4/signbit.m4: Likewise.
3891         * m4/sleep.m4: Likewise.
3892         * m4/stat.m4: Likewise.
3893         * m4/strerror.m4: Likewise.
3894         * m4/strtok_r.m4: Likewise.
3895         * m4/symlink.m4: Likewise.
3896         * m4/symlinkat.m4: Likewise.
3897         * m4/trunc.m4: Likewise.
3898         * m4/truncf.m4: Likewise.
3899         * m4/truncl.m4: Likewise.
3900         * m4/tzset.m4: Likewise.
3901         * m4/ungetc.m4: Likewise.
3902         * m4/usleep.m4: Likewise.
3903         * m4/wcwidth.m4: Likewise.
3905 2017-12-28  Bruno Haible  <bruno@clisp.org>
3907         gnulib-tool: Make --conditional-dependencies work better.
3908         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
3909         * gnulib-tool (Options): Don't reject the combination of
3910         --conditional-dependencies with --with-tests.
3911         (func_emit_autoconf_snippets): Add argument referenceable_modules.
3912         Don't reference $modules.
3913         (func_import, func_create_testdir): Pass it.
3915 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
3917         regex: use re_malloc etc. consistently
3918         Problem and original patch reported by Arnold Robbins in:
3919         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
3920         * lib/regcomp.c (re_comp):
3921         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
3922         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
3924 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
3925             Paul Eggert  <eggert@cs.ucla.edu>
3927         glob: Silence warning about void pointer arithmetic.
3928         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
3929         arithmetic.
3931 2017-12-15  Bruno Haible  <bruno@clisp.org>
3933         spawn-pipe: Silence a clang warning.
3934         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
3935         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
3936         in this file.
3938 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3940         explicit_bzero: port to macOS + Clang 9.0.0
3941         Problem reported by Marcus Johnson (Bug#29658).
3942         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
3943         Don’t use asm.
3945 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3947         doc: Improve explanation of supporting relocatable libraries.
3948         * doc/relocatable-maint.texi (Supporting Relocation): Explain
3949         properly how to build the relocatable module for
3950         libraries. (Method and example code from Bruno Haible.)
3952 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
3954         doc: Use better texinfo tags in a few cases.
3955         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
3956         instead of @samp in a few places.
3958 2017-12-11  Bruno Haible  <bruno@clisp.org>
3960         unistr/base: Update comment.
3961         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
3963 2017-12-10  Pádraig Brady  <P@draigBrady.com>
3965         test-faccessat.c: unlink temp file to avoid subsequent test failure
3966         * tests/test-faccessat.c: Remove the file to avoid failure
3967         to open the file on subsequent runs due to being created
3968         with no permissions.
3970 2017-12-10  Bruno Haible  <bruno@clisp.org>
3972         doc: New sect. "Modifying the build rules of a Gnulib import directory".
3973         * doc/gnulib-tool.texi (Modified build rules): New node.
3975 2017-12-10  Bruno Haible  <bruno@clisp.org>
3977         doc: Tweak wording.
3978         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
3979         "binaries".
3981 2017-12-05  Sam Steingold  <sds@gnu.org>
3982             Bruno Haible  <bruno@clisp.org>
3984         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
3985         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
3986         AC_EGREP_CPP pattern.
3988 2017-12-03  Bruno Haible  <bruno@clisp.org>
3990         all: Replace more http URLs by https URLs.
3991         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
3992         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
3993         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
3994         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
3996 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
3998         Port better to CentOS 5
3999         Problems reported by Tom G. Christensen in:
4000         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
4001         * doc/glibc-functions/strverscmp.texi (strverscmp):
4002         Document strverscmp bug with glibc 2.9 and earlier.
4003         * doc/posix-functions/tzset.texi (tzset):
4004         Document that TZ with angle brackets is POSIX-2001 and later.
4005         * tests/test-nstrftime.c: Include unistd.h.
4006         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
4007         (TZ): Use it to skip tests with angle brackets in TZ,
4008         for older systems.
4010         stat: add missing module dependencies
4011         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
4012         Add stat-time.
4014 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
4016         stat: fix compilation failure on macOS Sierra
4017         Reported by Marius Schamschula <mschamschula@gmail.com> in:
4018         https://savannah.gnu.org/bugs/?52546
4019         * lib/stat.c: Add missing include of stat-time.h.
4021 2017-11-28  Jim Meyering  <meyering@fb.com>
4023         test-faccessat.c: correct BASE definition to avoid parallel test failure
4024         * tests/test-faccessat.c (BASE): Define using this file's name, not
4025         that of test-lstat.c.  Using the latter caused this test to fail
4026         sometimes when run concurrently with test-lstat.
4028 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4030         unicase: fix VPATH build
4031         * modules/unicase/special-casing (Makefile.am): Ensure that the
4032         base directory is created when generating
4033         unicase/special-casing.h.
4035 2017-11-27  Daiki Ueno  <ueno@gnu.org>
4037         libunistring: update to Unicode 9.0.0
4038         * lib/gen-uni-tables.c (fill_properties): Recognize
4039         Sentence_Terminal and Prepended_Concatenation_Mark.
4040         (is_property_default_ignorable_code_point): Exclude U+08E2.
4041         (fill_arabicshaping): Allow missing whitespace when parsing;
4042         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
4043         (output_blocks): Increase the element size of the level1 table to
4044         accommodate more blocks.
4045         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
4046         Update each class according to the standard.
4047         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
4048         E_Base_GAZ characters.
4049         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
4050         Glue_After_Zwj, and E_Base_GAZ characters.
4051         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
4052         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
4053         enum value.
4054         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
4055         value.
4056         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
4057         LBP_ZWJ, LBP_EB, and LBP_EM.
4058         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
4059         enum value.
4060         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
4061         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
4062         declaration.
4063         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
4064         (uniwbrk_table): Implement WB14.
4065         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
4066         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
4067         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
4068         uc-is-grapheme-break.
4069         * modules/unigbrk/uc-grapheme-breaks: New module.
4070         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
4071         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
4072         enum value.
4073         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
4074         * lib/unigbrk/u-grapheme-breaks.h: New file.
4075         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
4076         u-grapheme-breaks.h instead of uc_is_grapheme_break.
4077         * lib/unigbrk/uc-grapheme-breaks.c: New file.
4078         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
4079         29.
4080         * tests/unigbrk/test-uc-gbrk-prop.c
4081         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4082         GBP_GAZ, and GBP_EBG.
4083         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
4084         * tests/unigbrk/test-uc-is-grapheme-break.c
4085         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
4086         GBP_GAZ, and GBP_EBG.
4087         (main): Skip unsupported rules involving 3 or more characters,
4088         namely GB10, GB12, and GB13.
4089         * lib/uniwidth/width.c (nonspacing_table_data): Update.
4090         * all generated files under lib/uni* and tests/uni*: Regenerate.
4091         * all the affected modules: Bump version.
4093 2017-11-26  Bruno Haible  <bruno@clisp.org>
4095         strfmon_l: Fix compilation error with glibc 2.5.
4096         Reported by Tom G. Christensen <tgc@jupiterrise.com>
4097         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
4098         * lib/monetary.in.h: Include also <locale.h>.
4100 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
4102         posixtm: remove PDS_LEADING_YEAR
4103         This changes the API slightly, in a hopefully-innocuous way.
4104         Without this change the code had undefined behavior when a
4105         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
4106         Problem reported by Pádraig Brady in:
4107         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
4108         * NEWS: Mention this.
4109         * lib/posixtm.c (posix_time_parse): Treat the absence of
4110         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
4111         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
4112         present, but define it as zero, for compatibility with existing
4113         source code).  All other PDS_* values moved up.
4114         * tests/test-posixtm.c (LY): New macro.
4115         (T): Use it.  Do not expect a particular numeric encoding
4116         for PDS_CENTURY etc.
4118 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
4120         stat: work around Solaris bug with tv_nsec < 0
4121         * doc/posix-functions/fstat.texi (fstat):
4122         * doc/posix-functions/fstatat.texi (fstatat):
4123         * doc/posix-functions/lstat.texi (lstat):
4124         * doc/posix-functions/stat.texi (stat):
4125         Mention Solaris 11 bug.
4126         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
4127         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
4128         * lib/lstat.c (rpl_lstat):
4129         * lib/stat.c (rpl_stat):
4130         Normalize resulting timestamps.
4131         * lib/fstatat.c (normal_fstatat): New function.
4132         (rpl_fstatat): Use it.
4133         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
4134         (stat_time_normalize): New function.
4135         * m4/fstat.m4 (gl_FUNC_FSTAT):
4136         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
4137         * m4/lstat.m4 (gl_FUNC_LSTAT):
4138         * m4/stat.m4 (gl_FUNC_STAT):
4139         Replace on Solaris.
4140         * modules/fstat (Depends-on):
4141         * modules/fstatat (Depends-on):
4142         Add stat-time.
4143         * modules/stat-time (Depends-on): Add errno, intprops.
4145 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
4147         regex: merge from glibc
4148         * lib/regcomp.c (init_word_char): Add comments.
4150 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
4152         regex: merge from glibc
4153         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
4154         * lib/regex_internal.h (internal_function): Remove.
4155         All uses removed.
4157 2017-11-20  Bruno Haible  <bruno@clisp.org>
4159         crypto/gc-sm3: Fix buffer overrun.
4160         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
4161         Reported by Coverity.
4163 2017-11-12  Jim Meyering  <meyering@fb.com>
4165         maint: shorten https://lists.gnu.org/archive/html/... links
4166         Each /archive/html/ part can be replace with /r/.
4167         Run this to induce the change:
4168         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
4169         * ChangeLog: Perform that substitution.
4170         * Makefile: Likewise.
4171         * STATUS-libposix: Likewise.
4172         * build-aux/bootstrap: Likewise.
4173         * doc/maintain.texi: Likewise.
4174         * gnulib-tool: Likewise.
4175         * lib/allocator.h: Likewise.
4176         * lib/argp-ba.c: Likewise.
4177         * lib/argp-pv.c: Likewise.
4178         * lib/canon-host.c: Likewise.
4179         * lib/canonicalize-lgpl.c: Likewise.
4180         * lib/float.in.h: Likewise.
4181         * lib/fstat.c: Likewise.
4182         * lib/getdelim.c: Likewise.
4183         * lib/getprogname.c: Likewise.
4184         * lib/glthread/thread.h: Likewise.
4185         * lib/intprops.h: Likewise.
4186         * lib/mbsrtowcs-state.c: Likewise.
4187         * lib/safe-read.c: Likewise.
4188         * lib/signal.in.h: Likewise.
4189         * lib/stat.c: Likewise.
4190         * lib/stdbool.in.h: Likewise.
4191         * lib/stdio-impl.h: Likewise.
4192         * lib/stdio.in.h: Likewise.
4193         * lib/sysexits.in.h: Likewise.
4194         * lib/timespec.h: Likewise.
4195         * lib/wcsrtombs-state.c: Likewise.
4196         * m4/alloca.m4: Likewise.
4197         * m4/extern-inline.m4: Likewise.
4198         * m4/fstatat.m4: Likewise.
4199         * m4/gnulib-common.m4: Likewise.
4200         * m4/lib-ignore.m4: Likewise.
4201         * m4/printf.m4: Likewise.
4202         * m4/regex.m4: Likewise.
4203         * m4/stat-size.m4: Likewise.
4204         * m4/std-gnu11.m4: Likewise.
4205         * m4/stdbool.m4: Likewise.
4206         * m4/sys_types_h.m4: Likewise.
4207         * m4/threadlib.m4: Likewise.
4208         * m4/vararrays.m4: Likewise.
4209         * pygnulib/GLImport.py: Likewise.
4210         * tests/test-exp.h: Likewise.
4211         * tests/test-exp2.h: Likewise.
4212         * tests/test-expm1.h: Likewise.
4213         * tests/test-fflush2.c: Likewise.
4214         * tests/test-getopt_long.h: Likewise.
4215         * tests/test-intprops.c: Likewise.
4216         * tests/test-log.h: Likewise.
4217         * tests/test-log10.h: Likewise.
4218         * tests/test-log1p.h: Likewise.
4219         * tests/test-log2.h: Likewise.
4220         * tests/test-printf-posix.h: Likewise.
4221         * tests/test-regex.c: Likewise.
4222         * tests/test-snprintf-posix.h: Likewise.
4223         * tests/test-sprintf-posix.h: Likewise.
4224         * tests/test-stdalign.c: Likewise.
4225         * tests/test-stdbool.c: Likewise.
4226         * tests/test-vasnprintf-posix.c: Likewise.
4227         * tests/test-vasprintf-posix.c: Likewise.
4228         * top/maint.mk: Likewise.
4230 2017-11-12  Bruno Haible  <bruno@clisp.org>
4232         faccessat: Make the last change more robust.
4233         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
4234         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
4236 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
4238         faccessat: port to macOS (Bug#29231)
4239         macOS faccessat has the same bug that lstat does: if the file
4240         name ends in '/' it ignores the trailing slash.
4241         Problem reported for Emacs by Vincent Zhang.
4242         * doc/posix-functions/faccessat.texi (faccessat): Document this.
4243         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
4244         around the initial includes.  Include errno.h, string.h, sys/stat.h.
4245         (orig_faccessat) [HAVE_FACCESSAT]: New function.
4246         Include "unistd.h" after defining it.
4247         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
4248         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
4249         Handle in the usual way.
4250         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
4251         lstat dereferences symlinks, since faccessat is likely to
4252         have the same problem.
4253         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
4254         * modules/faccessat (Depends-on): Add fstatat.
4255         Depend if REPLACE_FACCESSAT is 1, too.
4256         (configure.ac): Link if REPLACE_FACCESSAT is 1.
4257         * modules/faccessat-tests (Depends-on): Add symlink.
4258         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
4259         * tests/test-faccessat.c (main): Test for the bug.
4261 2017-11-11  Bruno Haible  <bruno@clisp.org>
4263         getprogname: Fix compilation error on IRIX.
4264         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
4265         'namesize'.
4267 2017-11-11  Bruno Haible  <bruno@clisp.org>
4269         year2038: Tweak last patch.
4270         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
4272 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4274         year2038: be more insistent about 64-bit time_t
4275         Applications requiring access to arbitrary files should not be
4276         built with 32-bit time_t on hosts that have 64-bit timestamps,
4277         as this can lead to real trouble at runtime.
4278         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
4279         Check on all systems, not just MinGW.  Use a heuristic involving
4280         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
4281         output a failure or just a warning, to make it more likely that
4282         builders will select 64-bit time_t.
4284 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
4286         havelib: fix typo in previous change
4287         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
4289         Don’t use AC_EGREP_CPP if affected by CFLAGS
4290         * m4/float_h.m4 (gl_FLOAT_H):
4291         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
4292         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
4293         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
4294         * m4/year2038.m4 (gl_YEAR2038):
4295         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
4296         likely to be affected by the choice of CFLAGS, since CFLAGS are
4297         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
4298         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
4300         fstatat: pacify GCC on unusual platform
4301         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
4302         Omit, as it’s unused in this case.
4304 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
4306         timespec: prefer ‘assume’ to ‘assure’
4307         This avoids some runtime tests.  The rest of the module makes
4308         similar assumptions and there is little point to testing here.
4309         * lib/timespec.h: Include verify.h instead of assure.h.
4310         (timespec_cmp): Use ‘assume’, not ‘assure’.
4311         Also, remove an unnecessary cast to ‘int’, as lots of other
4312         code in this module now causes -Wconversion to complain, and
4313         this is a problem with -Wconversion not with the code.
4315         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
4317         Port recent gnulib-tool change to Dash
4318         * gnulib-tool (func_create_testdir): Don't assume that the shell
4319         retokenizes after expanding "$@" inside the call to
4320         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
4322 2017-10-27  Jim Meyering  <meyering@fb.com>
4324         timespec.h: use "assure" to avoid a spurious warning
4325         * lib/timespec.h: Include "assure.h" and use it to help
4326         gcc7's -Wstrict-overflow avoid a false positive warning
4327         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
4328         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
4329         * modules/timespec (Depends-on): Add assure.
4331 2017-10-29  Bruno Haible  <bruno@clisp.org>
4333         Avoid several test failures with traditional locales on Haiku.
4334         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
4335         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
4336         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
4337         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
4338         LOCALE_ZH_CN=none.
4340 2017-10-29  Bruno Haible  <bruno@clisp.org>
4342         strerror_r-posix: Fix behaviour and test failure on Haiku.
4343         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
4344         are positive. Work around return value 0 instead of ERANGE on Haiku.
4345         For unknown error numbers, use a format string consistent with perror().
4346         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
4347         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
4348         are positive.
4350 2017-10-29  Bruno Haible  <bruno@clisp.org>
4352         get-rusage-data: Avoid crash on Haiku.
4353         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
4355 2017-10-29  Bruno Haible  <bruno@clisp.org>
4357         get-rusage-as: Avoid crash on Haiku.
4358         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
4360 2017-10-29  Bruno Haible  <bruno@clisp.org>
4362         ilogbl: Ensure replacement on Haiku.
4363         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
4364         REPLACE_ILOGBL if ilogbl does not work.
4365         (gl_FUNC_ILOGBL_WORKS): New macro.
4366         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
4367         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
4368         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
4369         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
4370         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
4372 2017-10-29  Bruno Haible  <bruno@clisp.org>
4374         expl: Ensure replacement on Haiku.
4375         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
4376         zero.
4377         * doc/posix-functions/expl.texi: Mention the Haiku problem.
4379 2017-10-29  Bruno Haible  <bruno@clisp.org>
4381         math: Fix test failure on Haiku.
4382         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
4383         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
4384         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
4385         * doc/posix-headers/math.texi: Mention the Haiku problem.
4387 2017-10-29  Bruno Haible  <bruno@clisp.org>
4389         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
4390         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
4391         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
4393 2017-10-29  Bruno Haible  <bruno@clisp.org>
4395         crypto/*: Verify that the header file is self-contained.
4396         * tests/test-gc-*.c: Include the module's header file immediately after
4397         <config.h>.
4398         * tests/test-hmac-*.c: Likewise.
4399         * tests/test-arcfour.c: Likewise.
4400         * tests/test-arctwo.c: Likewise.
4401         * tests/test-des.c: Likewise.
4402         * tests/test-md2.c: Likewise.
4403         * tests/test-md4.c: Likewise.
4404         * tests/test-md5.c: Likewise.
4405         * tests/test-rijndael.c: Likewise.
4406         * tests/test-sha1.c: Likewise.
4407         * tests/test-sm3.c: Likewise.
4409 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4410             Bruno Haible  <bruno@clisp.org>
4412         crypto/gc: fix build failure with -Werror=suggest-attribute=const
4413         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
4415 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4417         New module: crypto/gc-sm3
4418         * lib/gc.h: Declare SM3-related stuffs.
4419         * lib/gc-gnulib.c: Support sm3 in internal functions.
4420         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
4421         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
4422         * modules/crypto/gc-sm3: Define gc-sm3 module.
4423         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
4424         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
4425         * MODULES.html.sh: List gc-sm3 module.
4427 2017-10-29  Bruno Haible  <bruno@clisp.org>
4429         random, random_r: Mention different prototypes on Haiku.
4430         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
4431         * doc/glibc-functions/random_r.texi: Likewise.
4432         * doc/glibc-functions/initstate_r.texi: Likewise.
4433         * doc/glibc-functions/setstate_r.texi: Likewise.
4435 2017-10-28  Bruno Haible  <bruno@clisp.org>
4437         posix_spawn: Avoid spurious message in configure output.
4438         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
4439         'cmp' command.
4441 2017-10-28  Bruno Haible  <bruno@clisp.org>
4443         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
4444         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
4445         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
4447 2017-10-28  Bruno Haible  <bruno@clisp.org>
4449         ioctl: Override non-POSIX declaration on Haiku.
4450         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
4451         * lib/sys_ioctl.in.h: Add comment about Haiku.
4452         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
4453         * doc/glibc-headers/sys_ioctl.texi: Likewise.
4455 2017-10-28  Bruno Haible  <bruno@clisp.org>
4457         crypto/sm3: Add overview documentation to the .h file.
4458         * lib/sm3.h: Add comments.
4460 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4462         New module: crypto/sm3
4463         This new module can be used to compute SM3 message digest of files or
4464         memory blocks according to the specification GM/T 004-2012
4465         Cryptographic Hash Algorithm SM3, published by State Cryptography
4466         Administration, China.
4467         The official SM3 cryptographic hash algorithm specification is
4468         available at
4469         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
4470         * lib/sm3.h: Declare the APIs of sm3 module.
4471         * lib/sm3.c: Implement SM3 hash algorithm.
4472         * m4/sm3.m4: m4 file for sm3 module.
4473         * modules/crypto/sm3: Define sm3 module.
4474         * tests/test-sm3.c: Implement SM3 test case.
4475         * modules/crypto/sm3-tests: Define sm3 test module.
4476         * MODULES.html.sh: List sm3 module.
4478 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4480         gc-libgcrypt: fix undefined enum type in switch statement
4481         Resolve the following build failure:
4482         lib/gc-libgcrypt.c: In function 'gc_hash_open':
4483         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
4484         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
4485              case 0:
4486              ^~~~
4487         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
4488         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
4490 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
4492         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
4493         Resolve the following build failure:
4494         lib/gc-libgcrypt.c: In function 'gc_hash_read':
4495         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
4496         in signedness [-Werror=pointer-sign]
4497             digest = gcry_md_read (ctx->gch, 0);
4498                    ^
4499         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
4501 2017-10-26  Bruno Haible  <bruno@clisp.org>
4503         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
4504         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
4505         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
4507 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4509         glob: fix another heap buffer overflow
4510         Problem reported by Tim Rühsen in:
4511         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
4512         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
4514 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4516         quotearg: pacify compiler re unsigned
4517         * lib/quotearg.c (quotearg_n_options):
4518         Rewrite to avoid diagnostic from overly-picky compiler.
4519         Problem reported by Sami Kerola in:
4520         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
4522         glob: fix heap buffer overflow
4523         * lib/glob.c (glob): Fix off-by-one error introduced into
4524         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
4525         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
4526         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
4527         Fix suggested by Bruno Haible.
4529 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4531         glob: pacify fuzzer for mempcpy
4532         Problem reported by Tim Rühsen in:
4533         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
4534         * lib/glob.c (glob): Do not pass NULL to mempcpy.
4536 2017-10-12  Bruno Haible  <bruno@clisp.org>
4538         doc: Fix syntax error (regression from 2017-10-03).
4539         * doc/posix-functions/strncpy.texi: Fix syntax error.
4541 2017-10-12  Bruno Haible  <bruno@clisp.org>
4543         doc: Update for Solaris 11.3.
4544         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
4545         mention Solaris 11.3.
4546         * m4/log2.m4: Fix comments.
4547         * m4/log2f.m4: Likewise.
4548         * m4/printf.m4: Update comments.
4549         * m4/rename.m4: Likewise.
4550         * m4/strncat.m4: Likewise.
4552         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
4554 2017-10-10  Bruno Haible  <bruno@clisp.org>
4556         doc: Improve doc about ioctl.
4557         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
4558         prototype.
4560 2017-10-09  Bruno Haible  <bruno@clisp.org>
4562         wcwidth: Don't use obsolete syntax of 'test'.
4563         Reported by Eric Blake.
4564         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
4565         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
4567 2017-10-09  Bruno Haible  <bruno@clisp.org>
4569         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
4570         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
4571         and Daniel P. Berrange <berrange@redhat.com>.
4572         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
4573         on glibc systems. The getopt-pfx-core.h file declares exactly what
4574         unistd.h needs, nothing more.
4576 2017-10-08  Bruno Haible  <bruno@clisp.org>
4578         vma-iter: Improve support for FreeBSD.
4579         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
4580         vma_iterate.
4581         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
4583 2017-10-08  Bruno Haible  <bruno@clisp.org>
4585         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
4586         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
4588 2017-10-07  KO Myung-Hun  <komh@chollian.net>
4590         test-framework-sh: Fix 'invalid path dir' error.
4591         On OS/2, a path separator is ';' not ':'. And ':' is used as a
4592         separator between a drive letter and directory parts.
4593         As a result, an absolute path such as x:/path/to/dir on OS/2 is
4594         treated as an invalid path dir.
4595         * tests/init.sh (PATH_SEPARATOR): Set at startup.
4596         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
4597         instead of hard coded ':'.
4599 2017-10-07  Bruno Haible  <bruno@clisp.org>
4601         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
4602         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
4603         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
4604         (rof_open): On Linux, do multiple read() calls and make sure
4605         MIN_LEFTOVER bytes are left when read() returns.
4607 2017-10-07  Bruno Haible  <bruno@clisp.org>
4609         vma-iter: Improve support for GNU/Hurd.
4610         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
4611         API, not the /proc file system.
4613 2017-10-07  Bruno Haible  <bruno@clisp.org>
4615         test-framework-sh: Don't require bash on Windows and OS/2.
4616         Reported by KO Myung-Hun.
4617         * tests/test-init.sh: Use 'shopt' only when running in bash.
4619 2017-10-06  KO Myung-Hun  <komh@chollian.net>
4621         wcwidth: check a macro version of wcwidth () as well
4622         * lib/wchar.in.h: Revert commit from 2016-01-14.
4623         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
4625 2017-10-06  Bruno Haible  <bruno@clisp.org>
4627         getopt-posix: Clarify copyright header.
4628         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
4629         * lib/getopt-pfx-core.h: Likewise.
4630         * lib/getopt-pfx-ext.h: Likewise.
4631         * lib/getopt-cdefs.in.h: Likewise.
4633 2017-10-03  Bruno Haible  <bruno@clisp.org>
4635         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
4636         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
4637         gl_HOST_CPU_C_ABI.
4639 2017-10-03  Bruno Haible  <bruno@clisp.org>
4641         doc: warn about misuse of strncpy and wcsncpy.
4642         * doc/posix-functions/strcpy.texi: Describe requirements on prior
4643         memory allocation.
4644         * doc/posix-functions/wcscpy.texi: Likewise.
4645         * doc/posix-functions/strncpy.texi: Describe what this function is not
4646         useful for.
4647         * doc/posix-functions/wcsncpy.texi: Likewise.
4649 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
4651         fsuage: fix typo in previous change
4652         * lib/fsusage.c: Remove stray include of full-read.h.
4653         Problem reported by Sam Steingold for macOS (Bug#28669).
4655 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
4657         fsusage: remove SVR2 support
4658         SVR2 was obsolete by 1986 and is no longer supported by anybody,
4659         and its code was getting in the way of use of this module by
4660         Emacs, which has its own ‘read’ function anyway.
4661         * lib/fsusage.c: Do not include sys/filsys.h.
4662         (get_fs_usage): Remove SVR2-specific code.
4663         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
4664         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
4665         * modules/fsusage (Depends-on): Do not depend on full-read.
4667         Simplify autoupdate of licenses
4668         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
4669         place.
4671 2017-10-01  Bruno Haible  <bruno@clisp.org>
4673         vma-iter: Add support for GNU/Hurd.
4674         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
4675         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4677 2017-09-30  Bruno Haible  <bruno@clisp.org>
4679         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
4680         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
4681         fail when module 'largefile' is in use.
4682         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
4683         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
4684         Don't test HAVE_SYS_PROCFS_H.
4686 2017-09-30  Bruno Haible  <bruno@clisp.org>
4688         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
4689         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
4690         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
4691         * modules/havelib (Depends-on): Add host-cpu-c-abi.
4693 2017-09-30  Bruno Haible  <bruno@clisp.org>
4695         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
4696         * lib/uniname/uniname.c (unicode_name_character): Add braces around
4697         scope of local variables.
4699 2017-09-28  Bruno Haible  <bruno@clisp.org>
4701         string: code style
4702         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
4703         substitutable variables.
4704         * modules/string (Makefile.am): Likewise.
4706 2017-09-26  Bruno Haible  <bruno@clisp.org>
4708         uniname/uniname-tests: Tighten code.
4709         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
4710         local variables into one.
4712 2017-09-26  Bruno Haible  <bruno@clisp.org>
4714         vma-iter: Improvements for Linux and BSD platforms.
4715         - Add support for DragonFly BSD.
4716         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
4717         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
4718         Read the entire file into memory in a single system call.
4719         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
4720         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
4722 2017-09-26  Bruno Haible  <bruno@clisp.org>
4724         vma-iter: Provide the protection flags on FreeBSD.
4725         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
4726         skip three fields between the addresses and the protection flags.
4728 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4730         glob: remove bogus extern decl
4731         * lib/glob.c (__glob_pattern_type): Remove now-spurious
4732         extern declaration.  Problem reported by Adhemerval Zanella in:
4733         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
4735 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4737         uniname/uniname-tests: integer overflow fix
4738         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
4739         Check for integer overflow.
4741         duplocale-tests: fix unlikely crash
4742         * tests/test-duplocale.c (get_locale_dependent_values):
4743         Don’t crash with absurdly long month names.
4745         maint: fix overflow checking in nap.h
4746         * modules/chown-tests:
4747         * modules/fchownat-tests, modules/fdutimensat-tests:
4748         * modules/futimens-tests, modules/lchown-tests:
4749         * modules/stat-time-tests, modules/utime-tests:
4750         * modules/utimens-tests, modules/utimensat-tests:
4751         Depend on intprops.
4752         * tests/nap.h: Include intprops.h.
4753         (diff_timespec): Handle overflow properly.
4755         sys_types: update URL
4756         * m4/sys_types_h.m4: Use https: URL.
4758         parse-datetime: fix dependency
4759         * modules/parse-datetime (Depends-on): Depend
4760         on nstrftime, not strftime.
4762         parse-datetime, posixtm: avoid uninit access
4763         * lib/parse-datetime.y (parse_datetime2):
4764         * lib/posixtm.c (posixtime):
4765         Do not access uninitialized storage, even though the resulting
4766         value is never used.
4768 2017-09-25  Bruno Haible  <bruno@clisp.org>
4770         vma-iter: Improvements for BSD platforms.
4771         - Add support for GNU/kFreeBSD.
4772         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
4773         - Speed up on OpenBSD.
4774         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
4775         (vma_iterate_bsd): New function.
4776         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
4777         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
4778         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
4779         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
4781 2017-09-23  Bruno Haible  <bruno@clisp.org>
4783         strfmon_l: New module.
4784         * modules/strfmon_l: New file.
4785         * lib/strfmon_l.c: New file.
4786         * m4/strfmon_l.m4: New file.
4787         * doc/posix-functions/strfmon_l.texi: Mention the new module.
4788         * modules/strfmon_l-tests: New file.
4789         * tests/test-strfmon_l.c: New file.
4791         monetary: New module.
4792         * modules/monetary: New file.
4793         * lib/monetary.in.h: New file.
4794         * m4/monetary_h.m4: New file.
4795         * doc/posix-headers/monetary.texi: Mention the new module.
4796         * modules/monetary-tests: New file.
4797         * tests/test-monetary.c: New file.
4798         * modules/monetary-c++-tests: New file.
4799         * tests/test-monetary-c++.cc: New file.
4800         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
4802 2017-09-23  Bruno Haible  <bruno@clisp.org>
4804         duplocale tests: Fix test crash on Linux/x86.
4805         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
4806         locale from the current thread before freeing it.
4808 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
4810         mktime: port to OpenVMS
4811         Problem reported by John E. Malmberg in:
4812         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
4813         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
4815 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4817         manywarnings: port to GCC on 64-bit MS-Windows
4818         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
4819         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
4820         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
4822 2017-09-13  Bruno Haible  <bruno@clisp.org>
4824         all: Replace many more http URLs by https URLs. Update stale URLs.
4825         * users.txt: Remove mention of 'newts'.
4826         * lib/localename.c: Update comment about LANG_SOTHO.
4828 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4830         all: Replace many http URLs by https URLs.
4832 2017-09-12  Bruno Haible  <bruno@clisp.org>
4834         doc: Prefer https URLs where possible.
4835         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
4836         * doc/ld-output-def.texi: Remove unavailable URL.
4838 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
4840         maintainer-makefile: FTP -> HTTPS
4841         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
4842         of FTP, which is planned to be decommissioned on 2017-11-01.
4844 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4846         libc-config: Fix __GNUC_PREREQ macro.
4847         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
4848         __GNUC_MINOR.
4850 2017-09-09  Bruno Haible  <bruno@clisp.org>
4852         gnulib-tool: Simplify commit from 2015-08-20.
4853         * gnulib-tool (func_add_or_update): Remove local variable
4854         is_binary_file.
4856 2017-09-08  Bruno Haible  <bruno@clisp.org>
4858         stddef: Avoid conflict with system-defined max_align_t.
4859         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
4860         Reported by Werner Lemberg <wl@gnu.org> in
4861         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
4862         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
4863         (max_align_t): Define as a macro.
4864         (GNULIB_defined_max_align_t): New macro. Guards against multiple
4865         definitions of rpl_max_align_t in different copies of gnulib-generated
4866         <stddef.h>.
4868 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
4870         libc-config: port to MSVC
4871         Problems reported by Gisle Vanem in:
4872         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
4873         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
4874         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
4875         * m4/__inline.m4: New file.
4876         * modules/libc-config (Files): Add it.
4877         (Depends-on): Use it.
4879         glob: Use enum for __glob_pattern_type result
4880         From a patch proposed by Adhemerval Zanella in:
4881         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
4882         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
4883         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
4884         * lib/glob_internal.h (__glob_pattern_type):
4885         * lib/glob.c (glob):
4886         * lib/glob_pattern_p.c (__glob_pattern_p):
4887         Use them.
4889         glob: fix for use in glibc
4890         Problem reported by Adhemerval Zanella in:
4891         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
4892         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
4893         Do not redefine if _LIBC.
4895 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4897         glob: fix bugs with long login names
4898         Problem reported by Adhemerval Zanella in:
4899         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
4900         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
4901         (glob): Use the same scratch buffer for both getlogin_r and
4902         getpwnam_r.  Don’t require preallocation of the login name.  This
4903         simplifies storage allocation, and corrects the handling of
4904         long login names.
4906 2017-09-02  Bruno Haible  <bruno@clisp.org>
4908         dirent: Update doc.
4909         * doc/posix-headers/dirent.texi: More concrete list of platforms.
4911 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4913         glob: fix getpwnam_r errno typo
4914         * lib/glob.c (glob): Fix longstanding misuse of errno after
4915         getpwnam_r, which returns an error number rather than setting
4916         errno.
4918         glob: fix typo in recent change
4919         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
4920         Fix recently-introduced typo.
4922 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4924         glob: don't save and restore errno unnecessarily
4925         * lib/glob.c (glob): Don't save and restore errno
4926         merely because we have getpwnam_r.
4928         glob: don't assume getpwnam_r
4929         * lib/glob.c (glob): Port recent patches to platforms
4930         lacking getpwnam_r.
4932         scratch_buffer: don’t use private glibc API
4933         Suggested by Florian Weimer in:
4934         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
4935         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
4936         * lib/scratch_buffer_grow.c: Rename to
4937         lib/malloc/scratch_buffer_grow.c.
4938         * lib/scratch_buffer_grow_preserve.c: Rename to
4939         lib/malloc/scratch_buffer_grow_preserve.c.
4940         * lib/scratch_buffer_set_array_size.c: Rename to
4941         lib/malloc/scratch_buffer_set_array_size.c.
4942         * lib/scratch_buffer.h: New file.
4943         * modules/scratch_buffer (Files, Makefile.am):
4944         Adjust to source-file renaming.
4946 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4948         glob: use scratch_buffer instead of extend_alloca
4949         Much of the lib/glob.c part of this patch comes from a glibc patch
4950         proposed by Adhemerval Zanella in:
4951         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
4952         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
4953         included via glob.h, does this for us now.
4954         (__set_errno): Remove, as libc-config does this for us now.
4955         Include <scratch_buffer.h>.
4956         (GETPW_R_SIZE_MAX): Remove.
4957         (glob): Use struct scratch_buffer instead of extend_alloca.
4958         * lib/glob.in.h: Include libc-config.h rather than
4959         including <sys/cdefs.h> conditionally.
4960         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
4961         (__glibc_unlikely, __restrict, weak_alias):
4962         Remove, as libc-config does this for us now.
4963         * m4/glob.m4 (gl_PREREQ_GLOB):
4964         Remove sys/cdefs.h tests; no longer needed.
4965         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
4966         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
4968         scratch_buffer: new module
4969         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
4970         * lib/scratch_buffer_grow_preserve.c:
4971         * lib/scratch_buffer_set_array_size.c:
4972         New files, copied from glibc with very minor changes that can be
4973         copied back.
4974         * modules/scratch_buffer: New file.
4976         libc-config: new module
4977         * MODULES.html.sh: Add libc-config.
4978         * lib/cdefs.h: New file, copied from the GNU C Library with very
4979         minor changes that can be copied back.
4980         * lib/libc-config.h, modules/libc-config: New files.
4982 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
4984         glob: match dangling symlinks
4985         This fixes a bug I inadvertently introduced to Gnulib when I
4986         merged glibc glob back into gnulib on 2007-10-16.  This fix is
4987         inspired by a patch proposed for glibc by Adhemerval Zanella in:
4988         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
4989         * doc/posix-functions/glob.texi: Update list of affected platforms.
4990         * lib/glob.c (__lstat64): New macro.
4991         (is_dir): New function.
4992         (glob, glob_in_dir): Match symlinks even if they are dangling.
4993         (link_stat, link_exists_p): Remove.  All uses removed.
4994         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
4995         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
4996         * modules/glob-tests (Depends-on): Add symlink.
4997         * tests/test-glob.c: Include errno.h, unistd.h.
4998         (BASE): New macro.
4999         (main): Test dangling symlinks, if symlinks are supported.
5001         glob, backupfile: inode 0 is a valid inode number
5002         * doc/posix-functions/readdir.texi (readdir):
5003         * doc/posix-headers/dirent.texi (dirent.h):
5004         Document more readdir portability issues.
5005         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
5006         (numbered_backup): Don’t treat inode 0 any differently from
5007         other inode values.
5008         * lib/glob.c (struct readdir_result): Remove skip_entry member.
5009         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
5010         All uses removed.
5011         * modules/glob (Depends-on): Remove d-ino.
5013         glob: simplify symlink detection
5014         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
5015         uint8_t, as C99 does not require uint8_t.
5016         (struct readdir_result): Use it.  Do not define skip_entry unless
5017         it is needed; this saves a byte on platforms lacking d_ino.
5018         (readdir_result_type, readdir_result_skip_entry):
5019         New functions, replacing ...
5020         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
5021         ... these functions, which were removed.  This makes the callers
5022         easier to read.  All callers changed.
5023         (D_INO_TO_RESULT): Now empty if there is no d_ino.
5025 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5027         fts-tests: tag as a longrunning-test so not included by default
5028         * modules/fts-tests: This test takes about 20s on current systems,
5029         and uses about 285M of space on ext4.
5031 2017-08-30  Pádraig Brady  <P@draigBrady.com>
5033         renameat2: fix compilation on alpine linux
5034         * m4/renameat.m4: Check for <linux/fs.h> presence.
5035         * lib/renameat2.h: Only include <linux/fs.h> if present.
5036         Reported by Assaf Gordon on Alpine Linux.
5038 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5040         glob: try to port recent changes to MS-Windows
5041         Problem reported by Bruno Haible in:
5042         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
5043         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
5044         * lib/glob.in.h (__glob_pattern_p): ... to here.
5046 2017-08-24  Eric Blake  <eblake@redhat.com>
5048         warnings: fix compilation with old autoconf
5049         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
5050         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
5051         AC_DEFUN.
5052         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
5053         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
5055 2017-08-24  Bruno Haible  <bruno@clisp.org>
5057         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
5058         * modules/glob (Depends-on): Add c99.
5060 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5062         glob: fix typo that broke platforms lacking d_ino
5063         This typo also hurt performance on GNU/Linux and similar hosts.
5064         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
5065         in previous change.
5067 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5069         glob: merge from glibc with Zanella glob changes
5070         Merge glob from glibc, with changes for glob proposed
5071         by Adhemerval Zanella in the thread starting here:
5072         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
5073         plus some fixes for this merge.
5074         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
5075         New files, ported from glibc.
5076         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
5077         with __restrict.
5078         (__size_t): Remove.  All uses replaced by size_t.
5079         (size_t): Define by defining __need_size_t and including <stddef.h>.
5080         This should work even in non-glibc platforms, where any name
5081         pollution is OK.
5082         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
5083         (struct stat64): Don’t worry about __GLOB_GNULIB.
5084         (glob, globfree, glob_pattern_p): Remove macros for
5085         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
5086         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
5087         but set errno.
5088         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
5089         removed since the glibc behavior works on null pointers.
5090         Do not include stdio.h; old SunOS is irrelevant now.
5091         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
5092         Include glob_internal.h.
5093         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
5094         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
5095         worked only coincidentally.
5096         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
5097         Remove macros; now done in glob.in.h.
5098         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
5099         (glob): Properly initialize glob structure with
5100         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
5101         Remove old code using SHELL since Bash no longer
5102         uses this.
5103         (glob, prefix_array): Separate MS code better.
5104         (glob, glob_in_dir): Use C99 decls before statements when glibc
5105         does.
5106         (glob_in_dir): Remove old Amiga and VMS code.
5107         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
5108         separate files.
5109         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
5110         (__glibc_unlikely):
5111         Move here from glob.c.
5112         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
5113         (weak_alias): New macro.
5114         (__size_t): Remove.  All uses replaced by size_t.
5115         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
5116         * modules/glob (Files): Add +lib/glob_internal.h,
5117         lib/glob_pattern_p.c, lib/globfree.c.
5118         (Depends-on): Remove snippet/arg-nonnull.
5120 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5122         glob: port to clang's Undefined Sanitizer
5123         Problem reported by Tim Rühsen in:
5124         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
5125         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
5126         (glob_in_dir): Do not rely on undefined behavior in accessing
5127         struct members beyond their bounds.  Use a flexible array member
5128         instead.
5130 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5132         vc-list-files: port to Solaris 10
5133         * build-aux/vc-list-files: Don't assume test -e works.
5135 2017-08-21  Karl Berry  <karl@freefriends.org>
5137         * doc/posix-functions/srandom.texi (srandom): typo }.
5139 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5141         git-version-gen: port to Solaris 10
5142         Problem reported by Dagobert Michelsen in:
5143         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
5144         * build-aux/git-version-gen (v_from_git):
5145         Use expr instead of shell substitution.
5147 2017-08-19  Bruno Haible  <bruno@clisp.org>
5149         host-cpu-c-abi: Improve detection of MIPS ABI.
5150         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
5151         _MIPS_SIM.
5153 2017-08-17  Bruno Haible  <bruno@clisp.org>
5155         hypot tests: Fix test failure on FreeBSD 11.0/x86.
5156         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
5158 2017-08-17  Bruno Haible  <bruno@clisp.org>
5160         float: Fix LDBL_MIN value on FreeBSD/x86.
5161         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
5163 2017-08-17  Bruno Haible  <bruno@clisp.org>
5165         random: Fix test compilation failure on Cygwin 1.5.25.
5166         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
5167         HAVE_DECL_SETSTATE.
5168         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
5169         declared.
5170         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
5171         HAVE_DECL_SETSTATE.
5172         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
5173         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
5174         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
5175         * doc/posix-functions/random.texi: Likewise.
5176         * doc/posix-functions/setstate.texi: Likewise.
5177         * doc/posix-functions/srandom.texi: Likewise.
5179 2017-08-16  Bruno Haible  <bruno@clisp.org>
5181         stdnoreturn: Fix test compilation failure on Cygwin.
5182         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
5183         <stdnoreturn.h> replacement.
5184         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
5185         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
5187 2017-08-16  Bruno Haible  <bruno@clisp.org>
5189         thread: Fix conflict with pthread_sigmask module.
5190         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
5191         it's defined as a macro.
5192         * modules/thread (Depends-on): Add pthread_sigmask.
5194 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
5196         rename: port better to NetBSD
5197         * doc/posix-functions/rename.texi (rename): NetBSD 7
5198         does not have the link-count bug.
5199         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
5200         broken merely because rename ("a", "b") removes "a" when the two
5201         names are hard links to the same file.
5203 2017-08-16  Bruno Haible  <bruno@clisp.org>
5205         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
5206         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
5207         the target file names with '$(srcdir)/'.
5208         * modules/unicase/locale-language (Makefile.am): Likewise.
5209         * modules/unicase/special-casing (Makefile.am): Likewise.
5210         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
5211         * modules/unictype/category-byname (Makefile.am): Likewise.
5212         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
5213         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
5214         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
5215         * modules/unictype/property-byname (Makefile.am): Likewise.
5216         * modules/unictype/scripts (Makefile.am): Likewise.
5217         * modules/uninorm/composition (Makefile.am): Likewise.
5219 2017-08-16  Bruno Haible  <bruno@clisp.org>
5221         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
5222         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
5223         value for OpenBSD.
5225 2017-08-16  Bruno Haible  <bruno@clisp.org>
5227         rename, renameat: Update doc regarding NetBSD.
5228         * doc/posix-functions/rename.texi: Clarify that when using
5229         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
5230         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
5231         version.
5233 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5235         renameat2: port better to macOS
5236         * lib/renameat2.c (renameat2): Use renameatx_np if available.
5238         futimens: don’t assume struct timespec layout
5239         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
5240         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
5241         * tests/test-fdutimensat.c (main):
5242         * tests/test-futimens.h (test_futimens):
5243         * tests/test-lutimens.h (test_lutimens):
5244         * tests/test-utimens.h (test_utimens):
5245         * tests/test-utimensat.c (main):
5246         Don’t assume that struct timespec is a two-member structure in
5247         tv_sec, tv_nsec order.  Although this is true on all platforms we
5248         know about, POSIX does not guarantee it.
5250         rename: document+test NetBSD rename
5251         Test failure reported by Bruno Haible in:
5252         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
5253         This is an area where NetBSD is better-behaved than POSIX,
5254         so allow the NetBSD behavior in tests.
5255         * doc/posix-functions/rename.texi:
5256         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
5257         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
5259 2017-08-15  Bruno Haible  <bruno@clisp.org>
5261         renameat: Ensure declaration in <stdio.h> on NetBSD.
5262         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
5263         * doc/posix-functions/renameat.texi: Mention this problem.
5265 2017-08-15  Bruno Haible  <bruno@clisp.org>
5267         duplocale: Work around NetBSD 7.0 bug.
5268         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
5269         * lib/duplocale.c: Add comment about NetBSD problem.
5270         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
5272 2017-08-15  Bruno Haible  <bruno@clisp.org>
5274         duplocale tests: Verify use with *_l functions.
5275         * modules/duplocale-tests (configure.ac): Test for uselocale and
5276         some *_l functions.
5277         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
5278         from main.
5279         (get_locale_dependent_values_from, test_with_locale_parameter): New
5280         functions.
5281         (main): Test both test_with_uselocale and test_with_locale_parameter.
5283 2017-08-15  Bruno Haible  <bruno@clisp.org>
5285         extensions: Enable NetBSD specific extensions.
5286         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
5288 2017-08-14  Bruno Haible  <bruno@clisp.org>
5290         open, openat: Update doc about O_CLOEXEC.
5291         * doc/posix-functions/open.texi: More concrete list of platforms.
5292         * doc/posix-functions/openat.texi: Likewise.
5294 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
5296         open: support O_CLOEXEC
5297         * NEWS, doc/posix-functions/open.texi:
5298         * doc/posix-functions/openat.texi: Document this.
5299         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
5300         (GNULIB_defined_O_CLOEXEC): New symbol.
5301         * lib/open.c: Include cloexec.h.
5302         (open): Support O_CLOEXEC.
5303         * lib/openat.c: Include cloexec.h.
5304         (rpl_openat): Support O_CLOEXEC.
5305         * lib/popen-safer.c: Do not include cloexec.h.
5306         (open_noinherit): Remove.
5307         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
5308         * lib/save-cwd.c: Do not include cloexec.h.
5309         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
5310         * m4/open-cloexec.m4: New file.
5311         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
5312         Replace 'open' if O_CLOEXEC is not present.
5313         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
5314         Replace 'openat' if O_CLOEXEC is not present.
5315         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
5316         * modules/open (Files): Add m4/open-cloexec.m4.
5317         (Depends-on): Depend on cloexec if replacing 'open'.
5318         * modules/openat (Files): Add m4/open-cloexec.m4.
5319         (Depends-on): Depend on cloexec if replacing openat.
5320         * modules/popen-safer (Depends-on): Remove cloexec.
5321         * modules/save-cwd (Depends-on): Remove cloexec, and add
5322         fd-safer-flag and 'open'.
5324 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
5326         reallocarray: minor fixes
5327         * doc/glibc-functions/reallocarray.texi: Update version numbers.
5328         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
5329         * modules/reallocarray (License): Change from GPL to LGPL.
5330         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
5331         Indent properly and don't use tabs.
5333 2017-08-13  Darshit Shah  <darnir@gnu.org>
5335         reallocarray: New module
5336         reallocarray is a new function in glibc 2.26 to safely allocate an array
5337         of memory locations with integer overflow protection.
5338         * MODULES.html.sh: Add reallocarray.
5339         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
5340         * lib/reallocarray.c: New file to implement module reallocarray.
5341         * lib/stdlib.in.h: Add function declarations for reallocarray.
5342         * m4/reallocarray.m4: New file.
5343         * m4/stdlib_h.m4: Declare reallocarray.
5344         * modules/reallocarray: New file.
5345         * modules/reallocarray-test: New file.
5346         * modules/stdlib: Coerce stdlib.h to export reallocarray.
5347         * tests/test-reallocarray.c: New test.
5349 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
5351         dirent-safer: fix cloexec race
5352         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
5353         (opendir_safer): Use F_DUPFD_CLOEXEC.
5354         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
5355         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
5356         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
5357         instead of dup_safer.
5359         fts: fix cloexec races
5360         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
5361         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
5362         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
5363         (fd_ring_check): Set cloexec flag on new file descriptors.
5364         (fts_build, fd_ring_check): While we’re at it, make sure the
5365         resulting file descriptor is not 0, 1, or 2, since that is easy.
5367 2017-08-11  Bruno Haible  <bruno@clisp.org>
5369         fts tests: Fix link error.
5370         Reported by Tom G. Christensen in
5371         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
5372         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
5374 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
5376         fts: port recent changes to CentOS 6
5377         Problem reported by Tom G. Christensen in:
5378         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
5379         * lib/fts.c (fsword): New type.
5380         (struct dev_type, filesystem_type): Use it.
5381         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
5382         Also, check for f_type only if fstatfs and sys/vfs.h work.
5384 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
5386         tempname: do not depend on secure_getenv
5387         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
5388         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
5389         * modules/tempname (Depends-on): Remove secure_getenv.
5391 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
5393         extensions: add _OPENBSD_SOURCE
5394         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
5396 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
5397             Bruno Haible  <bruno@clisp.org>
5399         manywarnings: Add support for C++.
5400         * build-aux/g++-warning.spec: New file.
5401         * m4/manywarnings-c++.m4: New file.
5402         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
5403         redirects to manywarnings-c++.m4.
5404         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
5406 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
5408         git-version-gen: another fix for tags with "-"
5409         * build-aux/git-version-gen: Improve fix for tags containing "-".
5410         Suggested by Markus Armbruster in:
5411         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
5413 2017-08-06  Bruno Haible  <bruno@clisp.org>
5415         warnings, manywarnings: Add support for multiple languages, not just C.
5416         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
5417         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
5418         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
5419         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
5420         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
5421         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
5422         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
5423         of the current language. If C++ is the current language, modify
5424         WARN_CXXFLAGS instead of WARN_CFLAGS.
5425         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
5426         gl_MANYWARN_ALL_GCC.
5427         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
5429 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
5431         git-version-gen: Fix for tags containing '-'
5433         Really old versions of git-describe (before v1.5.0, Feb 2007)
5434         don't have the number of commits in their long format output,
5435         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
5436         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
5437         recognizes both patterns, and normalizes the old format to the new one.
5439         Unfortunately, this normalization code gets confused when the tag
5440         contains '-'.  Reproducer:
5442             $ git-tag -m test v0.2-rc1
5443             $ build-aux/git-version-gen .tarball-version; echo
5444             build-aux/git-version-gen: WARNING: git rev-list failed
5445             UNKNOWN
5447         We take exact tag "v0.2-rc1" for the old format, extract the presumed
5448         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
5449         commits since tha tag.  Fails, because tag "v0.2" does not exist.
5451         * git-version-gen: We could perhaps drop support for versions from
5452         more than a decade ago.  But tightening the pattern match is easy
5453         enough, so do that.  Still breaks when you use version tags ending in
5454         something matching -g????, but you arguably get what you deserve then.
5456 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
5458         valgrind-tests: use ls, and cache
5459         * m4/valgrind-tests.m4: Test ls, not bash.
5460         Problem reported by Reuben Thomas.
5461         Also, cache the result so that it can be overridden.
5463 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
5465         manywarnings: port to 64-bit GCC builds of Emacs
5466         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
5467         object size rather than hardwiring 2147483647.  This is needed to
5468         build GNU Emacs, which has one conditional (and used
5469         only-in-theory) call to malloc with a literal greater than
5470         2147483647.
5472 2017-08-04  Bruno Haible  <bruno@clisp.org>
5474         Relax the license of some modules with no runtime code.
5475         * modules/std-gnu11 (License): Set to 'unlimited'.
5476         * modules/c99 (License): Likewise.
5477         Reported by Reuben Thomas <rrt@sc3d.org>.
5478         * modules/d-ino (License): Set to 'LGPL'.
5479         * modules/host-os (License): Likewise.
5480         * modules/longlong (License): Likewise.
5482 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
5484         renameat2: port to RHEL 7 + NFS
5485         * lib/renameat2.c (renameat2) [SYS_renameat2]:
5486         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
5487         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
5489 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
5491         renameat2: port to non-renameat platforms
5492         Problem reported for MSVC-2015 by Gisle Vanem in:
5493         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
5494         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
5495         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
5497 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
5499         manywarnings: port to 32-bit GCC bug
5500         Problem reported by Pino Toscano in:
5501         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
5502         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
5503         not 2**63 - 1, to work around the following GCC bug:
5504         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
5506 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
5508         backupfile: new function to validate backup suffix
5509         * lib/backupfile.c (set_simple_backup_suffix): New function.
5510         (backupfile_internal): Use it.
5512         canonicalize: fix EOVERFLOW commentary
5513         Problem reported by Bruno Haible in:
5514         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
5515         * lib/canonicalize.c (canonicalize_filename_mode):
5516         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
5518         Don't interpret EOVERFLOW to mean nonexistence
5519         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
5520         may be EOVERFLOW; this is likely more useful than reporting the
5521         stat errno.
5522         * lib/glob.c (link_stat): Rename from link_exists2_p and
5523         return -1/0 instead of 0/1.  Caller changed.
5524         * lib/glob.c (link_exists_p):
5525         * lib/renameat2.c (rename_noreplace, renameat2):
5526         * lib/tempname.c (try_nocreate):
5527         If errno == EOVERFLOW then the directory entry exists, so do not
5528         act as if it does not exist.
5530         backup-rename: new module
5531         It is like backupfile, except it avoids some race conditions,
5532         and it does not output to stderr or exit.
5533         * MODULES.html.sh: Add backup-rename.
5534         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
5535         * modules/backup-rename: New files.
5536         * lib/backupfile.c: Turn this into an internals file, which
5537         contains code common to backupfile and backup_rename.  Include
5538         backupfile-internal.h instead of backupfile.h.  Do not include
5539         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
5540         renameat2.h and fcntl.h.
5541         (BACKUP_NOMEM): New constant.
5542         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
5543         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
5544         (backupfile_internal): Rename from find_backup_file_name.
5545         Support new arg RENAME.
5546         (backup_args, backup_types, get_version, xget_version):
5547         Move to lib/backup-find.c.
5548         * lib/backupfile.h (backup_file_rename): New decl.
5549         * modules/backupfile (Files): Add lib/backup-internal.h,
5550         lib/backup-find.c.
5551         (Depends-on): Add dirfd, fcntl, renameat2.
5552         (lib_SOURCES): Add backup-find.c.
5554         renameat2: port better to older Solaris
5555         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
5556         Add goto to use a label, to silence picky compilers.
5558         fts-tests: port to gcc -Wwrite-strings
5559         * tests/test-fts.c (base, base_d): New static vars.
5560         (argv, remove_tree, main): Use them.
5562 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5564         relocatable-lib{,-lgpl}: improve documentation
5565         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
5566         Various other updates.
5568 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
5569             Bruno Haible  <bruno@clisp.org>
5571         relocatable-lib{,-lgpl}: add Valgrind suppressions
5572         * lib/relocatable.valgrind: New file.
5573         * modules/relocatable-lib (Files): Add relocatable.valgrind.
5574         * modules/relocatable-lib-lgpl: Likewise.
5576 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
5578         relocatable: Make the license on the sources the GPL.
5579         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
5580         LGPL, which was a special case so that the relocatable source files
5581         could be used without gnulib-tool, to GPL. They can still be used under
5582         the LGPL, using the --lgpl option to gnulib-tool.
5584 2017-07-30  Bruno Haible  <bruno@clisp.org>
5586         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
5587         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
5588         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
5589         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
5590         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
5592 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
5594         faccessat: document AT_SYMLINK_NOFOLLOW issue
5595         * doc/posix-functions/faccessat.texi: Modernize platform list.
5596         Document AT_SYMLINK_NOFOLLOW limitation.
5598         renameat2: port to Solaris 10
5599         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
5600         with AT_SYMLINK_NOFOLLOW (which is not portable).
5601         (renameat): Undef before using, to avoid endless recursion when
5602         the replacement renameat calls renameat2 which calls the
5603         replacement renameat.
5604         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
5605         * modules/renameat2 (Depends-on): Remove faccessat.
5606         * modules/renameat-tests (test_renameat_LDADD):
5607         * modules/renameat2-tests (test_renameat2_LDADD):
5608         Remove $(LIB_EACCESS).
5610         renameat2: new module
5611         Although the Linux syscall renameat2 is not in glibc (yet?), it is
5612         useful to have access to its RENAME_NOREPLACE flag.
5613         * MODULES.html.sh (func_all_modules): Add renameat2.
5614         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
5615         * modules/renameat2-tests, tests/test-renameat2.c: New files.
5616         * lib/renameat.c (renameat): Move most of the implementation
5617         to renameat2, and just call renameat2.
5618         * modules/renameat (Files): Remove lib/at-func2.c.
5619         (Depends-on): Depend only on renameat2.
5620         (Include): Remove <fcntl.h>.
5621         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
5622         since renameat (via renameat2) might use faccessat.
5624 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
5626         vc-list-files: Adjust the script to support git worktrees
5627         * build-aux/vc-list-files: Require existence, not directory.
5629 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5631         doc: bring MODULES.html.sh up to date
5632         Somehow a few months ago we stopped updating MODULES.html.sh.
5633         I don’t recall explicitly deciding this, so I updated it now.
5634         Alternatively I suppose we could remove it.
5635         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
5636         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
5637         truncate, utime, utime-h, windows-stat-inodes,
5638         windows-stat-override, windows-stat-timespec, year2038.  Sort.
5640 2017-07-26  Jim Meyering  <meyering@fb.com>
5642         fprintftime: fix build-break caused by recent renaming
5643         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
5644         "strftime.c".
5645         * modules/fprintftime: Depend directly on nstrftime.
5647 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
5649         regex: work with GCC7's -Werror=implicit-fallthrough=
5650         * lib/regex_internal.h (FALLTHROUGH): New macro.
5651         * lib/regcomp.c (peek_token_bracket, parse_expression):
5652         * lib/regexec.c (check_node_accept): Use it.
5654 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
5656         fts: simplify fts_build
5657         * lib/fts.c (fts_build): Simplify, and be lazier about
5658         calling leaf_optimization.
5660         fts: three levels of leaf optimization
5661         * lib/fts.c (enum leaf_optimization): New type with three values.
5662         (S_MAGIC_AFS): New macro.  Sort them.
5663         (leaf_optimization): Rename from leaf_optimization_applies, and
5664         return enum leaf_optimization instead of bool.  All uses changed.
5665         Add cases for unknown type and for AFS.
5666         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
5668         fts: cache dirent_inode_sort_may_be_useful too
5669         * lib/fts.c (struct dev_type): New struct.
5670         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
5671         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
5672         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
5673         Now takes FTSENT const *, not int.  All uses changed.  Use
5674         filesystem_type to cache.
5675         (link_count_optimize_ok): Remove.  Caller changed to use
5676         leaf_optimization_applies, which now uses shared cache.
5678         fts: introduce MIN_DIR_NLINK
5679         * lib/fts.c (MIN_DIR_NLINK): New constant.
5680         Use it instead of 2, whenever we are talking about link counts.
5682         fts: nlink_t signedness fixups
5683         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
5684         so that root need not be a special case later.
5685         (fts_read): Remove now-redundant test for fts_level.
5686         Do not assume that nlink_t is signed.
5687         (fts_build): Remove useless decrement of nlinks.
5688         (fts_stat): Avoid unlikely signed integer overflow later, if
5689         nlink_t is signed.
5691         fts-tests: new module
5692         * modules/fts-tests, tests/test-fts.c: New files.
5694 2017-07-23  Bruno Haible  <bruno@clisp.org>
5696         Rename module 'strftime' to 'nstrftime'.
5697         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
5698         * lib/nstrftime.c: Renamed from lib/strftime.c.
5699         * modules/nstrftime: Renamed from modules/strftime.
5700         (Files, Makefile.am): Update.
5701         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
5702         Fix comment.
5703         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
5704         (Files, Makefile.am): Update.
5705         * modules/strftime: New file, an obsolete indirection.
5706         * doc/posix-functions/strftime.texi: Update reference.
5707         * config/srclist.txt: Update info.
5708         * NEWS: Mention the change.
5710 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
5712         malloca: Silence a warning from clang's memory sanitizer.
5713         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
5714         (freea): Use it.
5716 2017-07-18  Bruno Haible  <bruno@clisp.org>
5718         host-cpu-c-abi: Fix detection of MIPS ABI.
5719         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
5720         ABI, not the CPU instruction set.
5722 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
5724         explicit_bzero: new module
5725         The explicit_bzero function has been added to glibc.
5726         This module is intended to supports its use in GNU programs.
5727         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
5728         * m4/explicit_bzero.m4, modules/explicit_bzero:
5729         New files.
5730         * doc/gnulib.texi (Glibc string.h): Link to new doc.
5731         * lib/string.in.h (explicit_bzero): Declare.
5732         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
5733         * modules/string (string.h): Substitute its vars.
5735 2017-07-16  Bruno Haible  <bruno@clisp.org>
5737         threadlib: Support static linking.
5738         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
5739         set gl_cv_have_weak to 'no'.
5741 2017-07-16  Bruno Haible  <bruno@clisp.org>
5743         unicase/locale-language: Fix link dependencies.
5744         * modules/unicase/locale-language (Link): New section.
5745         * modules/unicase/locale-language-tests (Makefile.am): Link
5746         test-locale-language program with $(LIBTHREAD).
5748 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5750         sys_socket: Add support for OpenVMS.
5751         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
5752         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
5754 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5756         sys_resource: Add support for OpenVMS.
5757         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
5758         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
5760 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
5761             Bruno Haible  <bruno@clisp.org>
5763         math: Add support for OpenVMS.
5764         * lib/math.in.h [__VMS]: Include <fp.h>.
5765         * doc/posix-headers/math.texi: Mention OpenVMS issues.
5767 2017-07-15  Bruno Haible  <bruno@clisp.org>
5769         getdtablesize: Add minimal support for OpenVMS.
5770         Reported by John E. Malmberg <wb8tyw@qsl.net>.
5771         * modules/getdtablesize (Description): Fix.
5772         * lib/getdtablesize.c: Fix comment.
5773         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
5774         getdtablesize() function, even though the test fails.
5775         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
5776         limitation on OpenVMS.
5778 2017-07-13  Bruno Haible  <bruno@clisp.org>
5780         Revisit cross-compilation guesses.
5781         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
5783 2017-07-13  Bruno Haible  <bruno@clisp.org>
5785         Improve cross-compilation guesses for native Windows.
5786         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
5787         Windows.
5788         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
5789         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
5790         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
5791         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
5792         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
5793         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
5794         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
5795         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5796         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5797         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
5798         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5799         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
5800         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
5801         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
5802         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
5803         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
5804         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
5805         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
5806         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
5807         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
5808         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
5809         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5810         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
5811         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
5812         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
5813         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
5814         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5815         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5816         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
5817         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
5818         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
5819         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
5820         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5821         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
5822         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
5823         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
5824         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
5825         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
5826         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
5827         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
5828         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
5829         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
5830         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
5831         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
5832         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
5833         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
5834         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
5835         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
5836         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
5837         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
5838         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
5839         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
5840         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
5841         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
5842         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
5843         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
5844         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
5845         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5846         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
5847         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
5848         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
5849         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
5850         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
5851         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5852         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5853         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5854         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
5855         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
5856         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
5857         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
5858         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
5859         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
5860         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5861         * m4/regex.m4 (gl_REGEX): Likewise.
5862         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5863         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
5864         gl_FUNC_REMAINDERF_WORKS): Likewise.
5865         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
5866         gl_FUNC_REMAINDERL_WORKS): Likewise.
5867         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
5868         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5869         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
5870         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5871         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5872         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
5873         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
5874         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
5875         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
5876         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5877         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
5878         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
5879         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
5880         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
5881         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
5882         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
5883         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5884         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5885         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
5886         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5887         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
5888         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5889         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
5890         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
5891         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5892         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
5893         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
5894         Likewise.
5895         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
5896         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
5897         Windows. Enable also on Autoconf 2.70.
5898         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
5899         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
5900         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
5901         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
5902         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
5903         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
5904         for native Windows.
5905         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
5906         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
5908 2017-07-13  Bruno Haible  <bruno@clisp.org>
5910         Improve cross-compilation guesses for native Windows.
5911         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
5912         Windows.
5913         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
5914         memchr.m4.
5915         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
5917 2017-07-13  Bruno Haible  <bruno@clisp.org>
5919         Improve cross-compilation guesses for native Windows.
5920         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
5921         native Windows.
5922         (gl_FUNC_FFLUSH): Update accordingly.
5923         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
5924         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
5926 2017-07-11  Bruno Haible  <bruno@clisp.org>
5928         More systematic m4 quoting and indentation.
5929         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
5930         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
5931         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
5932         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5933         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5934         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
5935         gl_WINSIZE_IN_PTEM): Likewise.
5936         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
5937         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
5938         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
5939         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
5940         Correct indentation.
5941         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
5942         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5943         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
5944         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5945         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
5946         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
5948 2017-07-10  Bruno Haible  <bruno@clisp.org>
5950         round, roundf: Avoid compiler warning in configure test.
5951         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
5952         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5954 2017-07-10  Bruno Haible  <bruno@clisp.org>
5956         getlogin tests: Avoid #ifdefs when sharing code between modules.
5957         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
5958         * modules/getlogin-tests (Files): Likewise. Remove
5959         tests/test-getlogin_r.c.
5960         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
5961         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
5962         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
5963         getlogin().
5965 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
5967         getlogin: don’t assume one name per uid
5968         Problem reported by Wolfgang F. Muthmann (Bug#27640).
5969         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
5970         (ttyname): Remove test.
5971         * modules/getlogin_r-tests (ttyname): Remove test.
5972         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
5973         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
5974         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
5975         getlogin rather than getlogin_r.  This avoids code duplication.
5976         (main): Use isatty and fstat rather than ttyname and stat.
5977         Use getpwnam instead of getpwuid, to be portable to test platforms
5978         that have multiple login names for the same uid.
5980 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
5981             Bruno Haible  <bruno@clisp.org>
5983         glob: Fix more memory leaks.
5984         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
5985         returning.
5986         Reported by Tim Rühsen.
5988 2017-07-10  Bruno Haible  <bruno@clisp.org>
5990         Make sure $host and $host_os are defined when used.
5991         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
5992         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
5993         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
5994         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
5995         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
5996         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
5997         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
5998         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
5999         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
6000         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
6001         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
6002         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
6003         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
6004         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
6005         m4_ifdef block.
6007 2017-07-09  Bruno Haible  <bruno@clisp.org>
6009         *printf: Fix cross-compilation guess for Solaris.
6010         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
6011         2010-12-21.
6013 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
6014             Bruno Haible  <bruno@clisp.org>
6016         vasnprintf: port to macOS 10.13
6017         Problem reported by comex in:
6018         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
6019         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
6021 2017-07-06  Bruno Haible  <bruno@clisp.org>
6023         imaxdiv tests: Fix logic.
6024         * tests/test-imaxdiv.c (main): Use == instead of =.
6025         Reported by Coverity.
6027 2017-07-06  Bruno Haible  <bruno@clisp.org>
6029         uninorm/filter: Fix use-after-free bug.
6030         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
6031         sortbuf == filter->sortbuf invariant.
6032         Reported by Coverity.
6034 2017-07-06  Bruno Haible  <bruno@clisp.org>
6036         glob: Fix more memory leaks.
6037         * lib/glob.c (glob): Free dirname before returning.
6038         Reported by Coverity and Tim Rühsen.
6040 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
6042         parse-datetime: fix uninit var bug
6043         Reported by Bruno Haible in:
6044         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
6045         * lib/parse-datetime.y (parse_datetime2): Do not use
6046         uninitialized.
6048 2017-07-05  Bruno Haible  <bruno@clisp.org>
6050         doc: Update for MSVC 14.
6051         * doc/posix-headers/*.texi: Add info about MSVC 14.
6052         * doc/posix-functions/*.texi: Likewise.
6053         * doc/pastposix-functions/*.texi: Likewise.
6054         * doc/glibc-headers/*.texi: Likewise.
6055         * doc/glibc-functions/*.texi: Likewise.
6057 2017-07-05  Bruno Haible  <bruno@clisp.org>
6059         sched: Fix build failure on native Windows (regression from 2017-06-19).
6060         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
6062 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
6064         stdioext: Port to OpenVMS.
6065         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
6066         * lib/fpending.c (fpending): Remove non-working VMS specific code.
6067         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
6068         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
6069         * lib/fpurge.c (fpurge): Likewise.
6070         * lib/freadable.c (freadable): Likewise.
6071         * lib/freadahead.c (freadahead): Likewise.
6072         * lib/freading.c (freading): Likewise.
6073         * lib/freadptr.c (freadptr): Likewise.
6074         * lib/freadseek.c (freadseek): Likewise.
6075         * lib/fseeko.c (fseeko): Likewise.
6076         * lib/fseterr.c (fseterr): Likewise.
6077         * lib/fwritable.c (fwriteable): Likewise.
6078         * lib/fwriting.c (fwriting): Likewise.
6080 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
6082         glob: Declare variables at the very start of their scope.
6083         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
6084         its separate scope, so the functions will compile on Haiku.
6086 2017-07-01  Bruno Haible  <bruno@clisp.org>
6088         logbl: Work around a glibc bug on PowerPC64LE.
6089         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
6090         numbers.
6091         * doc/posix-functions/logbl.texi: Update.
6093 2017-06-29  Bruno Haible  <bruno@clisp.org>
6095         stat, fstat: Compile stat-w32.c only on platforms that need it.
6096         Suggested by Paul Eggert.
6097         * modules/stat (configure.ac): Request stat-w32.o only on native
6098         Windows.
6099         * modules/fstat (configure.ac): Likewise.
6101 2017-06-25  Bruno Haible  <bruno@clisp.org>
6103         stat: Improve last change.
6104         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
6106 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
6108         stat: port to xlc 12.01
6109         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
6110         12.01 complains "Compilation unit is empty."
6112 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6114         xalloc-oversized: port to icc
6115         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
6116         __builtin_mul_overflow if ICC is defined, as this results in
6117         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
6118         20170213.
6120 2017-06-19  Bruno Haible  <bruno@clisp.org>
6122         classpath: Avoid including config.h twice, as it produces warnings.
6123         Reported by John E. Malmberg <wb8tyw@gmail.com>.
6124         * lib/classpath.h: Conditionalize the include of config.h.
6126 2017-06-19  Bruno Haible  <bruno@clisp.org>
6127             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
6129         sched: Fix compilation failure on OpenVMS.
6130         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
6131         test whether <pthread.h> exists and defines struct sched_param.
6132         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
6134 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
6136         diffseq: port to GCC 7 with --enable-gcc-warnings
6137         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
6138         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
6139         not complain about big_snake being defined but not used.
6141 2017-06-15  Bruno Haible  <bruno@clisp.org>
6143         gettext-h: Update theoretical condition for use of variable size arrays.
6144         Reported by Paul Eggert.
6145         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
6146         to include the theoretical condition for availability of variable size
6147         arrays, if we could trust the value of __STDC_VERSION__.
6149 2017-06-12  Bruno Haible  <bruno@clisp.org>
6151         Relicense some modules under LGPLv2+.
6152         Daiki Ueno's approval is in
6153         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
6154         * modules/uniwidth/base (License): Change to LGPLv2+.
6155         * modules/uniwidth/width (License): Likewise.
6157 2017-06-11  Bruno Haible  <bruno@clisp.org>
6159         localename: Fix test failure on DragonFly BSD.
6160         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
6161         like FreeBSD.
6163 2017-06-11  Bruno Haible  <bruno@clisp.org>
6165         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
6166         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
6167         * lib/float.in.h: Likewise.
6168         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
6170 2017-06-11  Bruno Haible  <bruno@clisp.org>
6172         gnulib-tool: Clean up after autotools.
6173         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
6174         useless directory left over by the Autotools.
6176 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
6178         getopt-posix: port to glibc 2.25.90
6179         Problem reported by Daniel P. Berrange in:
6180         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
6181         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
6182         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
6183         #undef if __GETOPT_PREFIX is defined.
6185 2017-06-11  Bruno Haible  <bruno@clisp.org>
6187         strtod-obsolete: Fix license.
6188         * modules/strtod-obsolete (License): Change to LGPL.
6190 2017-06-10  Jim Meyering  <meyering@fb.com>
6192         maint: update to work with GCC7's -Werror=implicit-fallthrough=
6193         * lib/savewd.c (FALLTHROUGH): Define.
6194         (savewd_save, savewd_restore): Use this, rather than a comment,
6195         whenever one switch case falls through into the next.
6197 2017-06-08  Bruno Haible  <bruno@clisp.org>
6199         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
6200         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
6201         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
6202         case.
6204 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
6206         doc: remove robots, add prereqs
6207         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
6208         builds.  Simon's robot site does not seem to be up, so remove
6209         mentions of it for now.
6211 2017-06-08  Bruno Haible  <bruno@clisp.org>
6213         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
6214         * gnulib-tool (func_symlink_target): New function, extracted from
6215         func_symlink.
6216         (func_symlink, func_symlink_if_changed): Use it.
6218 2017-06-08  Bruno Haible  <bruno@clisp.org>
6220         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
6221         * gnulib-tool (func_ln_s): Determine cp_src correctly.
6223 2017-06-07  Bruno Haible  <bruno@clisp.org>
6225         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
6226         Reported by John E. Malmberg <wb8tyw@gmail.com> in
6227         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
6228         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
6229         override, pass 2 arguments to getcwd, not 3.
6231 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
6233         same-inode: port better to VMS 8.2 and later
6234         Problem reported by John E. Malmberg in:
6235         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
6236         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
6237         Use the usual POSIX definition.
6238         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
6240 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
6242         error: fix POSIX violation for va_end
6243         Problem reported by Bruno Haible in:
6244         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
6245         * lib/error.c (error_tail): Do not call va_end here.
6246         (error, error_at_line): Call it here instead.
6248 2017-05-28  Bruno Haible  <bruno@clisp.org>
6250         c-strtod: Make it usable in C++ mode.
6251         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
6253 2017-05-25  Jim Meyering  <meyering@fb.com>
6255         quotearg: fix compilation failure due to FALLTHROUGH misuse
6256         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
6257         macro back to /* fall through */ comment.  The macro can apply only
6258         to a following case statement.  Reported by Assaf Gordon.
6260 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6262         intprops: port to recent icc
6263         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
6264         but does not support __builtin_add_overflow etc.
6265         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
6266         Define to 0.
6268 2017-05-23  Karl Berry  <karl@freefriends.org>
6270         * config/srclist.txt (iconv.m4): sync broken, comment out
6271         until (hopefully) the next gettext release.
6273 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
6275         Remove repeated words in comments.
6277 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
6279         fallthrough: reinstate a FALLTHROUGH instance in quotearg
6280         quotearg.c: Reinstate this instance which is significant
6281         when the if branch is not taken.
6283 2017-05-21  Bruno Haible  <bruno@clisp.org>
6285         gnulib-tool: Add options to create hard links.
6286         * gnulib-tool (func_usage): Document options --hardlink,
6287         --local-hardlink, --more-hardlinks.
6288         (func_symlink): Renamed from func_ln.
6289         (func_symlink_if_changed): Renamed from func_ln_if_changed.
6290         (func_hardlink): New function.
6291         (copymode, lcopymode): New variables.
6292         (symbolic, lsymbolic): Remove variables.
6293         (Options): Implement options --hardlink, --local-hardlink,
6294         --more-hardlinks.
6295         (func_should_link): Renamed from func_should_symlink. Set copyaction.
6296         (func_add_file, func_update_file): Update invocation of
6297         func_should_link. Invoke func_hardlink when appropriate.
6298         (func_import): Update comments.
6299         (func_create_testdir): Update invocation of func_should_link. Invoke
6300         func_hardlink when appropriate.
6301         Finally, invoke 'git update-index --refresh' to mitigate the effects of
6302         the hard links on git.
6304 2017-05-20  Bruno Haible  <bruno@clisp.org>
6306         argp: Simplify bit manipulation.
6307         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
6308         on a signed integer type.
6310 2017-05-20  Bruno Haible  <bruno@clisp.org>
6312         Avoid wrong configure results with gcc -fsanitize=address.
6313         This completes the work done on 2016-02-06 on this topic.
6314         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
6315         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
6316         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
6317         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
6318         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
6319         returning.
6320         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
6321         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
6322         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
6323         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
6324         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
6325         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
6326         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
6327         free allocated memory before returning.
6328         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
6329         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
6330         objects before returning.
6331         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
6332         returning.
6334 2017-05-20  Bruno Haible  <bruno@clisp.org>
6336         gnulib-tool: Don't create hard links between gnulib and its testdirs.
6337         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
6339 2017-05-20  Bruno Haible  <bruno@clisp.org>
6341         argp, tsearch tests: Fix file list.
6342         * modules/argp-tests (Files): Add tests/macros.h.
6343         * modules/tsearch-tests (Files): Likewise.
6345 2017-05-20  Bruno Haible  <bruno@clisp.org>
6347         getopt-posix tests: Remove redundant include.
6348         * tests/test-getopt.h: Don't include "macros.h". It's already included
6349         by tests/test-getopt-main.h.
6351 2017-05-19  Jim Meyering  <meyering@fb.com>
6353         dfa: two small simplifications
6354         * lib/dfa.c (build_state): Avoid repeating longer expressions.
6356 2017-05-18  Jim Meyering  <meyering@fb.com>
6358         fallthrough: update for GCC 7/8
6359         * lib/quotearg.c (FALLTHROUGH): New macro.
6360         Use it whenever one switch case falls through into the next,
6361         replacing "/* Fall through */" comments.  This exposed one
6362         instance of an unwarranted "fall through" comment: unwarranted
6363         because it preceded a "goto" label not a case statement.
6364         * lib/freopen-safer.c (freopen_safer): Likewise.
6365         * lib/fts.c (leaf_optimization_applies): Likewise.
6366         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
6367         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
6368         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
6369         tests/macros.h for the definition.
6370         * tests/test-argp.c (group1_parser): Likewise.
6371         * tests/test-getopt.h (getopt_loop): Likewise.
6373 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6375         argp: fix shift bug
6376         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
6377         behavior on shift overflow, caught by gcc -fsanitize=undefined.
6379         argp: fix pointer-subtraction bug
6380         * lib/argp-help.c (hol_append): Don’t subtract pointers to
6381         different arrays, as this can run afoul of -fcheck-pointer-bounds.
6382         See the thread containing Bruno Haible’s report in:
6383         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
6385 2017-05-19  Bruno Haible  <bruno@clisp.org>
6387         printf-posix tests: Avoid test failure with "gcc --coverage".
6388         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6389         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
6390         than 5000000.
6391         * tests/test-fprintf-posix2.c (main): Likewise.
6393 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6395         closeout: don’t close stderr when sanitizing
6396         * NEWS: Document this.
6397         * lib/closeout.c (__has_feature): New macro, if not already defined.
6398         (SANITIZE_ADDRESS): New constant.
6399         (close_stdout): Don’t close stderr if sanitizing addresses.
6401 2017-05-19  Bruno Haible  <bruno@clisp.org>
6403         get-rusage-data tests: Avoid failure on Linux/glibc.
6404         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
6405         on glibc systems.
6407 2017-05-18  Bruno Haible  <bruno@clisp.org>
6409         localename: Include necessary header files on Cygwin.
6410         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
6411         where NL_LOCALE_NAME is defined.
6413 2017-05-18  Bruno Haible  <bruno@clisp.org>
6415         gettext: Update macros from gettext git.
6416         * m4/intldir.m4: Require Autoconf >= 2.60.
6417         * m4/progtest.m4: Fix typos in copyright notice.
6419 2017-05-18  Bruno Haible  <bruno@clisp.org>
6421         copy-file tests: Fix link error (regression from 2017-05-01).
6422         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
6423         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
6424         $(LIB_CLOCK_GETTIME).
6426 2017-05-18  Bruno Haible  <bruno@clisp.org>
6428         unicase/special-casing: Fix incompatibility with gperf-3.0.4
6429         (regression from 2017-02-13).
6430         * lib/unicase/special-casing.in.h: Renamed from
6431         lib/unicase/special-casing.h.
6432         * modules/unicase/special-casing (Files): Add
6433         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
6434         (Makefile.am): Add rule for generating unicase/special-casing.h.
6435         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
6436         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
6437         not "special-casing.h".
6438         * lib/unicase/u*.c: Likewise.
6440 2017-05-17  Bruno Haible  <bruno@clisp.org>
6442         README: Don't ask people to read a TeXinfo file.
6443         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
6444         * README: Tell people how to read the HTML formatted manual.
6446 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
6448         parse-datetime: Fix memleak
6449         * lib/parse-datetime.y (parse_datetime2): Cleanup on
6450         localtime_rz() failure.
6452 2017-05-16  Bruno Haible  <bruno@clisp.org>
6454         javacomp: Fix handle leak.
6455         Found by Coverity.
6456         * lib/javacomp.c (get_classfile_version): Close fd before returning.
6458 2017-05-16  Bruno Haible  <bruno@clisp.org>
6460         relocate: Make it easier to reclaim allocated memory.
6461         * lib/relocatable.h (relocate2): New declaration/macro.
6462         * lib/relocatable.c (relocate2): New function.
6463         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
6464         relocate2 function.
6465         * lib/localcharset.c (relocate2): Define fallback.
6466         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
6467         allocated memory.
6468         * lib/javaversion.c (relocate2): Define fallback.
6469         (javaexec_version): Invoke relocate2 instead of relocate. Free the
6470         allocated memory.
6472 2017-05-16  Bruno Haible  <bruno@clisp.org>
6474         relocate: Simplify EMX specific code.
6475         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
6476         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
6478 2017-05-16  Bruno Haible  <bruno@clisp.org>
6480         sigpipe tests: Fix file list.
6481         * modules/sigpipe-tests (Files): Add tests/macros.h.
6483 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
6485         manywarnings: update for GCC 7
6486         * build-aux/gcc-warning.spec:
6487         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
6488         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
6489         requires a non-comment fallthrough attribute.  This is a bit
6490         cleaner than the comment versions.
6491         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
6492         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
6493         Use it whenever one switch case falls through into the next.
6494         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
6495         Use FALLTHROUGH macro.
6497 2017-05-15  Bruno Haible  <bruno@clisp.org>
6499         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
6500         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
6501         @ALLOCA@, not @LTALLOCA@.
6503 2017-05-15  Bruno Haible  <bruno@clisp.org>
6505         sys_select: Avoid "was expanded before it was required" warning.
6506         * modules/sys_select (configure.ac): Require, not invoke,
6507         gl_HEADER_SYS_SELECT.
6509 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
6511         gnulib-tool: improve GNU Make debugging
6512         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
6513         Report autoconf diagnostics when it fails, in the output makefile.
6515 2017-05-14  Bruno Haible  <bruno@clisp.org>
6517         stat-time tests: Improve comment.
6518         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
6520 2017-05-14  Bruno Haible  <bruno@clisp.org>
6522         same-inode: Adapt for windows-stat-inodes.
6523         * lib/same-inode.h: Include <sys/types.h>.
6524         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
6525         * modules/same-inode (Depends-on): Add sys_types.
6527 2017-05-14  Bruno Haible  <bruno@clisp.org>
6529         windows-stat-inodes: New module.
6530         * m4/windows-stat-inodes.m4: New file.
6531         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
6532         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
6533         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
6534         (_GL_WINDOWS_STAT_INODES): New macro.
6535         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
6536         (GetFileInformationByHandleExFunc): New variable.
6537         (initialize): Initialize it.
6538         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
6539         st_ino appropriately.
6540         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
6541         a fallback, because it does not provide st_dev and st_ino values.
6542         * modules/fstat (Depends-on): Add 'verify'.
6543         * modules/windows-stat-inodes: New file.
6544         * doc/windows-stat-inodes.texi: New file.
6545         * doc/gnulib.texi: Include it.
6546         * doc/posix-headers/sys_stat.texi: Mention the new module.
6548 2017-05-14  Bruno Haible  <bruno@clisp.org>
6550         stat-time tests: Workaround for native Windows.
6551         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
6552         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
6553         New variables.
6554         (initialize_filenames): New function.
6555         (main): Invoke it.
6556         (cleanup, prepare_test): Update.
6558 2017-05-14  Bruno Haible  <bruno@clisp.org>
6560         stat-time: Adapt for windows-stat-timespec.
6561         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
6562         entire st_ctim field.
6564 2017-05-13  Jim Meyering  <meyering@fb.com>
6566         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
6567         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
6568         file that uses the assume macro, claiming that verify.h is unused.
6570 2017-05-13  Bruno Haible  <bruno@clisp.org>
6572         Use symbolic values for _WIN32_WINNT.
6573         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
6574         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6576 2017-05-13  Bruno Haible  <bruno@clisp.org>
6578         year2038: New module.
6579         * m4/year2038.m4: New file.
6580         * modules/year2038: New file.
6581         * doc/year2038.texi: New file.
6582         * doc/gnulib.texi: Include it.
6584 2017-05-13  Bruno Haible  <bruno@clisp.org>
6586         largefile: Simplify.
6587         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
6588         of _GL_WINDOWS_64_BIT_ST_SIZE.
6590 2017-05-13  Bruno Haible  <bruno@clisp.org>
6592         largefile: Improve and document.
6593         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
6594         the mingw headers already define 'stat' appropriately.
6595         * modules/largefile (Description): Clarify.
6596         * doc/largefile.texi: New file.
6597         * doc/gnulib.texi: Include it.
6598         * doc/posix-headers/sys_types.texi: Update.
6600 2017-05-13  Bruno Haible  <bruno@clisp.org>
6602         truncate: New module.
6603         * lib/unistd.in.h (truncate): New declaration.
6604         * lib/truncate.c: New file.
6605         * m4/truncate.m4: New file.
6606         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
6607         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
6608         REPLACE_TRUNCATE.
6609         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
6610         HAVE_TRUNCATE, REPLACE_TRUNCATE.
6611         * modules/truncate: New file.
6612         * tests/test-unistd-c++.cc (truncate): Test signature.
6613         * doc/posix-functions/truncate.texi: Mention the new module.
6615         * tests/test-truncate.c: New file.
6616         * modules/truncate-tests: New file.
6618 2017-05-13  Bruno Haible  <bruno@clisp.org>
6620         windows-stat-timespec: New module.
6621         * modules/windows-stat-timespec: New file.
6622         * m4/windows-stat-timespec.m4: New file.
6623         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
6624         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
6625         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
6626         fields st_atim, st_mtim, st_ctim.
6627         (st_atime, st_mtime, st_ctime): Define as macros.
6628         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
6629         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
6630         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
6631         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
6632         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
6633         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
6634         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6635         FILETIME to 'struct timespec', not 'time_t'.
6636         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
6637         FILETIME to 'struct timespec', not 'time_t'.
6638         * lib/stat-time.h (STAT_TIMESPEC): Define also if
6639         _GL_WINDOWS_STAT_TIMESPEC.
6640         * doc/windows-stat-timespec.texi: New file.
6641         * doc/gnulib.texi: Include it.
6643 2017-05-13  Bruno Haible  <bruno@clisp.org>
6645         windows-stat-override: New module.
6646         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
6647         definition. Define GNULIB_defined_struct_stat.
6648         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
6649         link error if this symbol is used and the corresponding module is not
6650         in use.
6651         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
6652         GNULIB_OVERRIDES_STRUCT_STAT.
6653         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
6654         GNULIB_OVERRIDES_STRUCT_STAT.
6655         * modules/sys_stat (Makefile.am): Substitute
6656         GNULIB_OVERRIDES_STRUCT_STAT.
6657         * modules/windows-stat-override: New file.
6659 2017-05-13  Bruno Haible  <bruno@clisp.org>
6661         fstat: Fix module dependency conditions.
6662         * modules/fstat (Depends-on): Fix typo.
6664 2017-05-13  Bruno Haible  <bruno@clisp.org>
6666         stat, fstat: Complete removal of old native Windows code.
6667         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
6668         * lib/fstat.c: Likewise.
6669         * lib/stat-w32.c: Likewise.
6671 2017-05-13  Bruno Haible  <bruno@clisp.org>
6673         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
6674         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
6676 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6678         getopt-posix: port to mingw
6679         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
6680         Problem reported by Daniel P. Berrage in:
6681         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
6683 2017-05-11  Bruno Haible  <bruno@clisp.org>
6685         gettimeofday: Increase precision on mingw.
6686         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
6687         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
6688         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
6689         GetSystemTimePreciseAsFileTime based implementation always.
6690         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
6691         mingw.
6693 2017-05-11  Bruno Haible  <bruno@clisp.org>
6695         poll: Fix confusion between SOCKETs and FDs on native Windows.
6696         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
6697         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
6699 2017-05-11  Bruno Haible  <bruno@clisp.org>
6701         doc: Clarify doc about socket functions on native Windows.
6702         This reworks doc that was added on 2008-09-29.
6703         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
6704         clearer wording.
6705         * doc/posix-functions/accept.texi: Use clearer wording.
6706         * doc/posix-functions/bind.texi: Likewise.
6707         * doc/posix-functions/connect.texi: Likewise.
6708         * doc/posix-functions/getpeername.texi: Likewise.
6709         * doc/posix-functions/getsockname.texi: Likewise.
6710         * doc/posix-functions/getsockopt.texi: Likewise.
6711         * doc/posix-functions/ioctl.texi: Likewise.
6712         * doc/posix-functions/listen.texi: Likewise.
6713         * doc/posix-functions/recv.texi: Likewise.
6714         * doc/posix-functions/recvfrom.texi: Likewise.
6715         * doc/posix-functions/send.texi: Likewise.
6716         * doc/posix-functions/sendto.texi: Likewise.
6717         * doc/posix-functions/setsockopt.texi: Likewise.
6718         * doc/posix-functions/shutdown.texi: Likewise.
6719         * doc/posix-functions/socket.texi: Likewise.
6721 2017-05-10  Bruno Haible  <bruno@clisp.org>
6723         poll: Fix link error on native Windows.
6724         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
6726 2017-05-10  Bruno Haible  <bruno@clisp.org>
6728         time: Fix missing initialization of HAVE_TIMEZONE_T.
6729         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
6730         here...
6731         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
6732         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
6733         gl_HEADER_SYS_TIME_H_DEFAULTS.
6734         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
6735         (configure.ac): Remove useless quoting.
6737 2017-05-10  Bruno Haible  <bruno@clisp.org>
6739         Implement a way to opt out from MSVC support, part 2.
6740         * modules/msvc-inval (Include): Document recommended idiom.
6741         * modules/msvc-nothrow (Include): Likewise.
6743         Implement a way to opt out from MSVC support.
6744         This is useful for Emacs.
6745         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
6746         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
6747         * lib/error.c: Likewise.
6748         * lib/fcntl.c: Likewise.
6749         * lib/flock.c: Likewise.
6750         * lib/fstat.c: Likewise.
6751         * lib/fsync.c: Likewise.
6752         * lib/ioctl.c: Likewise.
6753         * lib/isapipe.c: Likewise.
6754         * lib/lseek.c: Likewise.
6755         * lib/nonblocking.c: Likewise.
6756         * lib/poll.c: Likewise.
6757         * lib/select.c: Likewise.
6758         * lib/sockets.h: Likewise.
6759         * lib/sockets.c: Likewise.
6760         * lib/stdio-read.c: Likewise.
6761         * lib/stdio-write.c: Likewise.
6762         * lib/utimens.c: Likewise.
6763         * lib/w32sock.h: Likewise.
6764         * lib/w32spawn.h: Likewise.
6765         * tests/test-cloexec.c: Likewise.
6766         * tests/test-dup-safer.c: Likewise.
6767         * tests/test-dup2.c: Likewise.
6768         * tests/test-dup3.c: Likewise.
6769         * tests/test-fcntl.c: Likewise.
6770         * tests/test-pipe.c: Likewise.
6771         * tests/test-pipe2.c: Likewise.
6772         * lib/ftruncate.c: Likewise.
6773         (chsize_nothrow): Renamed from chsize.
6774         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
6775         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6776         * lib/close.c: Likewise.
6777         * lib/dup.c: Likewise.
6778         * lib/fclose.c: Likewise.
6779         * lib/raise.c: Likewise.
6780         * tests/test-fgetc.c: Likewise.
6781         * tests/test-fputc.c: Likewise.
6782         * tests/test-fread.c: Likewise.
6783         * tests/test-fwrite.c: Likewise.
6784         * lib/getdtablesize.c: Likewise.
6785         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
6786         * lib/isatty.c: Don't include msvc-inval.h if
6787         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
6788         Include <io.h> as an alternative to msvc-nothrow.h.
6789         * lib/read.c: Likewise.
6790         * lib/write.c: Likewise.
6791         * lib/dup2.c: Likewise.
6792         (dup2_nothrow): New function.
6793         (ms_windows_dup2): Use it.
6794         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
6795         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
6796         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
6797         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
6798         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
6799         * m4/read.m4 (gl_FUNC_READ): Likewise.
6800         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
6801         * doc/windows-without-msvc.texi: New file.
6802         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
6803         section.
6805 2017-05-10  Bruno Haible  <bruno@clisp.org>
6807         wait-process: Adjust native Windows support.
6808         * lib/wait-process.c: Use the usual condition for recognizing a native
6809         Windows platform.
6811 2017-05-10  Bruno Haible  <bruno@clisp.org>
6813         doc: New chapter "Native Windows Support".
6814         * doc/gnulib.texi (Native Windows Support): New chapter.
6815         * doc/windows-libtool.texi: Small wording changes.
6816         * doc/windows-sockets.texi: Small wording and formatting changes.
6818 2017-05-10  Bruno Haible  <bruno@clisp.org>
6820         doc: Move section "Library version handling".
6821         * doc/gnulib.texi: Move section "Library version handling"
6822         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
6824 2017-05-10  Bruno Haible  <bruno@clisp.org>
6826         doc: Move section "Running self-tests under valgrind".
6827         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
6828         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
6830 2017-05-10  Bruno Haible  <bruno@clisp.org>
6832         doc: New chapter "Build Infrastructure Modules".
6833         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
6835 2017-05-10  Bruno Haible  <bruno@clisp.org>
6837         Prepare for reordering sections in the manual.
6838         * doc/gnulib.texi: Move several sections to separate files. Include
6839         these files.
6840         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
6841         * doc/obsolete.texi: Likewise.
6842         * doc/extra-tests.texi: Likewise.
6843         * doc/transversal.texi: Likewise.
6844         * doc/namespace.texi: Likewise.
6845         * doc/check-version.texi: Likewise.
6846         * doc/windows-sockets.texi: Likewise.
6847         * doc/windows-libtool.texi: Likewise.
6848         * doc/licenses-texi.texi: Likewise.
6849         * doc/build-automation.texi: Likewise.
6850         * doc/c-locale.texi: Likewise.
6852 2017-05-10  Bruno Haible  <bruno@clisp.org>
6854         Fix instructions how to update manual on www.gnu.org.
6855         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
6857 2017-05-09  Bruno Haible  <bruno@clisp.org>
6859         tzset: Expand comment about TZ problem on native Windows.
6860         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
6861         Paul Eggert.
6862         * lib/ctime.c (rpl_ctime): Likewise.
6863         * lib/localtime.c (rpl_localtime): Likewise.
6864         * lib/mktime.c (mktime): Likewise.
6865         * lib/strftime-fixes.c (rpl_strftime): Likewise.
6866         * lib/wcsftime.c (rpl_wcsftime): Likewise.
6868 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6870         intprops: don’t depend on ‘verify’
6871         Problem reported by Ævar Arnfjörð Bjarmason in:
6872         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
6873         * lib/intprops.h: Do not include verify.h, and move compile-time
6874         checks from here ...
6875         * tests/test-intprops.c (main): ... to here, if they’re not here
6876         already.  Check widths of other standard integer types.
6877         * modules/intprops (Depends-on): Remove ‘verify’.
6879 2017-05-07  Bruno Haible  <bruno@clisp.org>
6881         utimens: On native Windows, support 100ns resolution also if fd < 0.
6882         * lib/utime.in.h: Include <time.h>.
6883         (_gl_utimens_windows): New declaration.
6884         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
6885         (utime): Invoke it.
6886         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
6887         instead of utime.
6888         * modules/utime (Depends-on): Add 'time'.
6890 2017-05-07  Bruno Haible  <bruno@clisp.org>
6892         utimens: Improve error code on native Windows.
6893         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
6894         error code EACCES, not EINVAL.
6896 2017-05-07  Bruno Haible  <bruno@clisp.org>
6898         utime: Handle more Windows error codes.
6899         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
6900         Based on explanations by Billy O'Neal.
6902 2017-05-05  Bruno Haible  <bruno@clisp.org>
6904         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
6905         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
6906         union.
6907         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
6908         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
6909         value of cipher->IV.
6911 2017-05-05  Bruno Haible  <bruno@clisp.org>
6913         wctype-h-c++-tests: Update.
6914         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
6916 2017-05-05  Bruno Haible  <bruno@clisp.org>
6918         wchar-c++-tests: Update.
6919         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
6921 2017-05-05  Bruno Haible  <bruno@clisp.org>
6923         utime-h-c++-tests: New module.
6924         * tests/test-utime-h-c++.cc: New file.
6925         (utime): Declare, missing since 2017-04-30.
6926         * modules/utime-h-c++-tests: New file.
6928 2017-05-05  Bruno Haible  <bruno@clisp.org>
6930         unistd-c++-tests: Update.
6931         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
6932         (read): Declare, missing since 2011-04-15.
6933         (sethostname): Declare, missing since 2011-12-03.
6935 2017-05-05  Bruno Haible  <bruno@clisp.org>
6937         time-c++-tests: Update.
6938         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
6939         (localtime, gmtime): Declare, missing since 2017-04-30.
6940         (ctime): Declare, missing since 2017-04-30.
6941         (strftime): Declare, missing since 2017-04-30.
6942         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
6943         2015-07-24.
6945 2017-05-05  Bruno Haible  <bruno@clisp.org>
6947         sys_resource-c++-tests: New module.
6948         * tests/test-sys_resource-c++.cc: New file.
6949         (getrusage): Declare, missing since 2012-04-13.
6950         * modules/sys_resource-c++-tests: New file.
6952 2017-05-05  Bruno Haible  <bruno@clisp.org>
6954         strings-c++-tests: New module.
6955         * tests/test-strings-c++.cc: New file.
6956         (ffs): Declare, missing since 2011-07-12.
6957         * modules/strings-c++-tests: New file.
6959 2017-05-05  Bruno Haible  <bruno@clisp.org>
6961         string-c++-tests: Update.
6962         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
6963         (ffsll): Declare, missing since 2011-07-15.
6965 2017-05-05  Bruno Haible  <bruno@clisp.org>
6967         stdlib-c++-tests: Update.
6968         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
6969         2011-10-18.
6970         (ptsname_r): Declare, missing since 2011-11-07.
6971         (qsort_r): Declare, missing since 2014-08-29.
6972         (random, srandom, initstate, setstate): Declare, missing since
6973         2012-01-14.
6974         (secure_getenv): Declare, missing since 2013-02-05.
6976 2017-05-05  Bruno Haible  <bruno@clisp.org>
6978         stdio-c++-tests: Update.
6979         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
6981 2017-05-05  Bruno Haible  <bruno@clisp.org>
6983         signal-h-c++-tests: Update.
6984         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
6986 2017-05-05  Bruno Haible  <bruno@clisp.org>
6988         math-c++-tests: Update.
6989         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
6990         (fma): Declare, missing since 2011-10-17.
6991         (fmal): Declare, missing since 2011-10-17.
6993 2017-05-05  Bruno Haible  <bruno@clisp.org>
6995         locale-c++-tests: Update.
6996         * tests/test-locale-c++.cc (localeconv): Declare, missing since
6997         2012-03-25.
6999 2017-05-05  Bruno Haible  <bruno@clisp.org>
7001         inttypes-c++-tests: New module.
7002         * tests/test-inttypes-c++.cc: New file.
7003         (strtoimax): Declare, missing since 2012-01-05.
7004         (strtoumax): Declare, missing since 2012-01-05.
7005         * modules/inttypes-c++-tests: New file.
7007 2017-05-05  Bruno Haible  <bruno@clisp.org>
7009         dirent-c++-tests: Update.
7010         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
7011         (rewinddir): Declare, missing since 2011-09-13.
7012         (dirfd): Declare, missing since 2010-03-08.
7014 2017-05-04  Bruno Haible  <bruno@clisp.org>
7016         argp: Fix mistake in 2017-04-23 commit.
7017         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
7018         assume that strerror_r returns 'int', not 'char *'.
7020 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
7022         argp: Fix typo.
7023         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
7025 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
7027         utimens: port to Emacs + MS-Windows
7028         Skip the new MS-Windows-specific code if Emacs.
7029         * lib/utimens.c [EMACS_CONFIGUATION]:
7030         Avoid new MS-Windows-specific code.
7031         (USE_SETFILETIME): New macro.
7032         (fdutimens): Use it.
7034 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
7036         tzset: update doc for TZ problems on MS-Windows
7037         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
7038         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
7039         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
7040         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
7041         * doc/posix-functions/wcsftime.texi:
7042         Mention some issues with TZ under MS-Windows.
7044 2017-05-01  Bruno Haible  <bruno@clisp.org>
7046         copy-file: Fix build error on mingw.
7047         * modules/copy-file (Depends-on): Add 'close'.
7049 2017-05-01  Bruno Haible  <bruno@clisp.org>
7051         tzset: Work around TZ problem on native Windows.
7052         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
7053         Windows, set REPLACE_TZSET to 1.
7054         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
7055         invoke '_tzset' instead of 'tzset'.
7056         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
7058         * modules/time_rz (Depends-on): Add tzset.
7059         * lib/time_rz.c (tzset): Remove fallback definition.
7060         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
7062 2017-05-01  Bruno Haible  <bruno@clisp.org>
7064         mktime: Fix dependencies.
7065         * modules/mktime (Depends-on): Add 'time'.
7067 2017-05-01  Bruno Haible  <bruno@clisp.org>
7069         New module 'localtime-buffer', split off from module 'gettimeofday'.
7070         * lib/localtime-buffer.h: New file.
7071         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
7072         * lib/time.in.h (tzset): New declaration.
7073         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
7074         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
7075         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
7076         moved to lib/localtime-buffer.c or lib/tzset.c.
7077         * m4/localtime-buffer.m4: New file.
7078         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
7079         HAVE_TZSET, REPLACE_TZSET.
7080         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
7081         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
7082         gl_LOCALTIME_BUFFER_NEEDED.
7083         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
7084         since 2007-01-18.
7085         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
7086         tzset.
7087         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
7088         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
7089         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
7090         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
7091         * modules/localtime-buffer: New file.
7092         * modules/time (Depends-on): Remove 'gettimeofday'.
7093         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
7094         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
7095         * modules/tzset (Description): Enable hyperlink to POSIX spec.
7096         (Files): Add lib/tzset.c.
7097         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
7098         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
7099         gl_TIME_MODULE_INDICATOR.
7100         * modules/gettimeofday (Depends-on): Add localtime-buffer.
7102 2017-05-01  Bruno Haible  <bruno@clisp.org>
7104         copy-file: Preserve sub-second time stamps.
7105         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
7106         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
7107         transport the time stamps from the original file to the destination
7108         file.
7109         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
7110         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
7111         utime-h.
7113 2017-05-01  Bruno Haible  <bruno@clisp.org>
7115         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
7116         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
7117         also on MSVC.
7118         Reported by Eli Zaretskii <eliz@gnu.org>.
7120 2017-05-01  Bruno Haible  <bruno@clisp.org>
7122         wchar: Fix compilation error with the original mingw.org mingw.
7123         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7124         <stddef.h> instead.
7125         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
7126         gl_WCTYPE_H.
7127         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
7128         gl_TYPE_WINT_T_PREREQ instead.
7129         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
7130         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
7131         Reported by Eli Zaretskii <eliz@gnu.org>.
7133 2017-04-30  Bruno Haible  <bruno@clisp.org>
7135         utimecmp: Add support for native Windows.
7136         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
7138 2017-04-30  Bruno Haible  <bruno@clisp.org>
7140         utimens: Add support for native Windows.
7141         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
7142         (fdutimens): Provide a native Windows implementation, like utime.c with
7143         added tv_nsec support.
7144         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
7145         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
7147 2017-04-30  Bruno Haible  <bruno@clisp.org>
7149         wcsftime: New module.
7150         * lib/wchar.in.h (wcsftime): New declaration.
7151         * lib/wcsftime.c: New file.
7152         * m4/wcsftime.m4: New file.
7153         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
7154         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
7155         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7156         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
7157         HAVE_WCSFTIME, REPLACE_WCSFTIME.
7158         * modules/wcsftime: New file.
7159         * doc/posix-functions/wcsftime.texi: Mention the new module.
7161 2017-04-30  Bruno Haible  <bruno@clisp.org>
7163         strftime-fixes: New module.
7164         * lib/time.in.h (strftime): New declaration.
7165         * lib/strftime-fixes.c: New file.
7166         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
7167         (gl_FUNC_STRFTIME): Remove macro.
7168         * m4/strftime-fixes.m4: New file.
7169         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
7170         REPLACE_STRFTIME.
7171         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
7172         REPLACE_STRFTIME.
7173         * modules/strftime-fixes: New file.
7174         * doc/posix-functions/strftime.texi: Mention the new module.
7176 2017-04-30  Bruno Haible  <bruno@clisp.org>
7178         mktime: Work around TZ problem on native Windows.
7179         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
7180         from the native Windows workaround.
7181         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
7182         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
7183         'guessing no'.
7184         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
7185         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
7186         NEED_MKTIME_WINDOWS.
7187         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
7188         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
7189         NEED_MKTIME_INTERNAL.
7190         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
7191         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
7192         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
7193         not REPLACE_MKTIME.
7194         * doc/posix-functions/mktime.texi: Mention the native Windows
7195         workaround.
7197 2017-04-30  Bruno Haible  <bruno@clisp.org>
7199         localtime: New module.
7200         * lib/time.in.h (localtime): Declare also if requested by module
7201         'localtime'.
7202         * lib/localtime.c: New file.
7203         * m4/localtime.m4: New file.
7204         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
7205         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
7206         * modules/localtime: New file.
7207         * doc/posix-functions/localtime.texi: Mention the new module.
7209 2017-04-30  Bruno Haible  <bruno@clisp.org>
7211         ctime: New module.
7212         * lib/time.in.h (ctime): New declaration.
7213         * lib/ctime.c: New file.
7214         * m4/ctime.m4: New file.
7215         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
7216         REPLACE_CTIME.
7217         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
7218         * modules/ctime: New file.
7219         * doc/posix-functions/ctime.texi: Mention the new module.
7221 2017-04-30  Bruno Haible  <bruno@clisp.org>
7223         gettimeofday: Provide higher resolution on native Windows.
7224         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
7225         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
7226         (initialize): Initialize it.
7227         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
7228         'struct timeval'. Don't use _ftime().
7229         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
7230         <sys/timeb.h> and _ftime.
7232 2017-04-30  Bruno Haible  <bruno@clisp.org>
7234         Document the problem with the Cygwin environment variable TZ.
7235         * doc/posix-functions/tzset.texi: Add note about TZ.
7236         * doc/posix-functions/ctime.texi: Likewise.
7237         * doc/posix-functions/localtime.texi: Likewise.
7238         * doc/posix-functions/mktime.texi: Likewise.
7239         * doc/posix-functions/strftime.texi: Likewise.
7240         * doc/posix-functions/wcsftime.texi: Likewise.
7241         * doc/pastposix-functions/ftime.texi: Likewise.
7243 2017-04-30  Bruno Haible  <bruno@clisp.org>
7245         utime-tests: New module.
7246         * tests/test-utime.c: New file, based on tests/test-utimens.h.
7247         * tests/test-utimens-common.h: Include <sys/stat.h>.
7248         * modules/utime-tests: New file.
7250 2017-04-29  Bruno Haible  <bruno@clisp.org>
7252         utime: New module.
7253         * lib/utime.in.h: Add comment for snippets.
7254         (utime): New declaration.
7255         * lib/utime.c: New file.
7256         * m4/utime.m4: New file.
7257         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
7258         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
7259         REPLACE_UTIME.
7260         * modules/utime-h (Depends-on): Add snippets.
7261         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
7262         Insert snippets.
7263         * modules/utime: New file.
7264         * doc/posix-functions/utime.texi: Mention the new module.
7266 2017-04-29  Bruno Haible  <bruno@clisp.org>
7268         utime-h: Modernize handling of 'struct utimbuf'.
7269         * lib/utime.in.h: Include next <utime.h> if it exists.
7270         (utimbuf): Define to _utimbuf on native Windows.
7271         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
7272         Set UTIME_H on native Windows.
7273         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
7274         * modules/utime-h (Depends-on): Add include_next.
7275         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
7276         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
7278         * lib/utimens.c (utimbuf): Remove fallback definition.
7279         * m4/utimens.m4 (gl_UTIMENS): Don't require
7280         gl_CHECK_TYPE_STRUCT_UTIMBUF.
7281         * m4/utimbuf.m4: Remove file.
7282         * modules/utimens (Files): Remove m4/utimbuf.m4.
7284 2017-04-29  Bruno Haible  <bruno@clisp.org>
7286         Make use of module 'utime-h'.
7287         * modules/copy-file (Depends-on): Add utime-h.
7288         * lib/copy-file.c: Assume that <utime.h> exists.
7289         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
7291         * modules/utimens (Depends-on): Add utime-h.
7292         * lib/utimens.c: Assume that <utime.h> exists.
7294 2017-04-29  Bruno Haible  <bruno@clisp.org>
7296         utime-h: New module.
7297         * m4/utime_h.m4: New file.
7298         * lib/utime.in.h: New file.
7299         * modules/utime-h: New file.
7300         * doc/posix-headers/utime.texi: Mention the new module.
7302         * tests/test-utime-h.c: New file.
7303         * modules/utime-h-tests: New file.
7305 2017-04-30  Bruno Haible  <bruno@clisp.org>
7307         Fix a few typos.
7308         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
7309         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
7310         * doc/posix-functions/fstat.texi: Fix a plural typo.
7311         * doc/posix-functions/stat.texi: Likewise.
7312         * m4/include_next.m4: Update comments.
7314 2017-04-29  Bruno Haible  <bruno@clisp.org>
7316         error: Fix mistake in 2017-04-23 commit.
7317         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
7318         assume that strerror_r returns 'int', not 'char *'.
7320 2017-04-29  Bruno Haible  <bruno@clisp.org>
7322         stat: Fix time_t values and other problems on native Windows platforms.
7323         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
7324         implementations of stat().
7325         * lib/stat.c: Include filename.h instead of dosname.h. Include
7326         malloca.h, stat-w32.h.
7327         (is_unc_root): New function.
7328         (rpl_stat): New implementation for native Windows. Remove
7329         REPLACE_FUNC_STAT_DIR code.
7330         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
7331         Don't define REPLACE_FUNC_STAT_DIR.
7332         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
7333         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7334         (Depends-on): Remove dosname. Add filename, malloca.
7335         (configure.ac): Also compile lib/stat-w32.c.
7337 2017-04-29  Bruno Haible  <bruno@clisp.org>
7339         fstat: Fix time_t values on native Windows platforms.
7340         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
7341         * lib/stat-w32.h: New file.
7342         * lib/stat-w32.c: New file.
7343         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
7344         stat-w32.h instead.
7345         (fstat_nothrow): Remove function.
7346         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
7347         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
7348         always.
7349         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
7350         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
7351         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
7352         (configure.ac): Also compile lib/stat-w32.c.
7354 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
7356         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
7357         Problem reported by Assaf Gordon and Gavin Smith in:
7358         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
7359         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
7360         #define this, too.
7362 2017-04-29  Bruno Haible  <bruno@clisp.org>
7364         strerror_r-posix: Fixes for MSVC 14.
7365         * lib/strerror_r.c: Include <stdarg.h>.
7366         (strerror_r): Provide error messages for errno values 100...140.
7367         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
7369 2017-04-28  Bruno Haible  <bruno@clisp.org>
7371         noreturn: New module.
7372         * lib/noreturn.h: New file.
7373         * modules/noreturn: New file.
7374         * tests/test-noreturn.c: New file.
7375         * modules/noreturn-tests: New file.
7376         * tests/test-noreturn-c++.cc: New file.
7377         * modules/noreturn-c++-tests: New file.
7379 2017-04-27  Bruno Haible  <bruno@clisp.org>
7381         wctype-h: Fix compilation error with the original mingw.org mingw.
7382         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
7383         HAVE_CRTDEFS_H.
7384         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
7385         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
7386         <stddef.h> instead.
7387         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
7389 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7391         nap.h: Fix compilation on non windows platforms
7392         * tests/nap.h: Move misplaced endif.
7394 2017-04-26  Pádraig Brady  <P@draigBrady.com>
7395         and Paul Eggert  <eggert@cs.ucla.edu>
7397         time_rz: fix heap buffer overflow vulnerability
7398         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
7399         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
7400         whether there is enough buffer space available, thus avoiding
7401         the problematic promotion of signed to unsigned causing an invalid
7402         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
7403         the start of the buffer.
7404         * tests/test-parse-datetime.c (main): Add a test case written by
7405         Paul Eggert, which overwrites enough of the heap so that
7406         standard glibc will fail with "free(): invalid pointer"
7407         without the patch applied.
7409 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
7411         xalloc: add missing integer overflow check
7412         * lib/xalloc.h (x2nrealloc): Also check for multiplication
7413         overflow when P is null.
7415 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7417         parse-datetime: make it standalone
7418         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
7419         (_GL_ATTRIBUTE_FORMAT): New macro.
7420         These are needed to get './gnulib-tool --test parse-datetime' to work.
7422 2017-04-23  Bruno Haible  <bruno@clisp.org>
7424         nap.h: Port to native Windows.
7425         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
7426         use nap_fd instead. On native Windows, close and reopen nap_fd.
7427         (nap_works): Don't compare the ctimes, because on native Windows, these
7428         are the creation times.
7429         (nap): Update.
7431 2017-04-23  Bruno Haible  <bruno@clisp.org>
7433         nap.h: Fix logic.
7434         * tests/nap.h (nap): Avoid signed integer overflow in loop.
7436 2017-04-23  Bruno Haible  <bruno@clisp.org>
7438         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
7439         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
7440         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
7441         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
7442         * lib/argp-help.c (__argp_failure): Likewise.
7444 2017-04-23  Bruno Haible  <bruno@clisp.org>
7446         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
7447         * m4/strerror_r.m4: Revert changes since 2016-10-16.
7448         * lib/strerror_r.c: Likewise.
7450 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
7452         Target a C99 subset, not a C89 subset
7453         For many years Gnulib has targeted C89 and has resisted using C99
7454         features, as some Gnulib-using programs still wanted to target
7455         C89.  As this no longer seems to be the case, relax the porting
7456         requirements to allow some C99 features.  This is merely a change
7457         to the documentation, to give other Gnulib developers a chance to
7458         weigh in on the topic.
7459         * doc/extern-inline.texi (extern inline):
7460         * doc/gnulib-readme.texi (Portability guidelines):
7461         * doc/gnulib-tool.texi (Initial import):
7462         * doc/gnulib.texi (Header files):
7463         Modernize to talk about C99 and C11 instead of C89 and C99.
7464         * doc/gnulib-readme.texi (Portability guidelines):
7465         Now a section, not merely a subsection, so that it
7466         can be split up.  Modernize a bit.
7467         (C language versions, C99 features assumed)
7468         (C99 features avoided):
7469         New sections.
7471 2017-04-23  Bruno Haible  <bruno@clisp.org>
7473         doc: New section "Modules that modify the way other modules work".
7474         * doc/gnulib.texi (Modules that modify the way other modules work): New
7475         section.
7477 2017-04-23  Bruno Haible  <bruno@clisp.org>
7479         stat-time: Update comments.
7480         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
7481         * tests/test-utimens-common.h: Add reference regarding st_ctime on
7482         Windows.
7484 2017-04-01  Bruno Haible  <bruno@clisp.org>
7486         glob: Fix more memory leaks.
7487         * lib/glob.c (glob): Free allocated memory before returning.
7488         Reported by Coverity via Tim Rühsen.
7490 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7492         poll: improve fast check for out-of-range NFD
7493         * lib/poll.c: Do not include intprops.h.
7494         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
7495         * modules/poll (Depends-on): Remove intprops.
7497         ftoastr: cite a newer paper
7498         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
7499         instead of Loitsch 2010.
7501 2017-04-22  Bruno Haible  <bruno@clisp.org>
7503         poll: Enable argument check also in the Windows implementation.
7504         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
7505         Reported by Paul Eggert.
7507 2017-04-22  Bruno Haible  <bruno@clisp.org>
7509         getlogin_r: Work around bug in Mac OS X 10.12.
7510         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
7511         bug.
7512         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
7513         given size minus 1, call getlogin_r a second time, on a larger buffer.
7514         * modules/getlogin_r (Depends-on): Add malloca.
7515         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
7517 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7519         parse-datetime: fix %z and prefer signed int
7520         %z problem reported by Pádraig Brady in:
7521         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
7522         While fixing it, I decided to prefer signed ints to size_t, as
7523         they are less error-prone (e.g., ubsan catches overflow).
7524         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
7525         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
7526         counts, since signed integers make for better debugging.
7527         (date): Don’t assume %z works in printf formats.
7528         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
7529         sizes of buffers known to be small, e.g., because we’re using snprintf.
7530         (parse_datetime2): Simplify call to debug_mktime_not_ok.
7532 2017-04-22  Bruno Haible  <bruno@clisp.org>
7534         *printf: Work around rounding bug on Mac OS X.
7535         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
7536         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
7537         Mac OS X and FreeBSD.
7538         * doc/glibc-functions/*printf.texi: Likewise.
7540 2017-04-22  Bruno Haible  <bruno@clisp.org>
7542         vasnprintf tests: Avoid warnings.
7543         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
7544         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
7545         test.
7547 2017-04-22  Bruno Haible  <bruno@clisp.org>
7549         sys_file tests: Avoid warning.
7550         * tests/test-sys_file.c (main): Add a default clause to the switch
7551         statement.
7553 2017-04-22  Bruno Haible  <bruno@clisp.org>
7555         sethostname: Update doc.
7556         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
7557         Mac OS X.
7559 2017-04-22  Bruno Haible  <bruno@clisp.org>
7561         quotearg tests: Avoid warnings.
7562         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
7563         false.
7565 2017-04-22  Bruno Haible  <bruno@clisp.org>
7567         poll: Enable argument check.
7568         * lib/poll.c: Include intprops.h.
7569         (poll): Check value of nfd correctly.
7570         * modules/poll (Depends-on): Add intprops.
7572 2017-04-22  Bruno Haible  <bruno@clisp.org>
7574         get-rusage-data: Avoid warnings on Mac OS X.
7575         * lib/get-rusage-data.c: On Mac OS X, don't define
7576         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
7577         (get_rusage_data) [Mac OS X]: Just return 0.
7579 2017-04-22  Bruno Haible  <bruno@clisp.org>
7581         xbinary-io: Fix build error.
7582         * modules/xbinary-io (Depends-on): Add gettext-h.
7583         * lib/xbinary-io.c: Include gettext.h and define _().
7584         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
7585         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
7587 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7589         parse-datetime: overflow and debug cleanups
7590         This long patch was triggered by this bug report from Ruediger Meier:
7591         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
7592         I fixed the bug he noted, then found some others nearby, and then
7593         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
7594         up some of the code to follow GNU standards while I was at it.
7595         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
7596         use c_isdigit.
7597         (EPOCH_YEAR): Remove; unused.
7598         (TM_YEAR_BASE): Now an enum rather than a macro.
7599         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
7600         time zone offset, since timezones now are in terms of seconds and
7601         not minutes.
7602         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
7603         appropriate.  Verify that intmax_t is wide enough.
7604         (time_overflow, time_zone_str): New functions, used to deal
7605         more reliably with overflow.
7606         (dbg_printf): Add printf attribute, to help catch integer width errors.
7607         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
7608         (%union, to_hour, yylex, parse_datetime2):
7609         Use intmax_t instead of long int and/or long_time_t.
7610         All uses changed.
7611         (DBGBUFSIZE): Move earlier.
7612         (relative_time, set_hhmmss, parser_control):
7613         Just use int for nanoseconds and for time zones; that’s wide enough.
7614         (parser_control): Use bool for members like year_seen that can
7615         be booleans instead of counters.  All uses changed.
7616         Remove debug_default_input_timezone; no longer needed.
7617         All uses removed.
7618         (apply_relative_time): Return a bool overflow flag.
7619         All uses changed to check for overflow.
7620         (apply_relative_time, zone, date, relunit, relunit_snumber)
7621         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
7622         Check for integer overflow portably.
7623         (str_days): Use just int for N, as it’s wide enough.
7624         Prefer 2D char arrays to arrays of char * when it looks like
7625         2D is a win on typical platforms.
7626         Prefer snprintf to strncpy/strncat, for simplicity;
7627         all buffers are smaller than INT_MAX so this is safe.
7628         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
7629         (debug_print_current_time): Don’t assume tv_nsec is of type long,
7630         as this is not true on x32.  Output "." before any nanoseconds.
7631         (debug_print_current_time, parse_datetime2):
7632         Output local zones using a more-consistent format.
7633         (debug_print_current_time, date, parse_datetime2):
7634         (main) [TEST]:
7635         Don’t assume time_t is the same width as long.
7636         (print_rel_part): New function, replacing ...
7637         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
7638         (debug_print_relative_time): Use bool for boolean.
7639         (local_zone): dsts_seen now counts only tDST instances.
7640         (date): Fix printf of size_t to use %z.  Do not assume numeric
7641         tokens have negative values merely because the context suggests
7642         a syntax with "-" separating tokens.
7643         (time_zone_hhmm): Return bool success indicator, which checks for
7644         overflow.  Store result into PC->time_zone instead.  All callers
7645         changed.
7646         (tm_year_str): New function.  Return a bool success indicator and
7647         store the result into a buffer.  All callers changed.  Output the
7648         numerically correct string even if adding 1900 to the year would
7649         overflow.
7650         (to_tm_year): New function, replacing the old to_year.  All
7651         callers changed.
7652         (tm_diff): Sync with glibc.
7653         (lookup_word): Use to_uchar instead of doing it by hand.
7654         (TZBUFSIZE): Now local to the only function that needs it.
7655         (debug_strfdatetime): Simplify now that time zones are int seconds.
7656         (debug_strfdate): Work even if tm_year + 1900 would overflow.
7657         (get_effective_timezone): Remove.  All uses removed.
7658         (parse_datetime2): Use fprintf in pieces instead of snprintfing
7659         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
7660         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
7661         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
7662         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
7663         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
7664         * modules/parse-datetime (Depends-on): Add inttypes.
7666 2017-04-21  Bruno Haible  <bruno@clisp.org>
7668         gettext-h: Avoid -Wundef warning.
7669         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
7670         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7671         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
7673 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
7675         error: Avoid "function declaration isn't a prototype" warning.
7676         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
7678 2017-04-21  Bruno Haible  <bruno@clisp.org>
7680         vasnprintf: Fix for MSVC 14.
7681         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
7682         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
7683         of !HAVE_SNPRINTF_RETVAL_C99.
7685 2017-04-21  Bruno Haible  <bruno@clisp.org>
7687         mbrtowc tests: Fix test failures on MSVC 14.
7688         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
7689         behaviour for invalid input.
7691 2017-04-21  Bruno Haible  <bruno@clisp.org>
7693         mbsinit: Fix for MSVC 14.
7694         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
7695         implementation that is in sync with mbrtowc.c. On other platforms, use
7696         an adequate ad-hoc implementation.
7698 2017-04-21  Bruno Haible  <bruno@clisp.org>
7700         Fix test-mbrtowc5.sh failure on native Windows.
7701         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
7702         "C".
7704 2017-04-21  Bruno Haible  <bruno@clisp.org>
7706         Avoid accidental use of native Windows APIs on Cygwin.
7707         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
7708         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
7709         * lib/localename.c (WINDOWS_NATIVE): Likewise.
7711 2017-04-20  Bruno Haible  <bruno@clisp.org>
7713         Remove red warnings from the generated MODULES.html.
7714         * modules/fcntl (Description): Disambiguate function references.
7715         * modules/getcwd-lgpl (Description): Likewise.
7716         * modules/hostent (Description): Likewise.
7717         * modules/servent (Description): Likewise.
7718         * modules/tempname (Description): Likewise.
7720 2017-04-20  Bruno Haible  <bruno@clisp.org>
7722         verify tests: Fix spurious failure with parallel make.
7723         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
7724         EXTRA_PROGRAMS.
7725         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
7726         * tests/test-verify-try.c: New file.
7727         * modules/verify-tests (Files): Add it.
7728         (EXTRA_PROGRAMS): Add test-verify-try.
7729         (MOSTLYCLEANFILES): Update accordingly.
7730         Reported by Adam James Stewart <ajstewart@anl.gov>.
7732 2017-04-18  Bruno Haible  <bruno@clisp.org>
7734         vma-iter: Fix compilation error on Solaris 7.
7735         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
7736         like on IRIX, OSF/1.
7737         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7739 2017-04-18  Bruno Haible  <bruno@clisp.org>
7741         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
7742         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
7743         included.
7744         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
7745         <sys/procfs.h>.
7746         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
7747         <sys/procfs.h> cannot be included.
7748         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7750 2017-04-18  Bruno Haible  <bruno@clisp.org>
7752         getopt-gnu: Add comments.
7753         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
7754         * modules/getopt-gnu (configure.ac): Likewise.
7756 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7758         regex: port better to Solaris 10
7759         Solaris 10 <locale.h> includes <libintl.h>, which #defines
7760         gettext, and this causes a double #define.
7761         Problem reported by Gavin Smith in:
7762         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
7763         * lib/regex_internal.h (gettext): #undef before #defining.
7765 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7767         intprops: improve comments
7768         * lib/intprops.h: Improve and shorten commentary.
7769         For the record, if we ever run into a pedantic compiler that
7770         behaves differently from GCC when converting an out-of-range value
7771         to a signed integer, we can work around the problem with something
7772         like the following code, where UCT is the signed counterpart of T
7773         (UCT is sometimes narrower than UT) and all callers are changed
7774         accordingly:
7775         #if __SUNPRO_C <= 0x5120
7776         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7777            ((t) ((ut) (a) op (ut) (b)))
7778         #else
7779         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
7780            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
7781             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
7782                + TYPE_MINIMUM (t)) \
7783             : (t) (uct) ((ut) (a) op (ut) (b)))
7784         #endif
7786 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7788         intprops: try to avoid tickling similar bugs
7789         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
7790         needs to be the same width as T; it can be wider.
7791         Change callers so that UT is at least as wide as unsigned int,
7792         as I suspect that this is less likely to run into compiler bugs.
7794         intprops: port to Oracle Studio 12.3 x86
7795         Problem reported by Gavin Smith in:
7796         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
7797         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7798         Convert unsigned to signed via the usual rather than the standard way,
7799         to avoid a compiler bug in Oracle Studio 12.3 x86.
7801 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7803         getopt: prefer - to _ in new file names
7804         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
7805         * lib/getopt-core.h: Rename from lib/getopt_core.h.
7806         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
7807         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
7808         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
7809         All uses changed.
7811         getopt: port recent getopt changes to macOS
7812         Problem reported by Harald Maier (Bug#26398).
7813         The macOS C compiler uses __nonnull for its own purposes and that
7814         clashes with glibc's __nonnull.
7815         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
7816         * lib/getopt_cdefs.in.h (__nonnull): Remove.
7817         * lib/getopt_core.h (getopt):
7818         * lib/getopt_ext.h (getopt_long, getopt_long_only):
7819         Use _GL_ARG_NONNULL, not __nonnull.
7820         * lib/unistd.in.h: Move snippet hooks to before where the getopt
7821         .h files are included, so that _GL_ARG_NONNULL is defined in time.
7822         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
7823         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
7825 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
7827         getopt-gnu: omit some duplicate code
7828         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
7829         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
7830         gnulib-tool already does this.
7831         * modules/getopt-gnu (configure.ac): Omit code duplicated from
7832         getopt-posix, which we depend on.
7834         getopt-posix: use angle-bracket include
7835         * lib/getopt1.c: Include <config.h>, not "config.h".
7837 2017-04-06  Zack Weinberg  <zackw@panix.com>
7839         getopt: annotate files with relationship to glibc
7841         As the final act in this patchset, adjust the message at the top of
7842         each file to indicate which files are synced with glibc.  (This has
7843         already been done for most of the headers.)
7845         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
7846         Mention in top-of-file boilerplate that these files are shared
7847         between glibc and gnulib.
7850         getopt: split up getopt.in.h and eliminate __need_getopt
7852         Over in glibc, all of the __need macros are being phased out in favor
7853         of small headers that declare only the necessary components, as this
7854         is much simpler and less prone to bugs.  As getopt is shared with
7855         glibc, gnulib needs to do the same for __need_getopt.
7857         __need_getopt is misnamed; what it really means is "we want only the
7858         getopt features specified in POSIX, not the GNU extensions".  glibc
7859         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
7860         these files can be shared verbatim with gnulib.  The portability
7861         wrapper, on the other hand, they have renounced altogether; glibc's
7862         getopt.h will no longer be shared with gnulib at all.  In exchange,
7863         certain glibc-specific quirks (having to do with __posix_getopt) no
7864         longer need appear in gnulib's headers at all.
7866         This patch merges getopt_core.h and getopt_ext.h from glibc, and
7867         splits up the current gnulib-side portability wrapper into three
7868         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
7869         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
7870         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
7871         unistd.in.h just use them.  All new files are clearly marked with
7872         whether they are shared with glibc.
7874         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
7875         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
7876         with glibc, and ...
7877         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
7878         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
7879         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
7880         instead of defining __need_getopt and including the full getopt.h.
7882         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
7883         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
7884         * modules/getopt-posix (Files): Add new headers and sort list.
7885         (Depends-on): No longer need snippet/arg-nonnull.
7886         (Makefile.am): Generate getopt_cdefs.h.
7889         getopt: better handling of ambiguous options
7891         glibc's getopt uses alloca to construct a linked list of possibilities
7892         for an "ambiguous" long option.  In gnulib, malloc should be used
7893         instead.  Providing for both cases complicates things a fair bit.
7895         This patch rewrites ambiguous-option handling to use a boolean vector
7896         instead of a linked list.  There is then only one allocation that
7897         might need freeing; in glibc it can honor __libc_use_alloca as usual,
7898         and in gnulib we define __libc_use_alloca to always be false, so we
7899         don't need ifdefs in the middle of the function.  This should also be
7900         slightly more efficient in the normal case of long options being fully
7901         spelled out -- I think most people aren't even aware they _can_
7902         sometimes abbreviate long options.
7904         One interesting consequence is that the list of possibilities is now
7905         printed in exactly the order they appear in the list of long options,
7906         instead of the first possibility being shuffled to the end.
7908         (The patch looks bigger than it really is because there's a fair bit
7909         of reindentation and code rearrangement.)
7911         * lib/getopt.c: When used standalone, define __libc_use_alloca
7912         as always false and alloca to abort if called.
7913         (process_long_option): Rewrite handling of ambiguous long options
7914         to use a single boolean vector, not a linked list; use
7915         __libc_use_alloca to decide whether to allocate this using alloca.
7918         getopt: refactor long-option handling
7920         There were two copies of the bulk of the code to handle long options.
7921         Now there is only one.
7923         This change temporarily removes the logic to avoid using alloca when
7924         standalone; the next patch in the series will restore it.
7926         * lib/getopt.c (process_long_option): New function split out
7927         from _getopt_internal_r.
7928         (_getopt_internal_r): Replace both copies of the long-option
7929         processing code with calls to process_long_option.
7932         getopt: tidy up _getopt_initialize a bit
7934         _getopt_data.__posixly_correct is completely redundant to
7935         _getopt_data.__ordering, and some work that logically belongs in
7936         _getopt_initialize was being done by _getopt_internal_r, making the
7937         code harder to understand.
7939         As a side effect, getenv will no longer be called if the first
7940         character of the options string is '+' or '-', which is probably a
7941         Good Thing.  (Perhaps we should have a flag character that
7942         specifically asks for the permutation behavior?)
7944         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
7945         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
7946         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
7949         getopt: merge from glibc: repetition reduction
7951         The definitions of the entry point functions 'getopt' and
7952         '__posix_getopt' can be made substantially less repetitive with a
7953         helper macro.
7955         While I was merging the const-correctness changes from gnulib into
7956         glibc I noticed there are still some unnecessary casts in
7957         _getopt_internal_r.
7959         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
7960         a macro.  Consistently cast 'argv' to 'char **' when calling
7961         _getopt_internal.
7962         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
7965         getopt: clean up error reporting
7967         getopt can print a whole bunch of error messages, and when used
7968         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
7969         cancellation point and getopt isn't, and also applying fprintf to a
7970         stream in wide-character mode is not allowed.  So every single error
7971         reporting case has an #ifdef _LIBC block in which it calls internal
7972         libc functions instead.  The counterpart patch series in glibc makes
7973         it possible to simplify all of that down to a set of #defines at the
7974         top of the file; core code is written as if it is safe to just call
7975         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
7976         call any *other* stdio functions.)
7978         * lib/getopt.c: When _LIBC is defined, define fprintf to
7979         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
7980         to _IO_funlockfile.  When neither _LIBC nor
7981         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
7982         funlockfile as no-ops.
7983         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
7984         standalone error-printing code can now be used for libc as well.
7985         Add an flockfile/funlockfile pair around one case where the error
7986         message is printed in several chunks.  Don't use fputc.
7989         getopt: fix fencepost error in ambiguous-W-option handling
7991         getopt_long contains an undocumented (AFAICT) feature in which, if you
7992         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
7993         treated as equivalent to '--foo'.  This is implemented with a partial
7994         second copy of the code for handling long options, and that code
7995         increments optind one too many times when recovering from an ambiguous
7996         abbreviated option, which can cause the main loop to walk past the end
7997         of argv and crash.
7999         I discovered this while writing a test case that tries to exercise all
8000         of getopt's error reporting paths; I wouldn't be surprised to learn
8001         that this feature is never used by real applications.
8003         * lib/getopt.c (_getopt_internal_r): Don't increment
8004         d->optind a second time when reporting ambiguous -W options.
8007         getopt: clean up getopt.c and getopt1.c file headers
8009         In getopt.c, there is no need to include wchar.h at all, and it is
8010         safe nowadays to assume that stdlib.h does declare getenv (several
8011         other gnulib modules make this assumption).
8013         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
8014         by using "" inclusions consistently, and there is no actual need to
8015         include stdlib.h (except in the #ifdef TEST block, where it should be
8016         unconditional), nor to provide a backup definition of NULL at all.
8018         * lib/getopt1.c: Simplify #ifdeffage at top of file.
8019         Move inclusion of stdlib.h to #ifdef TEST block and make
8020         unconditional.  Do not define NULL.
8021         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
8022         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
8023         * modules/getopt-gnu, modules/getopt-posix: Don't call
8024         gl_PREREQ_GETENV.
8027         getopt: harmonize comments with glibc
8029         The comments explaining how the behavior of 'getopt' varies depending
8030         on whether it's the standalone version and whether there are special
8031         characters at the beginning of the options string were inconsistent
8032         between gnulib and glibc, and also out of sync with the code.
8034         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
8037         getopt: remove USE_NONOPTION_FLAGS
8039         getopt includes code to parse an environment variable named
8040         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
8041         in decimal); but all of it has been #ifdefed out since 2001, with no
8042         official way to turn it back on.
8044         According to commentary in glibc's config.h.in, bash version 2.0
8045         set this environment variable to indicate argv elements that were
8046         the result of glob expansion and therefore should not be treated
8047         as options, but the feature was "disabled later" because "it
8048         caused problems".  According to bash's CHANGES file, "later" was
8049         release 2.01; it gives no more detail about what the problems
8050         were.
8052         Version 2.0 of bash was released on the last day of 1996, and version
8053         2.01 in June of 1997.  Twenty years later, I think it is safe to
8054         assume that this environment variable isn't coming back.
8056         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
8057         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
8058         __libc_argc and __libc_argv externs, which were only used by
8059         #ifdef USE_NONOPTION_FLAGS blocks.
8062         getopt: tabify, in preparation for merge with glibc
8064         glibc sticks to the GNU default of indenting with a mix of
8065         8-column tabs and spaces; make the gnulib copy match.
8067         getopt.h is not included because it is *not* going to be merged in its
8068         present form.
8070         * getopt.c, getopt1.c, getopt_int.h: Tabify.
8072 2017-04-02  Bruno Haible  <bruno@clisp.org>
8074         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
8075         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
8076         like it was done in modules/relocatable-lib on 2011-05-21 and in
8077         modules/relocatable-prog on 2011-08-15.
8078         Reported by Reuben Thomas <rrt@sc3d.org>.
8080 2017-03-31  Bruno Haible  <bruno@clisp.org>
8082         glob: Fix invalid free() call.
8083         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
8084         static storage to home_dir.
8085         Reported by Coverity via Tim Rühsen.
8087 2017-03-31  Bruno Haible  <bruno@clisp.org>
8089         glob: Fix memory leaks.
8090         * lib/glob.c (glob): Free allocated memory before returning.
8091         Reported by Coverity via Tim Rühsen.
8093 2017-03-31  Bruno Haible  <bruno@clisp.org>
8095         md5, sha1, sha256, sha512: Add comments regarding correctness.
8096         * lib/md5.h (buflen): Add comments regarding range.
8097         * lib/sha1.h (buflen): Likewise.
8098         * lib/sha256.h (buflen): Likewise.
8099         * lib/sha512.h (buflen): Likewise.
8100         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
8101         * lib/sha1.c (sha1_process_bytes): Likewise.
8102         * lib/sha256.c (sha256_process_bytes): Likewise.
8103         * lib/sha512.c (sha512_process_bytes): Likewise.
8104         Reported by Coverity via Tim Rühsen.
8106 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
8108         getopt: merge from glibc
8109         This does not change anything substantial; it merely simplifies
8110         hypothetical merges back to glibc.
8111         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
8112         Change copyright notice to match what is in glibc.
8113         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
8114         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
8115         __open_memstream rather than open_memstream and __glibc_likely
8116         instead of __builtin_expect.
8117         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
8119 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
8121         dfa: make [0-9] faster in non-C locales
8122         Problem reported by John P. Linderman (Bug#26193).
8123         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
8124         If both ends of the range are ASCII digits, do not worry about
8125         multi-character collating sequences and the like.  Be consistent
8126         about using isalpha as a precondition for setbit_case_fold_c.
8128 2017-03-19  Bruno Haible  <bruno@clisp.org>
8130         lock: Fix compilation error with HP-UX IA64 cc.
8131         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
8132         weak on non-glibc platforms.
8134 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
8136         stdalign: tweak version# and test for HP-UX IA64
8137         Problems reported by Bruno Haible in:
8138         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
8139         * lib/stdalign.in.h (_Alignas):
8140         * m4/stdalign.m4 (gl_STDALIGN_H):
8141         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
8142         used octal (as that is how they document it), but it is decimal in
8143         practice now and the ancient implementations no longer matter.
8144         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
8146 2017-03-19  Bruno Haible  <bruno@clisp.org>
8148         vma-iter: Add support for Solaris.
8149         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
8150         approach.
8151         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
8152         * lib/get-rusage-as.c: Update comment about Solaris.
8153         * lib/get-rusage-data.c: Likewise.
8155 2017-03-19  Bruno Haible  <bruno@clisp.org>
8157         vma-iter: Prefer HP-UX specific API on HP-UX.
8158         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
8159         * lib/vma-iter.h: Update.
8160         Just in case HP-UX ever implements mquery().
8162 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
8164         stdalign: restore previous behavior for HP-UX IA64
8165         See Bruno Haible's email in:
8166         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8167         which cites p 150 of a manual saying that 'aligned' works on Itanium.
8168         * lib/stdalign.in.h (_Alignas):
8169         Assume the '061200' applies to Itanium, not to PA-RISC.
8170         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
8172 2017-03-17  Bruno Haible  <bruno@clisp.org>
8174         stat-time, timespec: Support use of the header files in C++ mode.
8175         * lib/stat-time.h: Add "C" linkage declaration.
8176         * lib/timespec.h: Likewise.
8178 2017-03-17  Bruno Haible  <bruno@clisp.org>
8180         stdalign: Make it work with HP-UX cc.
8181         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
8182         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
8183         for HP-UX cc.
8185 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
8187         flexmember: try to detect HP-UX 11.31 cc bug
8188         Problem reported by Bruno Haible in:
8189         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
8190         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8191         Attempt to detect bug in HP-UX 11.31 cc.
8193 2017-03-16  Bruno Haible  <bruno@clisp.org>
8195         stdint: Fix test compilation failure with HP-UX 11 cc.
8196         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
8197         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
8198         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
8199         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
8201 2017-03-14  Bruno Haible  <bruno@clisp.org>
8203         gnulib-tool: Don't produce a tests directory with only snippet .h files.
8204         * gnulib-tool (func_modules_transitive_closure_separately): If
8205         testsrelated_modules ends up with no "real" modules, aside from
8206         modules with applicability 'all', set it to empty.
8208 2017-03-14  Bruno Haible  <bruno@clisp.org>
8210         vma-iter: Add support for HP-UX.
8211         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
8212         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
8213         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
8214         * lib/get-rusage-as.c: Update comment about HP-UX.
8215         * lib/get-rusage-data.c: Likewise.
8216         (get_rusage_data): Use get_rusage_data_via_setrlimit.
8218 2017-03-14  Bruno Haible  <bruno@clisp.org>
8220         limits-h: Make it work with HP-UX cc.
8221         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
8222         defined.
8224 2017-03-14  Bruno Haible  <bruno@clisp.org>
8226         Fix test failures on DragonFlyBSD.
8227         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
8228         * tests/test-select.h (test_bad_fd): Likewise.
8229         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
8231 2017-03-14  Bruno Haible  <bruno@clisp.org>
8233         freadahead: Silence warning on DragonFlyBSD.
8234         * lib/freadahead.c (__sreadahead): Declare ourselves.
8236 2017-03-14  Bruno Haible  <bruno@clisp.org>
8238         vma-iter: Add comment about AIX.
8239         * lib/vma-iter.c: Add comment about why this module is not implemented
8240         on AIX.
8242 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8244         snippets: move unadjusted snippet sources to lib
8245         Problem reported by Michal Privoznik in:
8246         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
8247         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
8248         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
8249         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
8250         * lib/unused-parameter.h: Rename from
8251         build-aux/snippet/unused-parameter.h.
8252         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
8253         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
8254         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
8255         * modules/snippet/c++defs (Files:, CXXDEFS_H):
8256         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
8257         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
8258         Adjust to file renamings.
8260 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
8262         gnulib-tool: don't automatically distribute files from top/
8263         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
8264         not distribute top/README-release by default, don't distribute files
8265         from top/ unconditionally.
8266         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
8267         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
8269 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
8271         gnulib-tool: fix typo in comment output
8272         * gnulib-tool (func_import): Fix typo with previous change.
8274         snippets: work around GNU Make 3.82 VPATH
8275         When using 'gnulib-tool --gnu-make' on Emacs, and building
8276         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
8277         an out-of-source (VPATH) build failed because the sans-copyright
8278         snippet file was not built before the file that used it.
8279         Presumably this is some sort of VPATH thing.  Work around the
8280         problem by using the original snippet, i.e., don’t bother to
8281         remove its copyright notice.
8282         * modules/snippet/_Noreturn, modules/snippet/link-warning:
8283         Don’t assume Automake in comments.  Omit long-incorrect comment.
8284         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
8285         (MOSTLYCLEANFILES):
8286         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
8287         (MOSTLYCLEANFILES):
8288         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
8289         (MOSTLYCLEANFILES):
8290         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
8291         (MOSTLYCLEANFILES):
8292         Remove.
8293         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
8294         * modules/snippet/c++defs (CXXDEFS_H):
8295         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
8296         * modules/snippet/warn-on-use (WARN_ON_USE_H):
8297         Don’t bother to remove the copyright notice; just use the
8298         original snippet as-is.
8300 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
8302         gnulib-tool: minor --gnu-make fixups
8303         * gnulib-tool (func_emit_lib_Makefile_am):
8304         Remove useless code that was a blind alley during implementation.
8305         Problem reported by Thien-Thi Nguyen in:
8306         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
8307         (func_import): Note the "--gnu-make" option in the output comment.
8309 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
8311         gnulib-tool: new option --gnu-make
8312         This is for applications like GNU Emacs that use GNU Make
8313         features instead of Automake.
8314         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
8315         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
8316         Do not assume Automake.
8317         * gnulib-tool (func_determine_path_separator)
8318         (func_modules_transitive_closure, func_update_file)
8319         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
8320         (func_import): Add support for --gnu-make.
8322 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8324         gnulib-common.m4: avoid aclocal.m4 bloat
8325         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
8326         Hide AM_PROG_AR from aclocal, so that aclocal does not
8327         install irrelevant macro definitions into aclocal.m4.
8329 2017-03-10  Bruno Haible  <bruno@clisp.org>
8331         vma-iter: Let callers know about error.
8332         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
8333         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
8335 2017-03-05  Bruno Haible  <bruno@clisp.org>
8337         Fix value of LD for 64-bit compilers on AIX.
8338         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
8339         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
8341 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
8343         dtotimespec: simplify
8344         * lib/dtotimespec.c (dtotimespec): Simplify.
8346 2017-03-04  Bruno Haible  <bruno@clisp.org>
8348         test-calloc-gnu: Reenable test also for GCC 7.
8349         * tests/test-calloc-gnu.c (eight): New function.
8350         (main): Don't skip test; use eight() instead.
8352 2017-03-04  Jim Meyering  <meyering@fb.com>
8354         test-calloc-gnu: port to GCC7
8355         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
8356         that attempts to calloc more than SIZE_MAX bytes, because GCC7
8357         and newer would detect that at compilation time.
8359 2017-03-04  Bruno Haible  <bruno@clisp.org>
8361         tests: Avoid compiler warning about uses of null_ptr.
8362         * tests/null-ptr.h: New file.
8363         * tests/test-canonicalize.c: Include null-ptr.h.
8364         (null_ptr): Remove function.
8365         * tests/test-canonicalize-lgpl.c: Likewise.
8366         * tests/test-memmem.c: Likewise.
8367         * tests/test-ptsname_r.c: Likewise.
8368         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
8369         * modules/canonicalize-lgpl-tests: Likewise.
8370         * modules/memmem-tests: Likewise.
8371         * modules/ptsname_r-tests: Likewise.
8372         Reported by Jim Meyering.
8374 2017-03-03  Bruno Haible  <bruno@clisp.org>
8376         doc: Mention Mac OS X deficiencies regarding semaphores.
8377         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
8378         * doc/posix-functions/sem_destroy.texi: Likewise.
8379         * doc/posix-functions/sem_getvalue.texi: Likewise.
8381 2017-03-03  Bruno Haible  <bruno@clisp.org>
8383         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
8384         Reported by Assaf Gordon <assafgordon@gmail.com> via
8385         Pádraig Brady <P@draigBrady.com>.
8386         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
8387         semaphores.
8388         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
8389         (atomic_int_semaphore): New macro.
8391 2017-02-28  Bruno Haible  <bruno@clisp.org>
8393         perror tests: Tweak for z/OS.
8394         Reported by Daniel Richard G. <skunk@iskunk.org>.
8395         * tests/test-perror.sh: Don't fail z/OS style perror output.
8397 2017-02-26  Bruno Haible  <bruno@clisp.org>
8399         nproc: Refactor large function.
8400         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
8401         from num_processors.
8402         (num_processors): In this function, only deal with OMP.
8404 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8406         nproc: adjust handling of OpenMP environment variables
8407         to match the return value from omp_get_num_threads(), i.e.:
8408          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
8409          - Treat 0 as an invalid value and ignore
8410         Also remove the call to omp_get_num_threads() because
8411         it's ineffective without the omp pragmas in place.
8412         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
8413         so that it can be ignored.
8414         (num_processors): Honor OMP_THREAD_LIMIT even without
8415         OMP_NUM_THREADS being set.  Also fix a typo in the environment
8416         variable being checked, from the previous recent commit.
8418 2017-02-26  Pádraig Brady  <P@draigBrady.com>
8420         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
8421         * lib/nproc.c (parse_omp_threads): A new function refactored
8422         from num_processors() to support parsing both of the
8423         above environment variables.
8424         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
8425         to accurately reflect the current OpenMP nesting level.
8426         Also support the OMP_THREAD_LIMIT environment variable
8427         to limit the max value determined from OMP_NUM_THREADS.
8428         * modules/nproc: Depend on minmax header.
8429         Suggested by Oliver Heimlich.
8431 2017-02-25  Bruno Haible  <bruno@clisp.org>
8433         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
8434         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
8436 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8438         ftoastr: port to -Wdouble-promotion
8439         Work around -Wdouble-promotion false alarm in recent GCCs.
8440         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
8441         (ftoastr_snprintf, FTOASTR): Use it.
8443 2017-02-21  Bruno Haible  <bruno@clisp.org>
8445         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
8446         Reported by Rene Saavedra <rennes@openmailbox.org> in
8447         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
8448         * lib/glthread/lock.h: On glibc systems without
8449         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
8450         implementation of rwlocks.
8451         * lib/glthread/lock.c: Likewise.
8453 2017-02-20  Bruno Haible  <bruno@clisp.org>
8455         lock tests: Fix build failure on z/OS.
8456         Reported by Daniel Richard G. <skunk@iskunk.org>.
8457         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
8458         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
8459         exist.
8461 2017-02-19  Bruno Haible  <bruno@clisp.org>
8463         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
8464         This helps when CC=clang.
8465         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
8466         of /usr/bin/gcc.
8468         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
8469         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
8471 2017-02-19  Bruno Haible  <bruno@clisp.org>
8473         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
8474         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
8475         --with-tests --single-configure is specified.
8477 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
8479         users.txt: Update links, use HTTPS where possible
8480         * users.txt: Updated to HTTPS where possible,
8481         fixed some links to new locations.
8483 2017-02-16  Bruno Haible  <bruno@clisp.org>
8485         xbinary-io: Fix inlining.
8486         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
8488 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8490         xbinary-io: rename from xsetmode
8491         This patch is taken from suggestions by Bruno Haible in:
8492         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
8493         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
8494         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
8495         not ENOTTY, when it is an inappropriate device.
8496         * lib/binary-io.h (SET_BINARY): Resurrect.
8497         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
8498         (xset_binary_mode_error): Rename from xsetmode_error.
8499         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
8500         (xset_binary_mode): Rename from xsetmode.
8501         All uses changed.
8502         * modules/xbinary-io: Rename from modules/xsetmode.
8503         Update file names.
8504         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
8505         * NEWS: Update to match revised behavior.
8507 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
8509         tests: Adjust to recent SET_BINARY change
8510         * tests/test-binary-io.c (main):
8511         * tests/test-binary-io.sh: Remove test for SET_BINARY.
8512         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
8513         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
8514         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
8516         xsetmode: new module
8517         This is to fix a problem noted by Eric Blake.
8518         Code was using xfreopen to change files to binary mode, but this
8519         fails for stdout when in append mode.  Such code should use
8520         xsetmode instead.
8521         * NEWS: Document incompatible changes to binary-io module.
8522         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
8523         New function.
8524         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
8525         (set_binary_mode): New function, which also checks for tty.
8526         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
8528 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
8530         headers: fix begin-end typos
8531         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
8532         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
8534         selinux-h: port to PGI 16.10
8535         * lib/se-selinux.in.h: Don't assume that include_next skips over
8536         duplicate -I DIR options.
8538         argp: port to PGI 16.10
8539         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
8541 2017-02-13  Darshit Shah  <darnir@gnu.org>
8543         unicase: Update function protoype to match definition.
8544         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
8545         uses 'size_t' as the datatype for the 'len' parameter in the functions
8546         it generates. Update the prototype specified here to match the newly
8547         generated function.
8549 2017-02-12  Bruno Haible  <bruno@clisp.org>
8551         times test: Avoid gcc warnings on Linux/x32.
8552         * tests/test-times.c (main): Really cast printf arguments from clock_t
8553         to 'long int'.
8555 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
8557         glob: port better to emscripten
8558         Problem reported by Bruno Haible in:
8559         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
8560         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
8562 2017-02-11  Bruno Haible  <bruno@clisp.org>
8564         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
8565         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
8566         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
8567         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
8568         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
8569         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
8570         Distinguish hppa64 from hppa.
8572 2017-02-10  Bruno Haible  <bruno@clisp.org>
8574         search: Don't assume that tsearch() exists if 'VISIT' is defined.
8575         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
8576         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
8577         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
8579 2017-02-09  Bruno Haible  <bruno@clisp.org>
8581         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
8582         * doc/gnulib.texi (Libtool and Windows): Recommend
8583         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
8584         Reported by Reuben Thomas <rrt@sc3d.org>.
8586 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
8588         stddef-tests: port to SIZE_MAX <= INT_MAX
8589         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
8590         Do not assume that INT_MAX < SIZE_MAX.
8592 2017-02-01  Bruno Haible  <bruno@clisp.org>
8594         lock tests: Fix link error.
8595         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
8596         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8598 2017-01-31  Bruno Haible  <bruno@clisp.org>
8600         lock: Fix link error (regression from 2017-01-05).
8601         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
8602         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
8603         pthread_rwlockattr_destroy weak.
8604         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8606 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
8608         Port to PGI 16.10 x86-64
8609         This patch fixes one real bug in gl_anylinked_list2.h, along with
8610         some minor glitches that are not bugs.  It does not silence PGI’s
8611         thousands of bogus warnings when compiling test-intprops.c.
8612         Fortunately, the warnings do not cause a failure.
8613         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
8614         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
8615         My goodness, PGI goes back a long ways - this predates C89!
8616         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
8617         For example, ASYNCSAFE (const void *) should expand to
8618         ‘const void *volatile’, not to ‘volatile const void *’.
8619         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
8620         * lib/verify.h (verify) [!__GNUC__]:
8621         Use shorter albeit meaningless string to bypass silly compiler limits.
8622         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
8623         * tests/nan.h (NaNf, NaNd, NaNl):
8624         Use static functions to avoid misguided compiler diagnostics.
8625         Is there some reason we don’t use static functions on all platforms?
8627 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
8629         parse-datetime: handle timezones reentrantly
8630         This API change was prompted by a report by Pádraig Brady in:
8631         https://bug.debian.org/851934#10
8632         To help fix the bug, make parse_datetime2 more reentrant.
8633         * NEWS: Document this incompatible change.
8634         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
8635         Add two arguments, the timezone and the timezone name.
8636         All callers changed.  If TZ="..." is specified, use it for
8637         calculating defaults.
8638         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
8639         this code should be usable in a library.
8640         (mktime_ok, get_effective_timezone):
8641         Accept timezone arg too.  All callers changed.
8642         (get_tz): Remove.
8643         (get_effective_timezone): Check for failures.
8645 2017-01-20  Eric Blake  <eblake@redhat.com>
8647         localename: port to cygwin 2.6
8648         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
8649         Cygwin.
8650         * modules/localename (Depends-on): Add extensions, since
8651         NL_LOCALE_NAME() is not visible without it.
8653 2017-01-17  Pádraig Brady  <P@draigBrady.com>
8655         parse-datetime: fix dependence on AC_PROG_SED
8656         * modules/parse-datetime: Use `sed` directly like all other modules.
8657         Reported by J William Piggott
8659 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
8661         intprops: update doc URLs
8662         * doc/intprops.texi (Integer Range Overflow): Update URLs.
8664 2017-01-16  Bruno Haible  <bruno@clisp.org>
8666         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
8667         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
8668         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
8669         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
8670         distinguish s390 and s390x.
8671         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
8672         * NEWS: Mention the change regarding 'armel'.
8674 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
8676         localeinfo: case_folded_counterparts and WEOF
8677         * NEWS: Document this.
8678         * lib/localeinfo.c (case_folded_counterparts):
8679         First arg is now wint_t, not wchar_t.  This generalizes the
8680         function to also work on WEOF, where it returns 0.
8682         dfa: port to gcc -fsanitize=undefined
8683         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
8684         as this runs afoul of gcc -fsanitize=undefined.
8686 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
8688         strftime: %z is -00 if unknown
8689         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
8690         the caller's responsibility to set 'negative_number'.  All uses changed.
8691         (__strftime_internal): Put '-' before a zero UTC offset if the time
8692         zone abbreviation starts with "-", which is the recently-introduced
8693         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
8694         * tests/test-strftime.c: Test for this.
8696 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8698         dfa: port to older GCC
8699         Problem reported by Assaf Gordon in:
8700         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
8701         * modules/c99: New module.  This merely attempts to use the latest
8702         C version, which should be enough to solve this particular problem.
8703         The idea is to document which Gnulib modules assume C99 or later.
8704         * modules/dfa (Depends-on): Add it.
8706 2017-01-10  Bruno Haible  <bruno@clisp.org>
8708         Update DEPENDENCIES.
8709         * DEPENDENCIES: List only https URLs. Update recommended version for
8710         autoconf, automake, gperf.
8712 2017-01-10  Jim Meyering  <meyering@fb.com>
8714         maint.mk: enforce spelling of "timestamp" (i.e., no space)
8715         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
8716         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
8718 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8720         dfa: minor simplification with emptyset
8721         * lib/dfa.c (build_state): Simplify by using emptyset.
8723 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
8725         dfa: shrink constraints from 4 bits to 3
8726         * lib/dfa.c (newline_constraint, letter_constraint)
8727         (other_constraint, prev_newline_dependent)
8728         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
8729         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
8730         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
8731         Constraints need only 3 bits, not 4.  Using smaller integers
8732         shrinks the code a bit and makes grep a tad faster on x86-64.
8734         dfa: omit unnecessary ptrdiff_t check
8735         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
8736         overflow, since xnmalloc does that now.
8738         dfa: omit unnecessary allocation
8739         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
8740         an all-zero follow set works just fine.
8742         dfa: omit unused local
8743         * lib/dfa.c (build_state): Fix up recent change.
8745         maint: remove stray .texi files
8746         Although these were superseded by other files like
8747         doc/posix-functions/ctime.texi, the old files were not removed.
8748         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
8750 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
8752         getprogname: fix port to IRIX
8753         * lib/getprogname.c (getprogname) [__sgi]:
8754         Don't dump core if malloc returns NULL.
8756         dfa: fix reallocation bug when matching newlines
8757         Problem reported for sed by S. Gilles (Bug#25390).
8758         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
8759         (dfastate): Reallocate before moving any newline transition ...
8760         (build_state): ... instead of reallocating here, where it is too late.
8762 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8764         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
8765         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
8767 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
8769         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
8770         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
8772 2017-01-07  Bruno Haible  <bruno@clisp.org>
8774         stdioext: Port to Minix 3.2 and newer.
8775         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
8776         * lib/fseeko.c (fseeko): Likewise.
8777         Reported by Nelson Beebe via Paul Eggert.
8779 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8781         getprogname: port to IRIX
8782         * lib/getprogname.c (getprogname): Port to IRIX.
8783         Based on an idea by Bastien Roucariès at:
8784         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
8785         via code from Bruno Haible at:
8786         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
8788         localename-tests: port to NetBSD 7
8789         Problem reported by Nelson H. F. Beebe.
8790         * tests/test-localename.c:
8791         Test newlocale and uselocale only if both exist.
8793         glob, intprops, xalloc: work around Clang bug
8794         Work around LLVM bug 16404, which is still not fixed.
8795         https://llvm.org/bugs/show_bug.cgi?id=16404
8796         Problem reported by Nelson H. F. Beebe.
8797         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
8798         Remove.
8799         * lib/glob.c (size_add_wrapv):
8800         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
8801         * lib/xalloc-oversized.h (xalloc_oversized):
8802         Do not use overflow builtins if Clang.
8804         dfa: fix 'return' typo
8805         Problem reported by Nelson H. F. Beebe.
8806         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
8808 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8810         parse-datetime: fix generated paths for coverage files
8811         * modules/parse-datetime: Adjust the paths for parse-datetime.y
8812         within parse-datetime.c, so that gcc generates appropriate .gcno
8813         files, allowing lcov to proceed without error.  Previously it
8814         would error trying to find "lib/lib/parse-datetime.y".
8816 2017-01-05  Pádraig Brady  <P@draigBrady.com>
8818         maint.mk: support parallel execution of coverage
8819         * top/maint.mk (coverage): Run dependencies serially,
8820         thus supporting parallel processing of each one,
8821         particularly build-coverage, which builds and runs tests.
8823 2017-01-05  Bruno Haible  <bruno@clisp.org>
8825         lock tests: Prefer semaphore over mutex.
8826         * tests/test-lock.c (USE_SEMAPHORE): New constant.
8827         (struct atomic_int, init_atomic_int, get_atomic_int_value,
8828         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
8829         Suggested by Torvald Riegel <triegel@redhat.com>.
8831 2017-01-05  Bruno Haible  <bruno@clisp.org>
8833         lock: Provide guarantee to avoid writer starvation for rwlocks.
8834         The rationale is: 1) Read-preferring read-write locks are prone to
8835         writer starvation if the number of reader threads multiplied by the
8836         percentage of time they have the lock held is too high. 2) Write-
8837         preferring read-write locks are the only reliable way to avoid this.
8838         3) There have been reports of 'test-lock' hanging on glibc systems
8839         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
8840         and glibc indeed implements read-preferring rwlocks by default, see
8841         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
8842         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
8843         * m4/pthread_rwlock_rdlock.m4: New file.
8844         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8845         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
8846         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8847         of rwlock initialization on glibc systems without
8848         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
8849         of rwlocks altogether on non-glibc systems without
8850         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
8851         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
8852         * lib/glthread/lock.c [USE_POSIX_THREADS]
8853         (glthread_rwlock_init_for_glibc): New function.
8854         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
8855         comment.
8856         [USE_PTH_THREADS]: New implementation of rwlocks.
8857         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
8858         readers.
8859         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
8860         (Depends-on): Add 'extensions'.
8861         * tests/test-rwlock1.c: New file.
8862         * lock-tests (Files): Add it.
8863         (Depends-on): Add usleep.
8864         (Makefile.am): Add test-rwlock1 to the tests.
8866 2017-01-05  Bruno Haible  <bruno@clisp.org>
8868         thread: Fix pth port.
8869         * lib/glthread/thread.h (pth_init): Declare weak.
8870         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
8871         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
8872         function.
8874 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
8876         parse-datetime: fix debug message on lone year number
8877         Input dates such as
8878           date -d "Apr 11 22:59:00 2011"
8879         are parsed as date (Apr 11, with default year 2016), then time, then a
8880         number (2011). Based on the combination of previously seen tokens,
8881         'digits_to_date_time' determines 2011 to be a year value.
8882         This fixes the debug messages to correctly show the updated year.
8883         Before:
8884             $ date --debug -d 'Apr 11 22:59:00 2011'
8885             date: parsed date part: (Y-M-D) 2016-04-11
8886             date: parsed time part: 22:59:00
8887             date: parsed number part: today/this/now
8888         After:
8889             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
8890             date: parsed date part: (Y-M-D) 2016-04-11
8891             date: parsed time part: 22:59:00
8892             date: parsed number part: year: 2011
8893         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
8894         'debug_year_seen' member fields.
8895         (digits_to_date_time): Update 'year_seen' as needed.
8896         (debug_print_current_time): Inform about year updates.
8897         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
8899         parse-datetime: fix local timezone debug messages
8900         "Local timezones" are strings that affect only DST relative to the
8901         default timezone. The debug messages in parse-datetime.y printed
8902         wrong information when encountering local timezones.
8903         Examples:
8904         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
8905              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
8906              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
8907         When the default timezone relates to the zone strings, EET/EEST are
8908         parsed as local timezones (tLOCAL_ZONE), and only change the DST
8909         value (0/1, respectively):
8910              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
8911              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
8912         * lib/parse-datetime.y (debug_print_current_time): If local timezone
8913         was seen, inform about DST change, don't print actual timezone.
8914         (debug_strfdatetime): If local timezone was seen, use default timezone
8915         (and adjust as needed) instead of using incorrect timezone.
8916         (parse_datetime2): Use correct time-zone source string, and adjust
8917         default timezone as needed.
8919         parse-datetime: add debug warning about DST changes
8920         Incorrect date arithmetic due to daylight saving time (DST) are a
8921         common (false) bug report in coreutils.
8922         Detect two such cases and print a warning:
8923         1. year/month/day adjustments (performed on 'struct tm'),
8924            where 'mktime' returns a different isdst value.
8925         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
8926            where the result of 'localtime(3)' on the value will return a
8927            different isdst value.
8928         Note: DST changes could be harmless or unnoticeable.
8929         Examples (with 'TZ=America/New_York'):
8930         Unnoticeable: result is 2016-Dec-14
8931            $ date -d '2016-06-15 EDT + 6 months' +%b
8932            Dec
8933         Unnoticeable: result is 2016-Dec-15 11:00:00
8934            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
8935            2016-12-15
8936         This is unexpected:
8937            $ date -d '2016-06-01 EDT + 6 months' +%F
8938            2016-11-30
8939         The new debug warnings will show:
8940            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
8941            ...
8942            date: warning: daylight saving time changed after date adjustment
8943            ...
8944         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
8945         print an appropriate warning message.
8947         parse-datetime: add debug warning about date arithmetic
8948         Date arithmetic are done directly on the fields of 'struct tm',
8949         which can result in invalid dates. Normalization with 'mktime(3)'
8950         will then produce a different date - which might cause unexpected
8951         results.
8952         Examples:
8953           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
8954           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
8955         Note that date normalization is not inherently wrong and not rejected,
8956         as it has legitimate uses:
8957           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
8958         If the user asked to adjust months but 'mday' changed,
8959         or user asked to adjust years but 'month' changed - warn about it.
8960             $ ./src/date --debug -d '2016-10-31 - 1 month'
8961             ...
8962             date: warning: when adding relative months/years, \
8963                            it is recommended to specify the 15th of the month
8964             ...
8965             date: warning: month/year adjustment resulted in shifted dates:
8966             date:      adjusted Y M D: 2016 09 31
8967             date:    normalized Y M D: 2010 10 01
8968             ...
8969         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
8970         a warning message. Improve recommendation of when to use 15 of the
8971         month or noon for date arithmetic.
8973         parse-datetime: fix debug message of relative part after timezone
8974         Relative part (e.g '+8 days') after a timezone string was not
8975         reported (was only reported after a timezone number). Due to the
8976         parser's structure, timezone strings with numbers were handled
8977         separately.
8978         before:
8979              # Timezone number + relative part: OK
8980              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
8981              ...
8982              date: parsed relative part: -8 day(s)
8983              # Timezone string + relative part: missing
8984              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
8985              [ missing message ]
8986         After: messages are printed in both cases.
8987         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
8989         parse-datetime: fix incorrect debug message on lone number
8990         A lone number is an absolute value, not a relative time part.
8991         before:
8992            $ date --debug -d '20130101'
8993            date: parsed number part: today/this/now
8994         After:
8995            $ ./src/date --debug -d '20130101'
8996            date: parsed number part: (Y-M-D) 2013-01-01
8997         * lib/parse-datetime.y ('item'/'number' tokens): Call
8998         'debug_print_current_time' instead of 'debug_print_relative_time'.
9000 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
9002         doc: modernize for C11 etc.
9003         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
9004         for C11, MinGW, etc.  This responds to Paul Smith's question in:
9005         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
9007         dfa: prefer functions to FETCH_WC macro
9008         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
9009         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
9010         wint_t result into DFA->lex.wctok instead of to a separate arg.
9011         All callers changed.  Move more local decls closer to where
9012         they're used.
9014         dfa: narrow more local var scopes
9015         * lib/dfa.c: Move more local decls to be more local.
9017         dfa: remove duplicate assignment
9018         Problem reported by Bruno Haible in:
9019         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
9020         * lib/dfa.c (parse_bracket_exp): Simplify.
9022 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9024         dfa: simplify constraint-dependency checking
9025         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
9026         (prev_other_constraint): Remove.
9027         (prev_newline_dependent, prev_letter_dependent):
9028         Simplify, to avoid an unnecessary bitwise AND operation.
9030         dfa: prefer functions and constants to macros
9031         * lib/dfa.c: Prefer constants to macros where either will do.
9032         (streq, isasciidigit, newline_constraint)
9033         (letter_constraint, other_constraint, succeeds_in_context)
9034         (prev_newline_constraint, prev_letter_constraint)
9035         (prev_other_constraint, prev_newline_dependent)
9036         (prev_letter_dependent, accepting, accepts_in_context):
9037         Now static functions instead of function-like macros.
9038         Use lower-case names accordingly.  All uses changed.
9040         dfa: narrow more local var scopes
9041         * lib/dfa.c: Move some more local decls down to nearer where
9042         they're needed.
9044 2016-12-31  Jim Meyering  <meyering@fb.com>
9046         dfa: narrow the scope of many local variables
9047         * lib/dfa.c: Now that we are no longer constrained to c89, move
9048         declarations of many variables (often indices) "down" into the
9049         scope(s) where used or to the point of definition.  This is a
9050         no-semantic-change diff.
9052 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9054         version-etc: new year
9055         * build-aux/gendocs.sh (version):
9056         * doc/gendocs_template:
9057         * doc/gendocs_template_min:
9058         * doc/gnulib.texi:
9059         * lib/version-etc.c (COPYRIGHT_YEAR):
9060         Update copyright dates by hand in templates and the like.
9061         * all files: Run 'make update-copyright'.
9063 2016-12-31  Eric Blake  <eblake@redhat.com>
9065         do-release-commit-and-tag: avoid shell syntax error
9066         * build-aux/do-release-commit-and-tag (curr_br): $branch can
9067         contain spaces when rebasing.
9069         maint.mk: hoist gnulib_dir definition earlier
9070         * top/maint.mk (gnulib_dir): Move near top of file.
9072 2016-12-31  Jim Meyering  <meyering@fb.com>
9074         maint.mk: do not always evaluate intprops-related shell
9075         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
9076         using gnulib_dir undefined (gnulib_dir is defined later in the
9077         file, which will be fixed separately), and besides, there is no
9078         need to incur the cost of this shell invocation for every single
9079         use of this .mk file.  Reported by Eric Blake in
9080         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
9082 2016-12-30  Jim Meyering  <meyering@fb.com>
9084         maint.mk: improve sc_prohibit_intprops_without_use
9085         * top/maint.mk (_intprops_names): Don't hard-code the list of
9086         symbol names.  Instead, derive it on the fly.
9088 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9090         dfa: shorten sbit, success
9091         * lib/dfa.c (struct regex_syntax.sbit):
9092         (struct dfa.success): Use char, not int, for array elements, since
9093         they are all in the range 0..7.
9095         dfa: simplify multibyte_prop etc.
9096         This follows up on a change made when dfa.c was in grep, namely grep
9097         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
9098         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
9099         That earlier simplification allows for some more simplification
9100         and trimming down here.
9101         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
9102         (struct lexer_state): New mamber brack.
9103         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
9104         since they must be in the range 0..3 now.
9105         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
9106         the brack member now supersedes them.
9107         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
9108         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
9109         (dfaparse): Remove unnecessary initializations of already-0 storage.
9110         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
9111         (dfassbuild): No need to clear sup->mbcsets.
9113         dfa: minor performance tweak
9114         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
9116         dfa: wrap charclass inside a struct
9117         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
9118         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
9119         about 5% faster, where list.txt is generated by 'aspell dump
9120         master | head -n 100000 >list.txt'.  See Bug#22239.
9121         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
9122         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
9123         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
9124         Adjust to this, e.g., by using charclass * rather than charclass.
9125         All callers changed as needed.
9126         (copyset): Remove.  All uses changed to simple assignment.
9127         (parse_bracket_exp): Use zeroset instead of memset.
9129 2016-12-30  Jim Meyering  <meyering@fb.com>
9131         maint.mk: update list of intprops.h symbol names
9132         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
9133         This avoids a false failure of the sc_prohibit_intprops_without_use
9134         rule in grep.
9136 2016-12-29  Eric Blake  <eblake@redhat.com>
9138         getopt: fix parallel test failure
9139         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
9140         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
9141         * tests/test-getopt-main.h (main): Use different file names
9142         in case test-getopt-gnu and test-getopt-posix run in parallel.
9144 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9146         xalloc: x2nrealloc check for ptrdiff_t overflow
9147         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
9148         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
9150 2016-12-24  Bruno Haible  <bruno@clisp.org>
9152         lock test: Fix performance problem on multi-core machines.
9153         * tests/test-lock.c (USE_VOLATILE): New macro.
9154         (struct atomic_int): New type.
9155         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
9156         functions.
9157         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
9158         as 'struct atomic_int'.
9159         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
9160         reclock_checker_thread, test_recursive_lock): Use the new functions.
9161         Reported by Eric Blake in
9162         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
9163         and by Pádraig Brady in
9164         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
9166 2016-12-19  Bruno Haible  <bruno@clisp.org>
9168         vma-iter: Fix endless loop on 64-bit Windows.
9169         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
9170         'unsigned long'.
9172 2016-12-19  Bruno Haible  <bruno@clisp.org>
9174         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
9175         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
9176         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
9177         Invoke gt_TYPE_WINT_T instead.
9178         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
9179         * modules/stdint (Files): Add m4/wint_t.m4.
9180         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9181         * modules/wctype-h (Makefile.am): Likewise.
9182         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
9183         not only on MSVC.
9184         * lib/wctype.in.h (wint_t): Likewise.
9186 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
9188         getopt-posix-tests: fix Makefile typo
9189         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
9190         Fix typo: the last ‘_’ was missing in the name.
9191         I suspect that the typo explains this build failure:
9192         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
9193         although I can’t reproduce the problem on Solaris 10 sparc.
9195 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9197         dfa: improve worst-case 'replace' performance
9198         See my note in Bug#22357#71.
9199         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
9200         (merge_constrained): New function, which is like
9201         the old 'merge' function, except with a new argument C2.
9202         Simplify the body by avoiding the need for different sections
9203         of code depending on whether one input is exhausted.
9204         (merge): Use the new function.
9205         (delete): Return the constraint of the deleted position,
9206         not the entire position.  Caller changed.
9207         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
9209 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9211         dfa: performance improvement for removal of epsilon closure
9212         See Bug#22357#32.
9213         * lib/dfa.c (delete): Use binary search to find deleted index.
9214         (replace): New function.  It replaces a position with the followed set.
9215         (epsclosure): Replace it with a new algorithm.  Update caller.
9217 2016-12-18  Bruno Haible  <bruno@clisp.org>
9219         Split tests for getopt-posix and getopt-gnu.
9220         * tests/test-getopt-posix.c: New file.
9221         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
9222         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
9223         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
9224         GNULIB_TEST_GETOPT_GNU.
9225         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
9226         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
9227         (Makefile.am): Test test-getopt-posix instead of test-getopt.
9228         * modules/getopt-gnu-tests: New file.
9229         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
9231 2016-12-18  Bruno Haible  <bruno@clisp.org>
9233         posix-modules: Add options for specific platforms.
9234         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
9235         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
9236         Invoke func_tmpdir. Filter out the excludes.
9238 2016-12-18  Bruno Haible  <bruno@clisp.org>
9240         getopt: Fix link error for users of getopt() in <unistd.h>.
9241         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
9242         __need_getopt is defined. Undefine all macros before defining them.
9243         * modules/getopt (Include): Clarify that including <unistd.h> is also
9244         OK.
9245         * tests/test-getopt.c: Add comment.
9247 2016-12-17  Bruno Haible  <bruno@clisp.org>
9249         getaddrinfo tests: Avoid compilation error on MSVC.
9250         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
9251         getaddrinfo on native Windows.
9253 2016-12-17  Bruno Haible  <bruno@clisp.org>
9255         getlogin, getlogin_r: Fix link errors on MSVC.
9256         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
9257         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
9258         (Link): New section.
9259         * modules/getlogin_r (Files): Add m4/getlogin.m4.
9260         (configure.ac): Require gl_LIB_GETLOGIN.
9261         (Link): New section.
9262         * NEWS: Mention the new link requirements.
9263         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
9264         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
9266 2016-12-17  Bruno Haible  <bruno@clisp.org>
9268         Un-deprecate the 'progname' module.
9269         * NEWS: Describe the appropriate use-cases of 'progname' versus
9270         'getprogname'. Based on discussion summary at
9271         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
9273 2016-12-17  Bruno Haible  <bruno@clisp.org>
9275         Reorganize NEWS a bit.
9276         * NEWS: Move some not so important changes away from section
9277         "Important Notes".
9279 2016-12-17  Bruno Haible  <bruno@clisp.org>
9281         tanhf: Avoid redefinition error on MSVC.
9282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
9283         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
9284         may be defined as an inline function.
9285         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
9286         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
9288 2016-12-17  Bruno Haible  <bruno@clisp.org>
9290         tanf: Avoid redefinition error on MSVC.
9291         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
9292         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
9293         may be defined as an inline function.
9294         * modules/math (Makefile.am): Substitute REPLACE_TANF.
9295         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
9297 2016-12-17  Bruno Haible  <bruno@clisp.org>
9299         sqrtf: Avoid redefinition error on MSVC.
9300         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
9301         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
9302         may be defined as an inline function.
9303         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
9304         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
9306 2016-12-17  Bruno Haible  <bruno@clisp.org>
9308         sinhf: Avoid redefinition error on MSVC.
9309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
9310         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
9311         may be defined as an inline function.
9312         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
9313         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
9315 2016-12-17  Bruno Haible  <bruno@clisp.org>
9317         sinf: Avoid redefinition error on MSVC.
9318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
9319         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
9320         may be defined as an inline function.
9321         * modules/math (Makefile.am): Substitute REPLACE_SINF.
9322         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
9324 2016-12-17  Bruno Haible  <bruno@clisp.org>
9326         logf: Avoid redefinition error on MSVC.
9327         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
9328         may be defined as an inline function.
9330 2016-12-17  Bruno Haible  <bruno@clisp.org>
9332         log10l: Avoid redefinition error on MSVC.
9333         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
9334         may be defined as an inline function.
9336 2016-12-17  Bruno Haible  <bruno@clisp.org>
9338         log10f: Avoid redefinition error on MSVC.
9339         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
9340         may be defined as an inline function.
9342 2016-12-17  Bruno Haible  <bruno@clisp.org>
9344         hypotl: Avoid redefinition error on MSVC.
9345         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
9346         may be defined as an inline function.
9348 2016-12-17  Bruno Haible  <bruno@clisp.org>
9350         hypotf: Avoid redefinition error on MSVC.
9351         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
9352         may be defined as an inline function.
9354 2016-12-17  Bruno Haible  <bruno@clisp.org>
9356         fmodl: Avoid redefinition error on MSVC.
9357         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
9358         may be defined as an inline function.
9360 2016-12-17  Bruno Haible  <bruno@clisp.org>
9362         fmodf: Avoid redefinition error on MSVC.
9363         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
9364         may be defined as an inline function.
9366 2016-12-17  Bruno Haible  <bruno@clisp.org>
9368         expf: Avoid redefinition error on MSVC.
9369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
9370         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
9371         may be defined as an inline function.
9372         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
9373         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
9375 2016-12-17  Bruno Haible  <bruno@clisp.org>
9377         coshf: Avoid redefinition error on MSVC.
9378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
9379         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
9380         may be defined as an inline function.
9381         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
9382         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
9384 2016-12-17  Bruno Haible  <bruno@clisp.org>
9386         cosf: Avoid redefinition error on MSVC.
9387         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
9388         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
9389         may be defined as an inline function.
9390         * modules/math (Makefile.am): Substitute REPLACE_COSF.
9391         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
9393 2016-12-17  Bruno Haible  <bruno@clisp.org>
9395         atan2f: Avoid redefinition error on MSVC.
9396         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
9397         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
9398         may be defined as an inline function.
9399         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
9400         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
9402 2016-12-17  Bruno Haible  <bruno@clisp.org>
9404         atanf: Avoid redefinition error on MSVC.
9405         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
9406         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
9407         may be defined as an inline function.
9408         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
9409         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
9411 2016-12-17  Bruno Haible  <bruno@clisp.org>
9413         asinf: Avoid redefinition error on MSVC.
9414         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
9415         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
9416         may be defined as an inline function.
9417         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
9418         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
9420 2016-12-17  Bruno Haible  <bruno@clisp.org>
9422         acosf: Avoid redefinition error on MSVC.
9423         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
9424         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
9425         may be defined as an inline function.
9426         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
9427         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
9429 2016-12-17  Bruno Haible  <bruno@clisp.org>
9431         Avoid redefinition errors on MSVC.
9432         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
9433         the function may be defined as an inline function.
9434         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
9435         the function may be defined as an inline function.
9437 2016-12-17  Bruno Haible  <bruno@clisp.org>
9439         Avoid redefinition errors on MSVC.
9440         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
9441         * lib/unistd.in.h: Include <stdio.h> when necessary.
9443 2016-12-17  Bruno Haible  <bruno@clisp.org>
9445         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
9446         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
9447         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
9448         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
9449         WINT_MAX.
9451 2016-12-17  Bruno Haible  <bruno@clisp.org>
9453         Avoid autoconf warning.
9454         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
9455         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
9457 2016-12-17  Bruno Haible  <bruno@clisp.org>
9459         fpending: Revert workaround against Emacs bug.
9460         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
9461         The Emacs bug is fixed by Eli Zaretskii in
9462         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
9464 2016-12-17  Bruno Haible  <bruno@clisp.org>
9466         getlogin_r tests: Port to mingw.
9467         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
9468         regression introduced on 2014-05-19.
9470 2016-12-17  Bruno Haible  <bruno@clisp.org>
9472         getlogin: Port to newer mingw.
9473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
9474         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
9475         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
9476         HAVE_GETLOGIN.
9477         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
9478         HAVE_GETLOGIN.
9479         * doc/posix-functions/getlogin.texi: Mention the issue.
9480         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
9481         regression introduced on 2014-05-14.
9483 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9485         builtin-expect: improve port to IBM XL C
9486         Problem reported for z/OS by Daniel Richard G. in:
9487         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
9488         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9489         Test for <builtins.h> directly.
9491         builtin-expect: port to IBM XL C
9492         Problem reported for z/OS by Daniel Richard G. in:
9493         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
9494         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
9495         Also allow __builtin_expect defined via a standard include file.
9497         regex: fix dependency
9498         Problem reported by Bruno Haible in:
9499         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
9500         * modules/regex: Depend on builtin-expect.
9502         builtin-expect: new module
9503         Fix fnmatch to use it.
9504         Problem reported for z/OS by Daniel Richard G.
9505         * lib/fnmatch.c (__builtin_expect):
9506         * lib/glob.c (__builtin_expect):
9507         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
9508         * lib/memmem.c (__builtin_expect) [!_LIBC]:
9509         * lib/scandir.c (__builtin_expect):
9510         * lib/strstr.c (__builtin_expect) [!_LIBC]:
9511         Remove macro; config.h now does this.
9512         * lib/gl_anytreehash_list1.h (add_to_bucket):
9513         * lib/regex_internal.h (BE):
9514         Assume __builtin_expect.
9515         * m4/builtin-expect.m4, modules/builtin-expect: New files.
9516         * modules/avltreehash-list, modules/fnmatch, modules/glob:
9517         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
9518         * modules/scandir, modules/strstr-simple:
9519         Depend on builtin-expect.
9521 2016-12-15  Bruno Haible  <bruno@clisp.org>
9523         init.sh: Add possibility to not delete temporary files.
9524         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
9525         to yes, don't erase the temporary directory.
9527 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
9529         regex: fix integer-overflow bug in never-used code
9530         Problem reported by Clément Pit–Claudel in:
9531         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
9532         * lib/regex_internal.h: Include intprops.h.
9533         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
9534         behavior on integer overflow.
9535         * modules/regex (Depends-on): Add intprops.
9537         fpending: fix port to MinGW on Emacs
9538         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
9539         Problem reported by Eli Zaretskii in:
9540         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
9541         Is Plan 9 still a valid porting target, anyway?
9543 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9545         safe-alloc: use xalloc-oversized
9546         * lib/safe-alloc.c: Include xalloc-oversized.h.
9547         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
9548         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
9550         xalloc: do not exceed PTRDIFF_MAX
9551         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
9552         xalloc_oversized check, since objects larger than PTRDIFF_MAX
9553         bytes have pointer-subtraction problems.
9555         malloca: do not exceed PTRDIFF_MAX
9556         * lib/malloca.h: Include xalloc-oversized.
9557         (nmalloca): Use xalloc_oversized instead of rolling our own.
9558         * modules/malloca (Depends-on):
9559         * modules/relocatable-prog-wrapper (Depends-on):
9560         Add xalloc-oversized.
9562         quotearg: pacify GCC better
9563         * modules/quotearg (Depends-on): Add minmax, stdint.
9564         * lib/quotearg.c: Include minmax.h, stdint.h.
9565         (nslots): Now int, as there seems little point to going to extra
9566         work merely to support the INT_MAX slot, which nobody ever uses.
9567         (quotearg_n_options): Redo size-overflow checks to pacify GCC
9568         and to catch (mostly-theoretical) ptrdiff_t problems too.
9569         This can be done via one comparison.
9571 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
9573         xalloc-oversized: check for PTRDIFF_MAX too
9574         This avoids undefined behavior when subtracting pointers to
9575         objects containing more than PTRDIFF_MAX bytes.
9576         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
9577         Also return 1 if the result would exceed PTRDIFF_MAX>
9578         * modules/xalloc-oversized (Depends-on):
9579         Add stdint.
9581         dfa: fix glitches in previous commit
9582         Sorry, I don't know how I managed to commit the wrong version.
9583         * lib/dfa.c (MIN): Move up.
9584         (xpalloc): Now static.
9586         dfa: fix some unlikely integer overflows
9587         I found these while reviewing the recent Coverity-related fix.
9588         This patch changes part of dfa.c to prefer ptrdiff_t instead of
9589         size_t for object counts.  Using ptrdiff_t is the style typically
9590         used in Emacs; although it wastes a sign bit as sizes can never be
9591         negative, it makes -fsanitize=undefined more likely to catch
9592         integer overflows in index calculation, and nowadays the upside is
9593         typically more important than the downside.  Although perhaps the
9594         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
9595         of dfa.c already does, since it uses state_num which is signed),
9596         that is a bigger change and is not needed to fix the bugs I found.
9597         * lib/dfa.c: Include stdint.h and intprops.h.
9598         (TOKEN_MAX): New macro.
9599         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
9600         (charclass_index, parse_bracket_exp, addtok, insert, merge)
9601         (realloc_trans_if_necessary, free_mbdata):
9602         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
9603         This is safe because xpalloc checks that the sizes do not exceed
9604         either SIZE_MAX or PTRDIFF_MAX.
9605         (xpalloc): New function, mostly taken from Emacs.
9606         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
9607         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
9608         (charclass_index): Check for integer overflow in computing
9609         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
9610         added to it later.
9611         (alloc_position_set): Check for integer overflow.  On typical
9612         platforms this check has zero overhead, since the constant
9613         expression is false.
9614         (realloc_trans_if_necessary):
9615         Remove assertion, which I hope Coverity no longer needs.
9617         * modules/dfa (Depends-on): Add intprops, stdint.
9619 2016-12-12  Jim Meyering  <meyering@fb.com>
9621         dfa: add an assertion to avoid coverity false positive
9622         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
9623         warned that "newalloc1 - 2" could overflow.
9625 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
9627         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
9628         * dfa.h (DFA_CASE_FOLD): Remove.
9629         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
9631 2016-12-13  John W. Eaton  <gnu@jweaton.org>
9633         link: fix test to declare use of rename()
9634         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
9635         -Werror=implicit-function-declaration
9637 2016-12-12  Bruno Haible  <bruno@clisp.org>
9639         fpending: Port to native Windows with MSVC.
9640         * lib/fpending.c: Include stdio-impl.h.
9641         (__fpending): Include all known implementations. Err out if it's not
9642         ported.
9643         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
9644         * modules/fpending (Files): Add lib/stdio-impl.h.
9645         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
9647 2016-12-12  Bruno Haible  <bruno@clisp.org>
9649         stdioext: Port to native Windows with MSVC.
9650         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
9651         (struct _gl_real_FILE): New type.
9652         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
9653         Windows.
9654         * lib/fbufmode.c (fbufmode): Add code for native Windows.
9655         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
9656         other SystemV derived implementations.
9657         * lib/fpurge.c (fpurge): Likewise.
9658         * lib/freadable.c (freadable): Likewise.
9659         * lib/freadahead.c (freadahead): Likewise.
9660         * lib/freading.c (freading): Likewise.
9661         * lib/freadptr.c (freadptr): Likewise.
9662         * lib/freadseek.c (freadptrinc): Likewise.
9663         * lib/fseeko.c (fseeko): Likewise.
9664         * lib/fseterr.c (fseterr): Likewise.
9665         * lib/fwritable.c (fwritable): Likewise.
9666         * lib/fwriting.c (fwriting): Likewise.
9667         Reported by Gisle Vanem <gvanem@yahoo.no>.
9669 2016-12-11  Jim Meyering  <meyering@fb.com>
9671         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
9672         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
9673         to work with most shells, but not with the one provided by many
9674         Solaris 10 systems, so running configure with such a /bin/sh evokes
9675         e.g., "./configure: syntax error at line 33602: `(' unexpected".
9676         Reported by Assaf Gordon in
9677         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
9679 2016-12-10  Bruno Haible  <bruno@clisp.org>
9681         threadlib: Optimize out runtime test on Solaris >= 10.
9682         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
9683         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
9684         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
9686 2016-12-10  Bruno Haible  <bruno@clisp.org>
9688         stdint: Update doc about Solaris 9.
9689         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
9691 2016-12-09  Bruno Haible  <bruno@clisp.org>
9693         c-ctype tests: Fix link error on Solaris 9.
9694         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
9695         Reported at <https://savannah.gnu.org/bugs/?46827>.
9697 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
9699         dfa: fix performance bug that recomputes trans
9700         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
9701         25 on-demand changes.  The bug caused build_state to reset all
9702         d->trans elements to -2 even when d->trans was already non-null.
9703         Use C99 style decls after statements in this function.
9705         same-inode: port to MinGW
9706         Here st_ino is always 0, so change the definition of SAME_INODE so
9707         that 1 means the two files are the same, 0 with st_ino != 0 means
9708         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
9709         reported by Bruno Haible (Bug#25146).
9710         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
9711         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
9713 2016-12-04  Bruno Haible  <bruno@clisp.org>
9715         javacomp-script: Support Java 7 and 8.
9716         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
9717         target-version 1.7, 1.8.
9719 2016-12-02  Daiki Ueno  <ueno@gnu.org>
9721         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
9722         GPLv2" rewriting.
9724 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
9726         * gnulib-tool (func_import): Adhere to the license guideline when
9727         rewriting the license text to "LGPLv3+ or GPLv2":
9728         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
9730 2016-12-02  Bruno Haible  <bruno@clisp.org>
9732         localcharset: Avoid theoretical buffer overrun.
9733         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
9734         return value from setlocale if it would lead to a buffer overrun.
9736 2016-12-01  Bruno Haible  <bruno@clisp.org>
9738         Relicense some modules under LGPLv2+.
9739         Kevin Cernekee's approval is in
9740         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
9741         * modules/fseterr (License): Change to LGPLv2+.
9742         * modules/mbchar (License): Likewise.
9743         * modules/mbiter (License): Likewise.
9744         * modules/mbsnlen (License): Likewise.
9745         * modules/wcwidth (License): Likewise.
9747 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9749         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
9750         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
9751         OS/2 kLIBC.
9753 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9755         alphasort, scandir: Port to OS/2 kLIBC
9756         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
9757         declaration.
9758         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
9760 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9762         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
9763         * lib/relocatable.c (relocate): Do not touch pathname if it is started
9764         with '/@unixroot'.
9766 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
9768         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
9769         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
9770         OS/2 kLIBC unless TCPV40HDRS is defined.
9772 2016-11-29  Jim Meyering  <meyering@fb.com>
9774         dfa: avoid new infinite loop
9775         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
9776         * lib/dfa.c (dfastate): When constructing a new state table, we could
9777         initially declare that we had found a match, and later find that
9778         constraints eliminate that possibility, yet continue to use the
9779         now stale "matched" indicator.  That would lead to an infinite loop.
9780         The solution is to update "matched" when necessary.
9781         Introduced by commit v0.1-983-g403adf1.
9783 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9785         dfa: avoid match middle in multibyte character
9786         * lib/dfa.c (transit_state): If fails in matching single byte characters
9787         on a state including period expression in non-UTF8 multibyte locales,
9788         skip trailing bytes.
9789         (dfa_supported): Revert previous change.
9791 2016-11-27  Jim Meyering  <meyering@fb.com>
9793         dfa: avoid false match in non-UTF8 multibyte locales
9794         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
9795         as "not supported" so that callers will resort to using regex-based
9796         matcher.  This will surely hurt performance, but correctness trumps
9797         performance here, and the affected locales are less and less relevant,
9798         these days.  See grep's bug report https://bugs.gnu.org/24975.
9800 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
9802         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
9803         * lib/ptsname_r.c: Include the appropriate headers.
9804         [__sun]: Delete sys/sysmacros.h include.
9805         [_AIX || __osf__]: Likewise.
9806         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
9808 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9810         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
9811         * lib/md4.c (md4_process_bytes): The existing define is made internal
9812         in recent versions of glibc, so also use this new public define.
9813         * lib/md5.c (md5_process_bytes): Likewise.
9814         * lib/sha1.c (sha1_process_bytes): Likewise.
9815         * lib/sha256.c (sha256_process_bytes): Likewise.
9816         * lib/sha512.c (sha512_process_bytes): Likewise.
9818 2016-11-27  Pádraig Brady  <P@draigBrady.com>
9820         maint: use a more standard return from mbrtowc test
9821         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
9822         from the test program as this often indicates an
9823         unhandled case in the test program.
9824         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
9825         (gl_MBRTOWC_SANITYCHECK): Likewise.
9826         (gl_MBRTOWC_NULL_ARG2): Likewise.
9827         (gl_MBRTOWC_NUL_RETVAL): Likewise.
9829 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9831         freopen: work around glibc bug with closed fd
9832         Work around glibc bug#15589, where freopen mishandles the case
9833         where stdin etc. are already closed.
9834         * doc/posix-functions/freopen.texi (freopen): Document the bug.
9835         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
9836         instead of __need_FILE, as the latter does not work with glibc.
9837         Include <fcntl.h>, for open flags.
9838         (rpl_freopen): Work around glibc bug.
9839         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
9840         * modules/freopen (Depends-on): Add fcntl-h.
9841         * tests/test-freopen.c (main): Test for bug.
9843 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
9845         fnmatch: fix typo introduced on 2016-08-17
9846         This fixes the port to non-GCC compilers that lack __builtin_expect.
9847         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
9849         dfa: simplify with new function fillset
9850         * lib/dfa.c (fillset): New function.
9851         Use it for clarity when applicable.
9853         dfa: fix glitches with on-demand states
9854         Also, adjust commentary to better match new code.
9855         Some of these glitches predate the recent change.
9856         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
9857         only non-initial states.
9858         (dfastate): Rename locals to better match new roles.
9859         Move them into nested scopes if this is easy.
9860         Omit unnecessary calls to zeroset.
9861         Simplify test for whether to throw in the positions of state 0.
9862         Omit C99-ism (decl after statement) since Gawk still wants C89.
9863         (build_state): Omit unnecessary test and assignment.
9864         Fix some confusion that counted transition tables inaccurately
9865         and could cause a memory leak.
9866         (dfaexec_main): Redo to make it clearer to the compiler that
9867         -1 and -2 are the only negative state numbers here.
9869 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
9871         dfa: addition of new state on demand
9872         * src/dfa.c (dfastate): Add argument UC, the current input character.
9873         Fill only a group including the character in transition table.
9874         (realloc_trans_if_necessary): Add the dummy state which means that a
9875         transition table is assigned but the next state is not assigned.
9876         (build_state): Return the next state.  All callers updated.
9877         (transit_state_singlebyte): If we get the dummy state,
9878         fill the transition table.
9879         (dfaexec_main): Handle the dummy state.
9880         (free_mbdata, dfafree): Consider the dummy state.
9882 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9884         srclist: sync with released gettext
9885         * config/srclist.txt: Set "release" option to the files under
9886         $GETTEXT.
9888 2016-11-24  Daiki Ueno  <ueno@gnu.org>
9890         srclist: add "release" option
9891         * config/srclist.txt: Change the format so that the first column
9892         of each line points to the top-level directory of the source
9893         archive.
9894         * config/srclist-update: Accept "release" option that checks files
9895         from the most recently tagged revision in the source archive.
9897 2016-11-21  Bruno Haible  <bruno@clisp.org>
9899         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
9900         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
9901         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
9902         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
9903         Inline and remove member function 'rpl ()' of the wrapper struct.
9905 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9907         dfa: fix logic typo
9908         Problem reported by Stephane Chazelas (Bug#24973).
9909         * lib/dfa.c (using_simple_locale): Fix typo that caused some
9910         non-simple locales like fr_FR to be treated as simple.
9912 2016-11-20  Jim Meyering  <meyering@fb.com>
9914         fix test driver leaks: exclude, malloc, realloc
9915         * tests/test-exclude.c (main): Fix trivial leak.
9916         * tests/test-malloc-gnu.c (main): Likewise.
9917         * tests/test-realloc-gnu.c (main): Likewise.
9918         With these changes, grep's tests are now leak free.
9919         I.e., running them with ASAN elicits no failure:
9920           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
9921             AM_LDFLAGS='-fsanitize=address -static-libasan' check
9923 2016-11-11  Bruno Haible  <bruno@clisp.org>
9925         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
9926         * modules/libunistring: (License): Change from LGPL to
9927         "LGPLv3+ or GPLv2".
9928         * modules/libunistring-optional: Likewise.
9929         * modules/unicase/*: Likewise.
9930         * modules/uniconv/*: Likewise.
9931         * modules/unictype/*: Likewise.
9932         * modules/unigbrk/*: Likewise.
9933         * modules/unilbrk/*: Likewise.
9934         * modules/uniname/*: Likewise.
9935         * modules/uninorm/*: Likewise.
9936         * modules/unistdio/*: Likewise.
9937         * modules/unistr/*: Likewise.
9938         * modules/uniwbrk/*: Likewise.
9939         * modules/uniwidth/*: Likewise.
9941 2016-11-12  Bruno Haible  <bruno@clisp.org>
9943         Relicense some modules under LGPLv2+.
9944         Paul Eggert's approval is in
9945         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
9946         Eric Blake's approval is in
9947         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
9948         Ludovic Courtès's approval is in
9949         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
9950         * modules/isnand-nolibm (License): Change to LGPLv2+.
9951         * modules/isnanf-nolibm (License): Likewise.
9952         * modules/isnanl-nolibm (License): Likewise.
9954 2016-11-19  Bruno Haible  <bruno@clisp.org>
9956         Relicense some modules under LGPLv2+.
9957         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
9958         modules/vasnprintf.
9959         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
9960         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
9961         All other significant changes to the files in lib/ of these modules
9962         are from me.
9963         * modules/memcmp2 (License): Change to LGPLv2+.
9964         * modules/amemxfrm (License): Likewise.
9965         * modules/fpieee (License): Likewise.
9966         * modules/fpucw (License): Likewise.
9967         * modules/frexp-nolibm (License): Likewise.
9968         * modules/frexpl-nolibm (License): Likewise.
9969         * modules/printf-frexp (License): Likewise.
9970         * modules/printf-frexpl (License): Likewise.
9971         * modules/printf-safe (License): Likewise.
9972         * modules/signbit (License): Likewise.
9974 2016-11-17  Bruno Haible  <bruno@clisp.org>
9976         Enable Unicode decoder safety unconditionally.
9977         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
9978         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
9979         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
9980         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
9981         * lib/unistr/u8-prev.c (u8_prev): Likewise.
9982         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
9983         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
9984         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
9985         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
9986         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
9987         * lib/unistr/u16-prev.c (u16_prev): Likewise.
9988         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
9989         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
9990         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
9991         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
9992         * lib/unistr/u32-prev.c (u32_prev): Likewise.
9993         * lib/unistr/u32-next.c (u32_next): Likewise.
9994         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
9995         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
9996         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
9997         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
9998         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
9999         CONFIG_UNICODE_SAFETY tests unconditionally.
10000         * tests/unistr/test-u32-mblen.c (main): Likewise.
10001         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
10002         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
10003         * tests/unistr/test-u32-next.c (main): Likewise.
10004         * tests/unistr/test-u32-strmblen.c (main): Likewise.
10005         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
10006         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
10007         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
10008         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
10009         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
10010         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
10011         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
10012         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
10013         * lib/unistr/u16-check.c (u16_check): Update comment.
10014         * NEWS: Mention the changes that callers should be aware of.
10016 2016-11-19  Bruno Haible  <bruno@clisp.org>
10018         relocatable-prog-wrapper: Fix breakage on Cygwin.
10019         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
10020         (Depends-on): Remove intprops.
10021         * lib/relocwrapper.c: Update dependency tree.
10022         (strerror): Undefine.
10023         * build-aux/install-reloc (func_create_wrapper): Do not compile
10024         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
10026 2016-11-19  Bruno Haible  <bruno@clisp.org>
10028         strerror: Make it compile in C++ mode.
10029         * lib/strerror.c (strerror): Ignore the return value of memcpy().
10031 2016-11-15  Pedro Alves  <palves@redhat.com>
10033         sys_time: add gnulib::timeval for C++
10034         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
10035         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
10036         timeval macro.
10038 2016-11-14  Pedro Alves  <palves@redhat.com>
10040         snippet/c++defs: fix real-floating arg functions in C++ mode
10041         Also, define isfinite, isinf, isnan, signbit in the gnulib
10042         namespace instead of in the global namespace.
10043         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
10044         (_GL_END_NAMESPACE): New.
10045         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
10046         (isfinite, isinf, isnan, signbit) [__cplusplus &&
10047         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
10048         instead of in the global namespace.
10049         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
10050         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
10051         of in the global namespace.
10053 2016-11-13  Jim Meyering  <meyering@fb.com>
10055         strftime: don't use __THROW
10056         Each use of __THROW would provoke this from gcc-7-to-be:
10058           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
10059             on unit local functions [-Wattributes]
10060           static int iso_week_days (int, int) __THROW;
10061           ^~~~~~
10062         * lib/strftime.c (__THROW): Don't define.
10063         Remove each use of __THROW.
10064         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
10065         (tm_diff, iso_week_days, __strftime_internal): Likewise.
10067 2016-11-14  Paul Eggert  <eggert@union>
10069         obstack: port to gcc -fcheck-pointer-bounds
10070         Problem found by 'make check' failure on bleeding-edge coreutils
10071         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
10072         6.2.0-5ubuntu12), configured via "./configure
10073         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
10074         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
10075         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
10076         New macro, copied from fts_.h.
10077         (struct _obstack_chunk.contents): Use it.
10079 2016-11-14  Eric Blake  <eblake@redhat.com>
10081         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
10082         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
10083         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
10085 2016-11-14  Pádraig Brady  <P@draigBrady.com>
10087         strptime: fix compile error in recent change
10088         * lib/strptime.c (__strptime_internal): Fix ported code.
10090 2016-11-11  Bruno Haible  <bruno@clisp.org>
10092         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
10093         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
10094         (func_import): Extend determination of license_incompatibilities.
10095         (func_create_testdir): Extend table of license compatibility. Handle
10096         also the licenses GPLv3+, GPL, LGPLv3+.
10098 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
10100         strftime: tune %q
10101         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
10103         Merge strftime.c changes from glibc
10104         This incorporates:
10105         2007-10-16 [BZ #5184] Add tzset_called argument
10106         2008-06-13 [BZ #6612] pass reference to tzset_called around
10107         2009-10-30 Implement Burmese language locale for Myanmar
10108         2010-01-09 Add support for XPG7 testing
10109         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
10110         2015-10-20 Convert miscellaneous function definitions to prototype style
10111         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
10112         it anyway and this lessens the difference between gnulib and glibc.
10113         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
10114         (__THROW): Define if standard headers do not.
10115         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
10116         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
10117         Declare with __THROW.
10118         (__strftime_internal): Rename from strftime_case_. Add arg for
10119         whether tzset is called.  All uses changed.  Call tzset at most
10120         once.  Allow %OC, for Burmese.
10121         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
10122         Don't assume values are in range.
10124 2016-11-12  Eric Blake  <eblake@redhat.com>
10126         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
10127         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
10128         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
10129         different value.
10131 2006-11-12  Pedro Alves  <palves@redhat.com>
10133         Fix gnulib C++ namespace support and std::frexp
10134         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
10135         _GL_CXXALIASWARN.
10137 2006-11-12  Pedro Alves  <palves@redhat.com>
10139         GNULIB_NAMESPACE::func need not pull in rpl_func
10140         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
10141         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
10142         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
10143         struct instead of a function pointer.
10145 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
10147         manywarnings: fix -Wno-missing-field-initializers detection
10148         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
10149         to be independent of -Wunused-variable.  I.E. ensure the latter
10150         warning doesn't occur so that detection of the former is accurate.
10152 2016-11-05  Pádraig Brady  <pbrady@fb.com>
10154         strftime,strptime: support %q to represent the quarter
10155         * lib/strftime.c (strftime_case_): Add %q case.
10156         * lib/strptime.c (__strptime_internal): Likewise.
10157         * tests/test-strftime.c (quarter_test): A new test case.
10159 2016-11-03  Eric Blake  <eblake@redhat.com>
10161         bootstrap: Fix get_version() for AIX 5.3
10162         * build-aux/bootstrap (get_version): Factor out sed script, since
10163         indented comments choke AIX 5.3 sed.
10164         Reported-by: Michael Felt <aixtools@gmail.com>
10166 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
10168         intprops: port to older XL C
10169         Problem reported by Alexander Samoilov in:
10170         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
10171         http://savannah.nongnu.org/bugs/?49448
10172         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
10173         Define to 1 only for XL C 12.1 or later, since this bug
10174         occurs in XL C for AIX 6.0 but not in 12.1.
10176 2016-11-02  Pádraig Brady  <P@draigBrady.com>
10178         backupfile: initialize default suffix within the implementation
10179         * lib/backupfile.c (find_backup_file_name): Initialize the
10180         global variable here, to simplify usage, and to only call
10181         getenv() when needed.
10183 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10185         futimens: remove FIXME for old Linux kernels
10186         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
10187         this in 2012" FIXME, like that for utimensat.
10189         utimensat: remove FIXME for old Linux kernels
10190         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
10191         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
10192         this in 2012" FIXME, by assuming the file system bug is absent
10193         unless demonstrated to be present.  We no longer need to worry
10194         about Linux kernel 2.6.32 when building with newer kernels.
10196 2016-10-16  Bruno Haible  <bruno@clisp.org>
10198         qsort_r: Fix macrology for platforms that lack the function.
10199         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
10200         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
10201         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
10202         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
10203         not exist.
10204         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
10205         the function exists.
10206         * modules/qsort_r: Add comments.
10208 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
10210         sys_types: fix Texinfo typos
10211         * doc/glibc-functions/gnu_dev_major.texi:
10212         * doc/glibc-functions/gnu_dev_makedev.texi:
10213         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
10215 2016-10-26  John David Anglin  <dave.anglin@bell.net>
10217         getprogname: port to HP-UX
10218         See Bug#24805.
10219         * lib/getprogname.c (getprogname) [__hpux]: Port.
10220         * tests/test-getprogname.c (STREQ) [__hpux]:
10221         Special-case for HP-UX limitations on program name length.
10223 2016-10-20  Bruno Haible  <bruno@clisp.org>
10225         Update doc about target platforms.
10226         * doc/gnulib-intro.texi (Target Platforms): Update list.
10228 2016-10-15  Bruno Haible  <bruno@clisp.org>
10230         opendir, readdir, closedir: Relicense under LGPLv2+.
10231         * modules/opendir (License): Change to LGPLv2+.
10232         * modules/readdir (License): Likewise.
10233         * modules/closedir (License): Likewise.
10235 2016-10-16  Bruno Haible  <bruno@clisp.org>
10237         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
10238         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
10239         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
10240         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
10241         HAVE_DECL_STRERROR_R.
10243 2016-10-16  Bruno Haible  <bruno@clisp.org>
10245         Make the 'argp' module work without the 'error' module.
10246         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
10248 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
10250         diffseq: restore TOO_EXPENSIVE heuristic
10251         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
10252         (Bug#24715).  The simplest solution is to restore the
10253         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
10254         using a higher threshold to avoid Bug#16848 on smaller files.
10255         * lib/diffseq.h (struct context): Restore member too_expensive.
10256         (struct partition): Restore members lo_minimal, hi_minimal.
10257         (diag, compareseq): Restore arg find_minimal.  All uses changed.
10258         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
10259         1993 to make 'diff' run faster (but not as well) on large inputs,
10260         but use a threshold of 4096 instead of the old 256.
10261         * lib/fstrcmp.c (strcmp_bounded):
10262         * lib/git-merge-changelog.c (compute_differences):
10263         Adjust to diffseq.h changes.
10265 2016-10-22  Bruno Haible  <bruno@clisp.org>
10267         iconv: Avoid compilation error when bootstrapping GNU libiconv.
10268         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
10269         declaration yet, define ICONV_CONST to empty.
10271 2016-10-15  Bruno Haible  <bruno@clisp.org>
10273         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
10274         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
10275         module.
10277 2016-10-16  Bruno Haible  <bruno@clisp.org>
10279         system-quote tests: Avoid compiler warning on AIX.
10280         * tests/test-system-quote-child.c (fopen): Redefine like the system's
10281         <stdio.h> does.
10283 2016-10-16  Bruno Haible  <bruno@clisp.org>
10285         Fix some "gcc -Wall" warnings.
10286         * tests/test-ffsl.c (main): Use variable x, not i.
10287         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
10288         freopen.
10289         * tests/test-sethostname1.c (main): Explicitly ignore the return value
10290         of sethostname.
10292 2016-10-16  Bruno Haible  <bruno@clisp.org>
10294         gnulib-tool: Make --create-testdir on all modules work again.
10295         * gnulib-tool (func_create_testdir): Don't include the
10296         non-recursive-gnulib-prefix-hack module.
10298 2016-10-21  Daiki Ueno  <ueno@gnu.org>
10300         libunistring: change the maintainer to 'all'
10301         * modules/gen-uni-tables, modules/libunistring:
10302         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
10303         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
10304         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
10305         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
10306         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
10307         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
10308         * modules/uniwidth/*: Change the maintainer to 'all'.
10310 2016-10-16  Bruno Haible  <bruno@clisp.org>
10312         Simplify "configure: checking ..." messages.
10313         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
10314         AC_MSG_NOTICE.
10315         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
10317 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
10319         quotearg-tests: pacify gcc -Wall
10320         Problem reported by Bruno Haible in:
10321         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
10322         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
10323         * tests/test-quotearg.h: ... from here.
10325 2016-10-20  Pádraig Brady  <P@draigBrady.com>
10327         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
10328         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
10329         Needed on Centos <= 4.
10331 2016-10-20  Jim Meyering  <meyering@fb.com>
10333         printf.m4: fix a bug in detecting printf %j support
10334         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
10335         uintmax_t is defined in neither stdint.h nor inttypes.h.
10336         Before, this macro might have mistakenly set
10337         gl_cv_func_printf_sizes_c99=yes on such a system.
10338         Spotted by Zev Weiss.
10340 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
10342         sched: substitute HAVE_SYS_CDEFS_H too
10343         Problem reported by Tom G. Christensen in:
10344         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
10345         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
10346         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
10348 2016-10-19  Pádraig Brady  <P@draigBrady.com>
10350         quotearg: never write beyond the returned length
10351         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
10352         scan of the string when we initially encounter a single quote when
10353         shell quoting, so that if we then switch to a more concise quoting method
10354         we will not have written beyond that returned length.
10355         This is significant for sh-quote, which has separate routines
10356         to determine the length and do the actual quoting.
10357         * tests/test-quotearg.h: Reinstate the buffer bounds checking
10358         now that we never write more than the returned length.
10360 2016-10-18  Bruno Haible  <bruno@clisp.org>
10362         getprogname tests: Avoid failure in packages that use libtool.
10363         * tests/test-getprogname.c (main): Strip "lt-" prefix.
10364         Based on a patch by Jim Meyering.
10366 2016-10-16  Bruno Haible  <bruno@clisp.org>
10368         getprogname: Fix test failure on Cygwin. Comments.
10369         * lib/getprogname.h: Add comments.
10370         * lib/getprogname.c: Add comments. Fix #elif indentation.
10371         * tests/test-getprogname.c (main): On Cygwin, expect a result without
10372         ".exe" suffix.
10374 2016-10-16  Bruno Haible  <bruno@clisp.org>
10376         Make sure the libunistring detection rejects older versions with a
10377         known bug.
10378         * modules/unistr/u8-strtok (configure.ac): Bump required version.
10379         * modules/unistr/u16-strtok (configure.ac): Likewise.
10380         * modules/unistr/u32-strtok (configure.ac): Likewise.
10382 2016-10-18  Bruno Haible  <bruno@clisp.org>
10384         sh-quote, system-quote: revert regression of unit test.
10385         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
10386         * tests/test-system-quote-main.c (check_one): Likewise.
10388 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10390         quotearg: fix stale tests
10391         * tests/test-quotearg.c [locale_results]: Add the missing str7
10392         entries to the expected results.
10393         * tests/test-system-quote-main.c (check_one): Don't enforce that we
10394         don't write beyond the returned length, since that's no longer the
10395         case if we switch to a more concise quoting style.
10396         * tests/test-sh-quote.c (check_one): Likewise.
10397         (main): Adjust for the new more concise quoting style.
10398         Reported by Bruno Haible.
10400 2016-10-16  Jim Meyering  <meyering@fb.com>
10402         non-recursive-gnulib-prefix-hack: fix inconsequential typo
10403         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
10404         to "$1".  This macro is always invoked with $1 == lib.
10405         Spotted by Bruno Haible
10407 2016-10-16  Bruno Haible  <bruno@clisp.org>
10409         Fix a test crash.
10410         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
10411         fails.
10413 2016-10-16  Pádraig Brady  <P@draigBrady.com>
10415         test-limits-h: suppress -Woverlength-strings
10416         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
10418 2016-10-15  Bruno Haible  <bruno@clisp.org>
10420         gettime, timespec, utimens: Relicense under LGPL.
10421         * modules/gettime (License): Change to LGPL.
10422         * modules/timespec (License): Likewise.
10423         * modules/utimens (License): Likewise.
10425 2016-10-14  Bruno Haible  <bruno@clisp.org>
10426             Pádraig Brady  <P@draigBrady.com>
10428         canonicalize-lgpl: Support the case path_max > INT_MAX.
10429         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
10430         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
10432 2016-10-13  Jim Meyering  <meyering@fb.com>
10434         getprogname: IBM z/OS: avoid NULL-dereference
10435         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
10436         upon strdup failure.
10438 2016-10-12  Jim Meyering  <meyering@fb.com>
10440         test-stdint: use _GL_VERIFY rather than "verify" for some tests
10441         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
10442         and an abbreviated diagnostic rather than verify with the full one,
10443         because the full-length strings would evoke warnings from gcc with
10444         -Woverlength-strings.
10446 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10448         stdint: port SIZE_MAX to glibc s390
10449         Problem reported by Eric Blake in:
10450         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
10451         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
10452         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
10453         correct type, if possible.
10455 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
10457         getprogname: port to IBM z/OS
10458         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
10460 2016-10-11  Jim Meyering  <meyering@fb.com>
10462         maint: remove stray space after "." in AC_DEFINE comment.
10463         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
10464         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
10466 2016-10-05  Jim Meyering  <meyering@fb.com>
10468         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10469         * lib/long-options.c (parse_long_options): Add a break statement
10470         to avoid this new warning/failure:
10471         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10472           --create-testdir --dir=/t/x --with-tests --test long-options
10473         ../../gllib/long-options.c: In function 'parse_long_options':
10474         ../../gllib/long-options.c:66:12: error: this statement may \
10475           fall through [-Werror=implicit-fallthrough]
10476                    (*usage_func) (EXIT_SUCCESS);
10477                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10479 2016-10-05  Jim Meyering  <meyering@fb.com>
10481         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10482         Testing this module would fail when using GCC 7 like this:
10483         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10484           --dir=/tmp/x --with-tests --test utimecmp
10485         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10486         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10487           [-Werror=bool-operation]
10488                          time_t s = src_s & ~ (res == 2 * BILLION);
10489                                             ^
10490         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10491           [-Werror=bool-operation]
10492                src_s &= ~ (res == 2 * BILLION);
10493                         ^
10494         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10495         Instead, make it explicit that we intend to apply it to 0 or 1.
10497 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10499         dfa: save memory for states
10500         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
10501         states if dfa has a lot of caches.
10503 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
10505         wchar, wctype-h: fix for MinGW 3.22.2
10506         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
10507         special invocation, to fix issues with MinGW 3.22.2 wchar.h
10508         when included from <string.h>.
10509         * lib/wctype.in.h [__MINGW32__]: Add special invocation
10510         convention for MinGW 3.22.2, to solve issues with their
10511         wctype.h when included from <ctype.h>.
10513 2016-10-05  Jim Meyering  <meyering@fb.com>
10515         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
10516         * lib/long-options.c (parse_long_options): Add a break statement
10517         to avoid this new warning/failure:
10518         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
10519           --create-testdir --dir=/t/x --with-tests --test long-options
10520         ../../gllib/long-options.c: In function ‘parse_long_options’:
10521         ../../gllib/long-options.c:66:12: error: this statement may \
10522           fall through [-Werror=implicit-fallthrough]
10523                    (*usage_func) (EXIT_SUCCESS);
10524                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
10526         utimecmp: avoid new GCC 7 warning from -Wbool-operation
10527         Testing this module would fail when using GCC 7 like this:
10528         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
10529           --dir=/tmp/x --with-tests --test utimecmp
10530         ../../gllib/utimecmp.c: In function ‘utimecmp’:
10531         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
10532           [-Werror=bool-operation]
10533                          time_t s = src_s & ~ (res == 2 * BILLION);
10534                                             ^
10535         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
10536           [-Werror=bool-operation]
10537                src_s &= ~ (res == 2 * BILLION);
10538                         ^
10539         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
10540         Instead, make it explicit that we intend to apply it to 0 or 1.
10542 2016-10-03  Pádraig Brady  <P@draigBrady.com>
10544         quotearg: minimize shell quoting using double quotes
10545         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
10546         quote in encountered then use double quotes (c style quoting)
10547         when possible, as it simplifies the quoting.
10548         * tests/test-quotearg-simple.c: Add test cases.
10549         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
10550         for the fact we now may write beyond the returned length.
10552 2016-10-02  Jim Meyering  <meyering@fb.com>
10554         vasnprintf.c: avoid spurious warning from GCC 7
10555         The presence of cpp directives renders this "FALLTHROUGH" comment
10556         ineffective, so does not suppress the -Wimplicit-fallthrough warning
10557         from GCC 7 built from git on 2016-10-02.
10558         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
10559         directives, so that it takes effect once again.  This is clearly
10560         not a proper change, and I will revert it once this bug is fixed:
10561         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
10563 2016-10-01  Jim Meyering  <meyering@fb.com>
10565         getprogname: correct the test for a __progname variable
10566         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
10567         and AC_LINK_IFELSE to check for a global __progname.  If found,
10568         define HAVE_VAR___PROGNAME.
10569         * lib/getprogname.c (getprogname): Reflect the new name of the
10570         feature- checked preprocessor symbol:
10571         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
10573 2016-09-28  Jim Meyering  <meyering@fb.com>
10575         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
10576         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
10577         fall-through case with a /* fallthrough */ comment.
10579         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
10580         * lib/dfa.c (dfassbuild): Mark the end of this case with a
10581         /* fallthrough */ comment.
10583         getprogname: avoid __progname vs program_invocation_short_name pitfall
10584         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
10585         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
10586         not with Fedora 24's glibc-2.23.1-10.
10587         * lib/getprogname.c (__progname): Move this declaration down...
10588         (getprogname): ... into the #elif block where used, and make it
10589         explicitly "extern".
10591         getprogname: port to OpenBSD 5.1
10592         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
10593         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
10594         * modules/getprogname (configure.ac): Move most of this code...
10595         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
10596         increment serial number, and add a test for __progname.
10597         https://bugs.gnu.org/24562
10598         Reported by Nelson H. F. Beebe.
10600 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10602         sched: port to GCC 6.2.1 on macOS Sierra
10603         Problem reported by Denis Davydov in:
10604         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
10605         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
10606         Include <sys/cdefs.h> before <sched.h>.
10607         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
10608         so that we needn’t worry about the sched.h include bug here.
10609         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
10610         and include it before <sched.h> if it exists, when
10611         checking for <sched.h>.
10613         tests/init.sh: port Alpine fix to AIX 7.1
10614         * tests/init.sh (compare_): When attempting to use diff -U3,
10615         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
10616         diff -u not outputting a space after leading '+', as the users
10617         of 'compare' should not be that picky about its output format.
10618         In the AIX 7.1 case, return with diff exit status (or with 2 if
10619         trouble), instead of some random nonzero exit status.
10620         * tests/test-init.sh (test_compare): Remove space after leading
10621         '+', so that AIX 7.1 'diff' passes the test.
10623 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
10625         nl_langinfo: pacify GCC
10626         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
10627         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
10629         stdint: also set GL_GENERATE_LIMITS_H
10630         Problem reported by Jim Meyering in:
10631         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
10632         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
10634         limits-h, stdint: Don't assume extensions, fix typo
10635         * m4/limits-h.m4 (gl_LIMITS_H):
10636         * m4/stdint.m4 (gl_STDINT_H):
10637         Don't assume AC_USE_SYSTEM_EXTENSIONS.
10638         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
10639         reported by Jim Meyering in:
10640         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
10642 2016-09-21  Jim Meyering  <meyering@fb.com>
10644         getprogname: port to AIX
10645         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
10646         and strdup to obtain a short program name string.  Using code from
10647         Bruno Haible and an idea from Bastien ROUCARIÈS, in
10648         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
10649         Assaf Gordon reported that this new file would fail to compile on
10650         AIX-7.1 32bit.
10652 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10654         extensions: fix typo in comment
10655         * m4/extensions.m4: Sync from Autoconf master.
10657         stdint: support new _WIDTH macros
10658         * doc/posix-headers/stdint.texi: Document this.
10659         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
10660         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
10661         support for INTMAX_WIDTH, etc. as well as for support for just C99.
10662         * modules/stdint (Depends-on): Add limits-h.
10663         (Makefile.am): Substitute HAVE_C99_STDINT_H.
10664         * modules/stdint-tests (Depends-on): Add extensions, so that
10665         INTMAX_MAX etc. are defined.
10666         * tests/test-stdint.c: Verify the new macros.
10668         limits-h: new module
10669         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
10670         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
10671         * doc/posix-headers/limits.texi: Document new module.
10672         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
10673         * modules/limit-h-tests, tests/test-limits-h.c: New files.
10675         stdio: don't redefine __USE_MINGW_ANSI_STDIO
10676         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
10677         if it is already defined.  Apparently GNU Emacs relies on this.  See:
10678         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
10680 2016-09-15  Eric Blake  <eblake@redhat.com>
10682         sys_types: avoid glibc 2.25 warnings about major()
10683         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
10684         older autoconf.
10685         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
10686         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
10687         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
10688         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
10690         mountlist: include sysmacros.h for glibc
10691         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
10692         AC_HEADER_MAJOR.
10693         * lib/mountlist.c (includes): Use correct headers.
10695 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10697         extensions: port to more ISO C TSes
10698         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
10699         master, to add support for more recent ISO C TRs and TSes.
10701 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10703         intprops: new macro TYPE_WIDTH
10704         * lib/intprops.h (TYPE_WIDTH): New macro.
10705         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
10706         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
10707         * lib/parse-datetime.y (parse_datetime2):
10708         Use it.
10710         extensions: port to recent ISO C TRs
10711         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
10712         Sync from Autoconf master, to add support for recent ISO C TRs.
10713         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
10714         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
10715         the MinGW option is not an extension.
10717 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
10719         dfa: port to Solaris 9
10720         Problems reported by Tom G. Christensen in:
10721         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
10722         * modules/dfa (Depends-on): Add isblank.
10723         * modules/dfa-tests (dfa_match_aux_LDADD):
10724         Rename from test_stat_LDADD, to fix typo.
10725         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
10727 2016-09-10  Jim Meyering  <meyering@fb.com>
10729         strverscmp: avoid link failure on OS X
10730         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
10731         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
10733 2016-08-16  Jim Meyering  <meyering@fb.com>
10735         dfa: new module, importing grep's DFA matcher
10736         Since grep's DFA matcher is now being used by two gnulib-enabled
10737         projects, grep and sed, it makes sense to version-control its
10738         sources and unit tests in one place: here.
10739         * modules/dfa: New module.
10740         * modules/dfa-tests: New file.
10741         * lib/dfa.c: New file, from grep.
10742         * lib/dfa.h: Likewise.
10743         * lib/localeinfo.c: Likewise.
10744         * lib/localeinfo.h: Likewise.
10745         * tests/dfa-match-aux.c: Likewise.
10746         * tests/dfa-invalid-char-class.sh: Likewise.
10747         * tests/dfa-match.sh: Likewise, with minor changes.
10748         * MODULES.html.sh (Misc): Add "dfa" to this list.
10750 2016-09-09  Jim Meyering  <meyering@fb.com>
10752         getprogname-tests: don't depend on assert-h
10753         * modules/getprogname-tests (Depends-on): Remove assert-h.
10754         It was not needed, and in fact would cause build failure for
10755         coreutils on some systems.  Reported by Assaf Gordon in https:
10756         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
10758 2016-09-07  Jim Meyering  <meyering@fb.com>
10760         getprogname-tests: work also when EXEEXT is nonempty
10761         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
10762         * tests/test-getprogname.c (main): Use it.
10763         Suggested by Gisle Vanem.
10765 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
10767         getprogname: fix errors in previous change
10768         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
10769         s/program_invocation_name/base/
10770         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
10772 2016-09-08  Pádraig Brady  <P@draigBrady.com>
10774         parse-datetime: restrict debug output to input string
10775         * lib/parse-datetime.y (parse_datetime2): If we parse
10776         all of the input but determine it's invalid, ensure
10777         we don't output the now invalid input pointer.
10778         This issue was seen with `date -d 'now +1'`.
10780 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10782         flexmember: new macro FLEXALIGNOF
10783         * lib/flexmember.h: Include <stddef.h>, for offsetof.
10784         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
10785         this macro.  Update comments.
10787 2016-09-07  Jim Meyering  <meyering@fb.com>
10789         getprogname: port to systems with __argv (mingw, msvc)
10790         * lib/getprogname.c (getprogname): Include "dirname.h" and use
10791         last_component: more general than open coding it with hard-coded "/".
10792         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
10793         * modules/getprogname (Depends-on): Add dirname-lgpl.
10794         (configure.ac): Check for __argv in <stdlib.h>.
10795         * modules/getprogname-tests: New file.
10796         * tests/test-getprogname.c: New file.
10797         Suggested by Gisle Vanem in
10798         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
10800 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
10802         flexmember: port better to GCC + valgrind
10803         With a char[] flexible array member in a struct with nontrivial
10804         alignment, GCC-generated code can access past the end of the
10805         array, because GCC assumes there are padding bytes to get the
10806         struct aligned.  So the common idiom of malloc (offsetof (struct
10807         s, m), n) does not properly allocate an n-byte trailing member, as
10808         malloc’s argument should be the next multiple of alignof (struct s).
10809         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
10810         Although C11 apparently permits this GCC optimization (i.e., there
10811         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
10812         See the thread containing:
10813         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
10814         * lib/flexmember.h: New file.
10815         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
10816         * lib/localename.c, lib/time_rz.c:
10817         Include flexmember.h.
10818         * lib/fnmatch_loop.c (struct patternlist):
10819         * lib/localename.c (struct hash_node):
10820         Use FLEXIBLE_ARRAY_MEMBER.
10821         * lib/fnmatch_loop.c (EXT):
10822         * lib/fts.c (fts_alloc):
10823         * lib/glob.c (glob_in_dir):
10824         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10825         * lib/localename.c (gl_lock_define_initialized):
10826         * lib/time_rz.c (tzalloc):
10827         Use FLEXSIZEOF instead of offsetof.
10828         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
10829         Check that the size of the struct can be taken.
10830         * modules/flexmember (Files): Add lib/flexmember.h.
10831         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
10832         Add flexmember.
10834 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
10836         getprogname: port to Solaris 10
10837         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
10838         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
10839         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
10841         stdalign: correct mistake in alignof doc
10842         Problem reported by Joseph Myers in:
10843         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
10844         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
10845         alignof(S) where S is a structure containing a flexible array
10846         member.  The Gnulib substitute does not support this, but C11 does.
10848 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10850         main.mk: remove sc_program_name, since there is no more need to
10851         use set_program_name in tools (getprogname is enough for most
10852         of the cases).
10853         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
10854         * top/maint.mk (sc_program_name): Remove.
10856 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10858         Port tests away from progname, since modules that need the
10859         program name already depend on getprogname.
10860         * modules/acl-tests (Depends-on): Remove progname.
10861         * modules/argmatch (Depends-on): Likewise.
10862         * modules/argmatch-tests (Depends-on): Likewise.
10863         * modules/argp-tests (Depends-on): Likewise.
10864         * modules/argp-version-etc-tests (Depends-on): Likewise.
10865         * modules/array-list-tests (Depends-on): Likewise.
10866         * modules/array-oset-tests (Depends-on): Likewise.
10867         * modules/avltree-list-tests (Depends-on): Likewise.
10868         * modules/avltree-oset-tests (Depends-on): Likewise.
10869         * modules/avltreehash-list-tests (Depends-on): Likewise.
10870         * modules/carray-list-tests (Depends-on): Likewise.
10871         * modules/copy-file-tests (Depends-on): Likewise.
10872         * modules/exclude-tests (Depends-on): Likewise.
10873         * modules/fchownat-tests (Depends-on): Likewise.
10874         * modules/fdopendir-tests (Depends-on): Likewise.
10875         * modules/filenamecat-tests (Depends-on): Likewise.
10876         * modules/fstatat-tests (Depends-on): Likewise.
10877         * modules/fstrcmp-tests (Depends-on): Likewise.
10878         * modules/linked-list-tests (Depends-on): Likewise.
10879         * modules/linkedhash-list-tests (Depends-on): Likewise.
10880         * modules/mkdirat-tests (Depends-on): Likewise.
10881         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
10882         * modules/nonblocking-socket-tests (Depends-on): Likewise.
10883         * modules/obstack-printf-tests (Depends-on): Likewise.
10884         * modules/openat-tests (Depends-on): Likewise.
10885         * modules/parse-datetime-tests (Depends-on): Likewise.
10886         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
10887         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
10888         * modules/quotearg-simple-tests (Depends-on): Likewise.
10889         * modules/quotearg-tests (Depends-on): Likewise.
10890         * modules/rbtree-list-tests (Depends-on): Likewise.
10891         * modules/rbtree-oset-tests (Depends-on): Likewise.
10892         * modules/rbtreehash-list-tests (Depends-on): Likewise.
10893         * modules/spawn-pipe-tests (Depends-on): Likewise.
10894         * modules/system-quote-tests (Depends-on): Likewise.
10895         * modules/uniname/uniname-tests (Depends-on): Likewise.
10896         * modules/uninorm/nfc-tests (Depends-on): Likewise.
10897         * modules/uninorm/nfd-tests (Depends-on): Likewise.
10898         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
10899         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
10900         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
10901         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
10902         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
10903         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
10904         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
10905         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
10906         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
10907         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
10908         * modules/unlinkat-tests (Depends-on): Likewise.
10909         * modules/version-etc-tests (Depends-on): Likewise.
10910         * modules/xalloc-die-tests (Depends-on): Likewise.
10911         * modules/xmemdup0-tests (Depends-on): Likewise.
10912         * modules/xprintf-posix-tests (Depends-on): Likewise.
10913         * modules/xvasprintf-tests (Depends-on): Likewise.
10914         * tests/test-argmatch.c: Do not include progname.h.
10915         (main) Stop calling set_program_name.
10916         * tests/test-argp-version-etc.c: Likewise.
10917         * tests/test-argp.c: Likewise.
10918         * tests/test-argv-iter.c: Likewise.
10919         * tests/test-array_list.c: Likewise.
10920         * tests/test-array_oset.c: Likewise.
10921         * tests/test-avltree_list.c: Likewise.
10922         * tests/test-avltree_oset.c: Likewise.
10923         * tests/test-avltreehash_list.c: Likewise.
10924         * tests/test-carray_list.c: Likewise.
10925         * tests/test-copy-acl.c: Likewise.
10926         * tests/test-copy-file.c: Likewise.
10927         * tests/test-exclude.c: Likewise.
10928         * tests/test-fchownat.c: Likewise.
10929         * tests/test-fdopendir.c: Likewise.
10930         * tests/test-filenamecat.c: Likewise.
10931         * tests/test-fstatat.c: Likewise.
10932         * tests/test-fstrcmp.c: Likewise.
10933         * tests/test-linked_list.c: Likewise.
10934         * tests/test-linkedhash_list.c: Likewise.
10935         * tests/test-mkdirat.c: Likewise.
10936         * tests/test-nonblocking-pipe-main.c: Likewise.
10937         * tests/test-nonblocking-socket-main.c: Likewise.
10938         * tests/test-obstack-printf.c: Likewise.
10939         * tests/test-openat.c: Likewise.
10940         * tests/test-parse-datetime.c: Likewise.
10941         * tests/test-pipe-filter-gi1.c: Likewise.
10942         * tests/test-pipe-filter-gi2-main.c: Likewise.
10943         * tests/test-pipe-filter-ii1.c: Likewise.
10944         * tests/test-pipe-filter-ii2-main.c: Likewise.
10945         * tests/test-quotearg-simple.c: Likewise.
10946         * tests/test-quotearg.c: Likewise.
10947         * tests/test-rbtree_list.c: Likewise.
10948         * tests/test-rbtree_oset.c: Likewise.
10949         * tests/test-rbtreehash_list.c: Likewise.
10950         * tests/test-sameacls.c: Likewise.
10951         * tests/test-set-mode-acl.c: Likewise.
10952         * tests/test-spawn-pipe-main.c: Likewise.
10953         * tests/test-system-quote-main.c: Likewise.
10954         * tests/test-unlinkat.c: Likewise.
10955         * tests/test-version-etc.c: Likewise.
10956         * tests/test-xalloc-die.c: Likewise.
10957         * tests/test-xfprintf-posix.c: Likewise.
10958         * tests/test-xmemdup0.c: Likewise.
10959         * tests/test-xprintf-posix.c: Likewise.
10960         * tests/test-xvasprintf.c: Likewise.
10961         * tests/uniname/test-uninames.c: Likewise.
10962         * tests/uninorm/test-u32-nfc-big.c: Likewise.
10963         * tests/uninorm/test-u32-nfd-big.c: Likewise.
10964         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
10965         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
10966         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
10967         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
10968         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
10969         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
10970         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
10971         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
10972         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
10973         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
10974         * tests/test-c-stack.c: (program_name): Do not define.
10975         (main): Do not set program_name.
10976         * tests/test-closein.c: Likewise.
10977         * tests/test-xstrtol.c: Likewise.
10978         * tests/test-yesno.c: Likewise.
10980 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
10982         Port modules to use getprogname explicitly, instead of requiring
10983         progname to be used (or program_name to be provided).
10984         * lib/argmatch.c: Do not include progname.h.
10985         [TEST] (program_name): Do not define.
10986         [TEST] (main): Call getprogname instead of using program_name.
10987         * lib/c-stack.c: Do not include progname.h.
10988         (program_name): Do not define.
10989         (die): Call getprogname instead of using program_name.
10990         * lib/chdir-long.c: Do not include progname.h.
10991         [TEST_CHDIR] (main): Do not set program_name.
10992         * lib/error.c [!_LIBC]: Include progname.h.
10993         [!_LIBC] (program_name): Define using getprogname.
10994         * lib/euidaccess.c: Do not include progname.h.
10995         [TEST] (main): Do not set program_name.
10996         * lib/git-merge-changelog.c: Include getprogname.h instead of
10997         progname.h.
10998         (usage): Call getprogname instead of using program_name.
10999         (main): Likewise.  Stop calling set_program_name.
11000         * lib/group-member.c: Do not include progname.h.
11001         [TEST] (main): Do not set program_name.
11002         * modules/argmatch (Depends-on): Add getprogname.
11003         * modules/c-stack (Depends-on): Likewise.
11004         * modules/error (Depends-on): Likewise.
11005         * modules/git-merge-changelog (Depends-on): Likewise.
11006         Also remove progname.
11008 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
11010         * NEWS: Document the deprecation of the 'progname' module.
11012 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
11014         getprogname: new module
11015         This provides a LGPL module for getting the name of the current
11016         program, using the same API found on *BSD systems.
11017         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
11018         * modules/getprogname: New files.
11019         * MODULES.html.sh (Misc): Add getprogname.
11021 2016-09-02  Jim Meyering  <meyering@fb.com>
11023         manywarnings: add -fno-common
11024         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
11025         to the list.  Quoting the manual, "Compiling with -fno-common is
11026         useful on targets for which it provides better performance, or if
11027         you wish to verify that the program will work on other systems that
11028         always treat uninitialized variable declarations this way [putting
11029         it in the data section]."  If diffutils had been using this sooner,
11030         it would have prevented this duplicate declaration issue:
11031         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
11033 2016-08-31  Simon Josefsson  <simon@josefsson.org>
11035         parse-datetime: Fix typo.
11036         * lib/parse-datetime.y (parse_datetime2): Fix typo.
11038 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11040         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
11041         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
11042         GCC 5 and 6 that have __builtin_sub_overflow but not
11043         __builtin_sub_overflow_p.  With the recent changes, these
11044         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
11045         implementation than with INT_SUBTRACT_OVERFLOW implementation,
11046         since the former needs just one runtime comparison whereas the
11047         latter needs two.
11049         strverscmp: sync with glibc
11050         Although this doesn't exactly synchronize with glibc
11051         byte-for-byte, it makes the code behave the same as glibc.
11052         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
11053         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
11054         difference shouldn't matter in practical use.  All uses changed
11055         back to isdigit.
11056         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
11057         (next_state): Now unsigned char array; redo elements.
11058         (result_type): Now signed char array; redo elements.
11059         (__strverscmp): Fix glibc bug 9913 by using new states.
11060         * tests/test-strverscmp.c (main): Test glibc bug 9913.
11062 2016-08-29  Jim Meyering  <meyering@fb.com>
11064         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
11065         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
11066         similarly to how it was done to intprops.h.
11068 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
11070         intprops.h: port recent changes to GCC 6.2.0
11071         * lib/intprops.h (__has_builtin): Move earlier.
11072         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
11073         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
11074         the last argument can be null.  All uses changed.
11075         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
11076         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11077         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
11078         and it's not clear which GCC versions it works for.
11079         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
11080         its definiens.
11082         intprops.h: use __typeof__ with GCC 7
11083         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
11084         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
11085         This avoids computing the expression's value (which might overflow!).
11087 2016-08-29  Jim Meyering  <meyering@fb.com>
11089         intprops.h, xalloc-oversized.h: work with gcc 7
11090         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
11091         __builtin_mul_overflow each accept a NULL pointer as the third
11092         argument.  However in gcc 7, that is no longer accepted.
11093         Instead, one must use the "_p"-suffixed names, with which, the
11094         third parameter is no longer a pointer.
11095         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
11096         the definition: not true for gcc 7 and subsequent.
11097         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
11098         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11099         Provide new definitions for gcc 7 and subsequent.
11100         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
11101         that works with gcc-7.
11103         intprops.h: fix missing-backslash problems
11104         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
11105         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
11107 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11109         intprops: fix paren typo on old platforms
11110         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
11111         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
11112         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
11113         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
11114         && !defined LLONG_MAX]:
11115         Remove stray paren.
11117         intprops: port to OpenVMS
11118         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
11119         * doc/posix-headers/limits.texi: Document the problem.
11120         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
11121         Define if not already defined.
11123 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
11125         parse-datetime: improve debug implementation
11126         Follow-up to commit 12ad79069 ("add optional debug printing").
11127         Improve parse-datetime's debug implementation: remove macros,
11128         replace global debug flag variable with a function parameter,
11129         use nstrftime for formatting.
11130         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
11131         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
11132         (parse_datetime2): New function, accepts 'flags' parameter, supporting
11133         debug flag. Existing interface 'parse_datetime' left unmodified.
11134         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
11135         (struct parser_control): add 'parse_datetime_debug' member variable.
11136         (parse_datetime): Call new function 'parse_datetime2' without debug.
11137         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
11138         pc.parse_datetime_debug variable as needed.
11139         (to_year): Accept new flags parameter, instead of using global variable.
11140         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
11141         use struct 'debug' variable instead of global variable.
11142         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
11143         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
11144         correspnding functions directly instead of using macros.
11145         * modules/parse-datetime: Add gnulib's strftime module.
11147 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
11149         c-strcase-tests: port to EBCDIC
11150         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
11151         which assume ASCII encoding semantics to run only in ASCII
11152         mode, as they fail in EBCDIC.
11154         sigpipe-tests: fix typo
11155         * tests/test-sigpipe.sh: C, not B.
11157 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
11159         canonicalize-lgpl: fix errno after malloca fails
11160         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
11161         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
11162         * lib/canonicalize-lgpl.c (__realpath):
11163         Don't assume malloca sets errno on failure.
11165 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11167         strtod: port errno handling to z/OS
11168         * lib/strtod.c (strtod): Save and restore errno more reliably.
11170 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11172         strtod: port to z/OS
11173         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11174         implementation.
11176 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11178         strtod: port to z/OS
11179         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
11180         implementation.
11182         regex, string: rename to avoid '__string'
11183         * lib/regex.h, lib/string.in.h: Do not use the identifier
11184         '__string', as it is effectively reserved by string.h on z/OS.
11186         c-strcase-tests, wcwidth-tests: depend on c-ctype
11187         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
11188         Add c-ctype.
11190 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
11192         thread: port to z/OS
11193         * lib/glthread/thread.c, lib/glthread/thread.h:
11194         Rudimentary gl_thread support for z/OS.
11196         maint: port tests to z/OS errno behavior
11197         * tests/test-nonblocking-reader.h:
11198         * tests/test-nonblocking-writer.h:
11199         Accommodate z/OS errno code preferences. (I believe this should
11200         still be within spec; IBM is good at following the letter if not
11201         the spirit of such things.)
11203         maint: preprocessor changes to support z/OS
11204         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
11205         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
11206         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
11207         * tests/test-nonblocking-pipe.h:
11209         fclose, strstr-simple, wchar: port to z/OS
11210         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
11211         Changes to the Autoconf M4 code to support z/OS.  Note that
11212         fclose() is broken in a different way on z/OS than it is on other
11213         systems, thus the special-case in fclose.m4.
11215         iconv_open-utf-tests, iconv-tests: port to EBCDIC
11216         * tests/test-iconv-utf.c, tests/test-iconv.c:
11217         Added appropriately conditional #pragmas so that the test strings
11218         in test-iconv-utf.c are correctly interpreted in ASCII instead of
11219         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
11220         addressed in a more portable way by simply rewriting all the ASCII
11221         literal characters as octal escapes, but then you would lose the
11222         partial readability that the strings have now. Also, iconv_open()
11223         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
11225         c-strcase-tests, wcwidth-tests: port to EBCDIC
11226         * tests/test-c-strcasecmp.c: Include c-ctype.h.
11227         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
11228         * tests/test-wcwidth.c: Likewise.
11230 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
11232         stdbool: don't require _Bool for C++
11233         Problem reported by David Seifert in:
11234         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
11235         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
11236         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
11237         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
11238         stricter about checking that bool and _Bool are compatible in C.
11240 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
11242         getdelim: remove dependency on realloc-posix
11243         * lib/canonicalize-lgpl.c (alloc_failed)
11244         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
11245         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
11246         Use __set_errno where needed, for consistency.
11247         * lib/getdelim.c (alloc_failed): New function.
11248         (getdelim): Use it.
11250 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
11252         parse-datetime: add optional debug printing
11253         Print parsing information, warnings, and errors to stderr.
11254         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
11255         * lib/parse-datetime.y:
11256         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
11257         (PROGRESS*): Same as DEBUG, for progress reporting.
11258         (dbg_printf): Print message to stderr, with 'date' prefix.
11259         (struct parser_control): Add 'debug_*_seen' variables.
11260         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
11261         (debug_print_current_time, debug_print_relateive_time): Prints the
11262         current/relative date/time value of parser_control.
11263         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
11264         (to_year): Warn about 2-digit year parsing.
11265         (yylex):   Warn about unrecognized words.
11266         (get_effective_timezone): Returns current timezone in minutes.
11267         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
11268         clearly and unambigiously as possible.
11269         (debug_mktime_not_ok): Print detailed information about failed
11270         date/time values.
11271         (parse_datetime): Add DEBUG messages for failures, warnings. Add
11272         PROGRESS messages for status messages.
11273         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
11275 2016-08-06  Jim Meyering  <meyering@fb.com>
11277         tests/init.sh: exclude dash with bad "local" semantics
11278         * tests/init.sh (gl_shell_test_script_): Add a function to
11279         eliminate a shell like "dash" (unlike bash, zsh) that has
11280         surprising/risky "local var='...'" semantics.  Inspired by
11281         the problem and discussion in https://bugs.gnu.org/24116#11.
11283 2016-08-02  Ján Tomko  <jtomko@redhat.com>
11285         maint.mk: expand the prohibit_doubled_word regex
11286         This check has a static list of words that are checked for
11287         repetitions.  Expand it before running the perl script to
11288         avoid using expensive captures.  This decreases the cost
11289         for libvirt from 1.66s to 0.66s.
11290         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
11291         (sc_prohibit_doubled_word): Use it.
11293 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11295         useless-if-before-free: skip non-matching lines early
11296         * build-aux/useless-if-before-free: First match each line with the
11297         simple/quick /\bif\b/ and reject if there is no match. This often
11298         saves the cost of the much more involved regular expression.
11299         For libvirt, this decreases the cost from 1.44s to 1.02s.
11301 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11303         maint.mk: speed up sc_po_check
11304         sc_po_check would skip files based on their names, or on the
11305         existence of files with derived names. Rewrite it to use perl
11306         instead of shell to make the check faster.
11307         * top/maint.mk (perl_translatable_files_list_): Define.
11308         (sc_po_check): Use it.
11310 2016-07-30  Ján Tomko  <jtomko@redhat.com>
11312         maint.mk: speed up require_config_h_first
11313         Instead of spawning three processes per file,
11314         rewrite the check in perl and run it once for all the files.
11315         * top/maint.mk (perl_config_h_first_): Define.
11316         (sc_require_config_h_first): Use it in place of shell code.
11318 2016-07-26  Ján Tomko  <jtomko@redhat.com>
11320         maint.mk: speed up sc_po_check
11321         sc_po_check would skip files based on their names, or on the
11322         existence of files with derived names. Rewrite it to use perl
11323         instead of shell to make the check faster.
11324         * top/maint.mk (perl_translatable_files_list_): Define.
11325         (sc_po_check): Use it.
11327 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
11329         obstack: pacify GCC 6 with -Wnull-dereference
11330         Problem reported by Assaf Gordon in:
11331         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
11332         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
11333         Declare with __attribute_noreturn__.
11334         * lib/obstack.h (__attribute_noreturn__): New macro.
11336 2016-07-13  Eric Blake  <eblake@redhat.com>
11338         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
11339         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
11340         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
11342 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
11344         doc: mention glibc SSIZE_MAX buglet
11345         * doc/posix-headers/limits.texi (limits.h): Document the bug.
11347 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
11349         printf-posix: Fix mingw build
11350         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
11351         expression for detecting C symbol prefixes but forgot to qoute square
11352         brackets in the command line arguments for grep.  That way when
11353         building with mingw the condition was false although it ought to be
11354         true instead.  In particular scenarios this led to the following
11355         compile error:
11357             Cannot export rpl_printf: symbol not found
11358             Cannot export rpl_scanf: symbol not found
11359             collect2: error: ld returned 1 exit status
11361         Fix this by properly quoting square brackets.
11363 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
11365         mktime: call tzset as per POSIX
11366         Problem reported by Ludovic Courtès in:
11367         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
11368         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
11369         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
11371 2016-06-26  Pádraig Brady  <P@draigBrady.com>
11373         fts: handle readdir() errors
11374         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
11375         but also upon error when it will also set errno.  Therefore
11376         flag the error case from readdir().  We treat the case where
11377         no items are read the same as if the dir can't be accessed,
11378         i.e. by setting fts_errno to FTS_DNR.
11380 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
11382         intprops: port better to GCC 7
11383         GCC 7 __builtin_add_overflow supports a new usage form, where the
11384         last argument is a null pointer, and which merely returns 1 if an
11385         overflow would occur.  This is a constant expression if all
11386         arguments are constants, and should generate faster code when code
11387         needs to be generated.
11388         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
11389         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
11390         Use builtin operations if available.
11391         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
11392         operations are available, as it's almost surely faster.
11394 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11396         intprops-test: port to GCC 6
11397         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
11398         since the bug is not fixed in GCC 6.1.
11400 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11402         xalloc-oversized: port to GCC 7; fewer warnings
11403         GCC 7 will have a better way to deal with integer overflow.
11404         Plus, fix a warnings problem reported by Tim Ruehsen in:
11405         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
11406         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
11407         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
11408         For GCC 5, use __xalloc_oversized if both args are constants,
11409         or if pedantic.
11411 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
11413         regex: port to Sun C
11414         Reported by Daiki Ueno.
11415         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
11416         __restrict, in prototype.  This fixes a problem I introduced in
11417         the 2016-02-19 merge from glibc.
11419 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
11421         stdbool: Restore __bool_true_false_are_defined check
11422         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
11423         __bool_true_false_are_defined is still defined, even with C++11.
11425 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
11427         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
11428         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
11430 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
11432         Use GCC_LINT, not lint
11433         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
11434         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
11435         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
11436         Document problem with lint and _Noreturn.
11437         * lib/diffseq.h (IF_LINT, IF_LINT2):
11438         * lib/fts.c (sccsid):
11439         * lib/getndelim2.c (IF_LINT):
11440         * lib/gl_anylinked_list2.h (gl_linked_iterator)
11441         (gl_linked_iterator_from_to):
11442         * lib/gl_anytree_list2.h (gl_tree_iterator)
11443         (gl_tree_iterator_from_to):
11444         * lib/gl_anytree_oset.h (gl_tree_iterator):
11445         * lib/gl_array_list.c (gl_array_iterator)
11446         (gl_array_iterator_from_to):
11447         * lib/gl_array_oset.c (gl_array_iterator):
11448         * lib/gl_carray_list.c (gl_carray_iterator)
11449         (gl_carray_iterator_from_to):
11450         * lib/idcache.c:
11451         * lib/inet_ntop.c (IF_LINT):
11452         * lib/regcomp.c (build_charclass_op, create_tree):
11453         * lib/regex_internal.c (re_acquire_state)
11454         (re_acquire_state_context):
11455         * lib/trigl.c (rcsid):
11456         * lib/trim.c (IF_LINT):
11457         * lib/vasnprintf.c (IF_LINT):
11458         * lib/verify.h (assume):
11459         Treat GCC_LINT like lint.
11461 2016-05-29  Bruno Haible  <bruno@clisp.org>
11463         secure_getenv: Port to many more platforms.
11464         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
11465         functions.
11466         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
11467         for non-BSD Unix platforms and for native Windows.
11468         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
11469         Prompted by a request from Nikos Mavrogiannopoulos.
11471 2016-05-27  Eric Blake  <eblake@redhat.com>
11473         canonicalize: Fix broken probe for realpath.
11474         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
11475         in logic introduced in 54615b95.
11477 2016-05-26  Eric Blake  <eblake@redhat.com>
11479         unsetenv: relax to LGPLv2+
11480         * modules/unsetenv (License): Match setenv license.
11482 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
11484         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
11485         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
11486         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
11487         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
11488         (commonarg, dirargs, dirs, infoarg, generate_ascii)
11489         (generate_html, generate_info, generate_tex, outdir)
11490         (source_extra, split, srcfile, texarg): Move above 'version'.
11491         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
11493 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
11495         manywarnings: update for GCC 6.1
11496         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
11497         Add GCC 6.1 options that apply to C.
11498         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
11499         do not apply to C, are obsolescent, etc.
11501 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
11503         glob: size_t overflow checks
11504         * lib/glob.c (__has_builtin): New macro.
11505         (size_add_wrapv, glob_use_alloca): New static functions.
11506         (glob, glob_in_dir): Check for size_t overflow in several places,
11507         and fix some size_t checks that were not quite right.
11509         glob: don't assume INT_MAX < SIZE_MAX
11510         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
11511         latter is not portable to (probably theoretical) hosts where
11512         SIZE_MAX <= INT_MAX.
11514 2016-05-09  Bruno Haible  <bruno@clisp.org>
11516         Fix undefined behaviour in gettext.h.
11517         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
11518         pointer's value after the storage it points to has been freed.
11519         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
11520         Spotted by Coverity.
11522 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
11524         git-version-gen: avoid undefined shift
11525         Problem reported by Mosè Giordano in:
11526         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
11527         * build-aux/git-version-gen: Avoid undefined behavior if invoked
11528         with --prefix or --fallback but without a later argument.  While
11529         we're at it, omit unnecessary quotes.
11531 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
11533         glob: merge glibc changes into lib/glob.c
11534         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
11535         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
11536         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
11537           struct dirent [BZ #19779]
11538         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
11539           callback gl_readdir
11540         2015-10-20 Convert miscellaneous function definitions to prototype style
11541         2015-10-20 Convert 113 more function definitions to prototype style
11542           (files with assertions)
11543         2015-06-12 Fix getlogin_r namespace (bug 18527).
11544         2014-02-10 Use glibc_likely instead __builtin_expect.
11545         2013-10-20 When glob pattern contains a trailing slash match only
11546           directories. Fixes bug 10278.
11547         2013-09-04 glob: silence -Wattribute warnings
11548         2013-06-07 Avoid use of "register" as optimization hint.
11549         2012-09-25 Use size_t instead of int for internal variables in glob
11550           (bug 14621)
11551         2011-07-20 Check for overflows in expressions
11552         2011-05-28 Remove unused variable
11553         2011-05-22 Add a few more alloca size checks
11554         2010-03-27 Whitespace fixes
11555         2010-03-27 Fix one more issue with the glob patch
11556         2010-03-24 Fix glob with empty pattern
11557         2008-05-27 Remove useless more "if" tests before "free"
11558         * modules/glob (Depends-on): Add stdint.
11560 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11562         mktime: port to stricter signed overflow checking
11563         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
11564         (long_int): Require width for INT_MAX * 3 * (seconds per year),
11565         instead of merely for INT_MAX * 2.  In practice platforms that
11566         do the latter also do the former.
11567         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
11568         (shr): New static function, replacing SHR.  All uses changed.
11569         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
11570         and TIME_T_MAX.  All uses changed.
11571         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
11572         Use long_int, not time_t.
11573         (long_int_avg): New static function, replacing time_t_avg.
11574         All uses changed.  Round toward positive infinity, as that
11575         generates slightly better code.
11576         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
11577         by INT_ADD_WRAPV.
11578         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
11579         (convert_time): New static function.
11580         (ranged_convert): Use it
11581         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
11582         Use simpler test for loop exit.
11583         (__mktime_internal): Store negative of guessed offset, to simplify
11584         overflow checking.  Remove no-longer-needed test for small time_t
11585         overflows.
11587         mktime: speed up DEBUG_MKTIME benchmarks
11588         Call tzset just once, at the start, rather than for every test
11589         case.  This lets us measure the CPU cost of mktime as opposed to
11590         that of tzset.  This is relevant when TZ is not set and glibc is
11591         being used.  This speeds up tests by a factor of 40 on my Fedora
11592         23 x86-64 platform.
11593         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
11594         to call tzset and as a sanity check.  Later on, use localtime_r
11595         instead of localtime.
11597         mktime: resurrect DEBUG_MKTIME testing
11598         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
11599         Include <string.h>, for strcmp.
11601         mktime: simplify DEBUG_MKTIME
11602         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
11603         Simplify later usage accordingly.
11605         Port mktime_internal offset to unsigned time_t
11606         This avoids some assumptions about wraparound arithmetic on
11607         signed integer overflow.
11608         * lib/mktime-internal.h (mktime_offset_t): New type.
11609         (mktime_internal): Use it in decl.
11610         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
11612         * lib/mktime.c (__mktime_internal, localtime_offset):
11613         * lib/timegm.c (timegm): Use it.
11614         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
11615         (gl_FUNC_MKTIME): Require it.
11617 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
11619         xstrtol: prohibit monstrosities like "1bB"
11620         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
11621         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
11622         "B" only if the first suffix needs a base.
11623         * tests/test-xstrtol.sh: Test this.
11625 2016-04-21  Pádraig Brady  <P@draigBrady.com>
11627         xstrtod: reinstate setting of *result upon ERANGE
11628         * lib/xstrtod.c (XSTRTOD): The user may decide to use
11629         the returned limits upon ERANGE, so allow and document that.
11631 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
11633         xstrtod: modify *result only if no errors
11634         * lib/xstrtod.c (XSTRTOD).
11636 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
11638         btowc: document problems in C locale
11639         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
11640         with mbrtowc.  See: http://bugs.gnu.org/23269#32
11642 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11644         mktime: improve integer overflow checking
11645         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
11646         (WRAPV): Remove; no longer needed.
11647         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
11648         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
11649         Remove.  Use intprops.h defns instead.
11650         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
11651         Use bool for Boolean, for clarity.
11652         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
11653         detect integer overflow.
11654         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
11656         intprops: check two's complement assumption
11657         Suggested by Eric Blake in:
11658         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
11659         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
11660         short, int, long, and (if available) long long are two's complement.
11661         * modules/intprops (Depends-on): Add 'verify'.
11663         intprops, mktime, strtol: assume two's complement
11664         These macros were not portable to every conforming C11 ones'
11665         complement platform.  It's not worth the hassle of porting to some
11666         platforms that use ones' complement or signed magnitude, as such
11667         platforms are almost purely theoretical nowadays and porting even
11668         to some of them makes the code harder to review for little
11669         practical benefit.  Problem reported by Florian Weimer in:
11670         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
11671         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11672         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
11673         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
11674         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
11675         (TYPE_SIGNED_MAGNITUDE):
11676         Remove.  All uses rewritten to assume two's complement, which is
11677         all we can reasonably test nowadays anyway.
11678         * top/maint.mk (_intprops_names): Remove the removed macros.
11680 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
11682         stdint: port to strict C11 left shift
11683         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
11684         Pacify clang -Wshift-negative-value, which should be an issue only
11685         on clang setups where stdint.h does not conform to C11 or to C++11.
11686         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
11688 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
11690         mbrtowc: work around glibc bug#19932
11691         Fix mbrtowc so that it never returns -1 in the C locale,
11692         as this conflicts with a future version of POSIX
11693         http://austingroupbugs.net/view.php?id=663#c2738
11694         and causes problems with GNU grep: http://bugs.gnu.org/23234
11695         See glibc bug 19932:
11696         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
11697         * doc/posix-functions/mbrlen.texi (mbrlen):
11698         * doc/posix-functions/mbrtowc.texi (mbrtowc):
11699         Document the glibc bug.
11700         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
11701         Include hard-locale.h, locale.h.
11702         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
11703         if the bug is possible.
11704         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
11705         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
11706         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
11707         * modules/mbrtowc (Depends-on): Add hard-locale.
11708         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
11709         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
11710         * tests/test-mbrtowc5.sh: New file.
11712 2016-04-03  Pedro Alves  <palves@redhat.com>
11714         stdint: detect good enough pre-C++11 stdint.h in C++ mode
11715         When gnulib is configured in C++ mode for a system with a working C99
11716         implementation of stdint.h that predates C++11, gnulib ends up
11717         substituting stdint.h anyway.  This works on most targets, but on e.g.,
11718         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
11719         MinGW is LLP64.  Instead of trying to detect the right types, detect
11720         good-enough-pre-C++11 stdint.h and in such case define
11721         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
11722         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
11723         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
11724         conforms to C99.  If it does, check whether it hides symbols
11725         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
11726         does, define those macros in config.h.
11728 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
11730         argp: merge changes from glibc
11731         Among other things, this should fix problems found by a Coverity
11732         scan and reported by Andrei Borzenkov:
11733         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
11734         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
11735         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
11736         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
11737         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
11738         * lib/argp.h:
11739         Merge changes from glibc.
11740         * tests/test-argp-2.sh: Adjust to match new behavior.
11742 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
11744         stddef: support configuring with g++
11745         Problem reported by Ángel González in:
11746         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
11747         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
11748         Do not define if _GCC_MAX_ALIGN_T is defined.
11750 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
11752         test-framework-sh: minor cleanups
11753         * tests/init.sh (testdir_prefix_): Output a trailing newline,
11754         since strictly speaking POSIX requires this.
11755         (setup_): Do not use the variable 'fail', as that makes the
11756         trace output harder to read ('fail' is typically used by
11757         tests to mean the test failed).  Treat // portably.
11758         Check that new directory is not merely a sibling of the tmp dir.
11759         Avoid unnecessary invocation of tr.
11761         test-framework-sh: revert port to NetBSD 7.0
11762         It was a false alarm; I misinterpreted Assaf Gordon's report.
11763         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11764         Restore.
11765         (test_dir_): Adjust to mktempd_ change.
11766         (mktempd_): Restore 2nd arg.  Use -t again.
11767         (base_template_, template_, nx_): Resurrect old code.
11769         Port better to Alpine Linux
11770         Its diff implementation does not support -c, but does support -U3.
11771         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11772         * tests/init.sh (diff_opt_): New var.
11773         (compare_): Prefer diff -U3 to diff -c to plain diff.
11775 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
11777         test-framework-sh: port to NetBSD 7.0
11778         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
11779         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
11780         Remove.  All uses removed.
11781         (test_dir_): Adjust to mktempd_ change.
11782         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
11783         (base_template_, template_, nx_): Simplify by hardcoding.
11785 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
11787         gitlog-to-changelog: suppress ignored chatter
11788         * build-aux/gitlog-to-changelog: Do not warn about skipping
11789         an SHA if it would have been ignored anyway.
11791 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
11793         setlocale: add "sv" to Windows language table
11794         * lib/setlocale.c (language_table) [W32]: Add "sv".
11795         Reported in <https://savannah.gnu.org/bugs/?44588>.
11797 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11799         sys_select: port to new Cygwin
11800         Problem reported by Ken Brown in:
11801         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
11802         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
11803         diagnostics.
11805 2016-03-17  Jim Meyering  <meyering@fb.com>
11807         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
11808         * tests/test-userspec.c (main): Remove unnecessary braces and fix
11809         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
11810           test-userspec.c:176:9: error: statement is indented as if it were \
11811             guarded by... [-Werror=misleading-indentation]
11812                    {
11813                    ^
11814           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
11815                  if (!diag && !T[i].result)
11816                  ^~
11818 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11820         time_rz: port to clang -Wunused-const-variable
11821         * lib/time_rz.c (TZ): Remove.  All uses removed.
11823         std-gnu11: improve clang support
11824         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
11825         2016-03-15 Also try clang
11826         2016-03-15 Port C11 and C++11 testing to clang
11828         select: port more to Intel 2016.1.150 compiler
11829         Problem reported by Balázs Hajgató in:
11830         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
11831         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
11833 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11835         select: try to port to 2016.1.150 compiler
11836         Problem reported by Balázs Hajgató in:
11837         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
11838         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
11839         POSIX specifies 'restrict'.
11841 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
11843         localename-tests: memory allocation fixes
11844         * tests/test-localename.c (test_locale_name)
11845         (test_locale_name_thread): Don't call freelocale on a locale
11846         that was the base of a successful newlocale, as that
11847         results in a double free.  Problem reported by Assaf Gordon.
11848         (test_locale_name_thread): Free saved names after use, to pacify
11849         gcc -fsanitize=address.
11851 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
11853         intprops: make .h file license match module
11854         * lib/intprops.h: Change the license wording to match glibc format.
11855         This is what is in modules/intprops anyway.  See:
11856         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
11858 2016-03-08  Eric Blake  <eblake@redhat.com>
11860         acl: fix missing return on Cygwin
11861         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
11862         fall off end of function. Fixes http://bugs.gnu.org/22949
11864 2016-03-05  Bruno Haible  <bruno@clisp.org>
11866         extern-inline: port to PGI CC
11867         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
11868         keyword 'inline'.
11869         Reported by Adam James Stewart in:
11870         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
11872 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
11874         signbit: port back to pre-C++11 GCC
11875         * lib/math.in.h (signbit): Do previous change only if
11876         __cplusplus < 201103.  See Jonathan Wakely in:
11877         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
11879 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
11881         mountlist: recognize autofs-mounted remote file systems, too
11882         Originally reported at: https://bugzilla.redhat.com/1309247
11883         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
11884         "-hosts" because it is used by autofs to mount remote file systems.
11886 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
11888         signbit: port to C++ with GCC 6
11889         * lib/math.in.h (signbit) [__cplusplus]:
11890         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
11891         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
11893         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
11895         regex: make it closer to libc
11896         Make Idx a signed type, rather than possibly unsigned.
11897         The unsignedness was not really buying us anything, since the code
11898         overflows for other reasons before getting to PTRDIFF_MAX.  Making
11899         it signed allows us to use -1 and -2 with abandon, like libc does,
11900         thus lessening the number of differences between gnulib and libc.
11901         Also, it should help avoid gratuitous warnings like the one
11902         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
11903         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
11906         regex: merge patches from libc
11908         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
11909         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
11910         Convert miscellaneous function definitions to prototype style.
11911         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
11912         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
11913         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
11914         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
11915         (re_search_internal):
11916         Convert to prototype-style function definition.
11917         Use internal_function for internal functions.
11919 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
11921         stdalign: port to older HP and IBM cc
11922         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
11923         C compilers, by checking their version numbers.  These version
11924         numbers appear in MariaDB and in Qt code that dates way back and
11925         that conditiionally uses the 'aligned' attribute.
11927 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
11929         stdalign: port to clang 3.7.0
11930         Problem reported by Herbert J. Skuhra in:
11931         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
11932         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
11933         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
11934         https://llvm.org/bugs/show_bug.cgi?id=26547
11936 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
11938         readdir_r: now obsolescent
11939         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
11940         * lib/mountlist.c (read_file_system_list): Add a FIXME.
11942 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
11944         misc: port better to gcc -fsanitize=address
11945         Without these patches, ./configure CFLAGS='-fsanitize=address'
11946         would compute incorrect values.  This patch fixes some (but not all)
11947         test failures with recent glibc, with this configuration.
11948         * m4/acl.m4 (gl_ACL_GET_FILE):
11949         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
11950         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
11951         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
11952         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
11953         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
11954         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
11955         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
11956         * m4/getline.m4 (gl_FUNC_GETLINE):
11957         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
11958         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
11959         * m4/regex.m4 (gl_REGEX):
11960         * m4/strndup.m4 (gl_FUNC_STRNDUP):
11961         * tests/test-calloc-gnu.c (main):
11962         * tests/test-duplocale.c (main):
11963         * tests/test-getgroups.c (main):
11964         * tests/test-getline.c (main):
11965         * tests/test-inttostr.c (main):
11966         * tests/test-localename.c (test_locale_name)
11967         (test_locale_name_thread, test_locale_name_environ)
11968         (test_locale_name_default):
11969         * tests/test-regex.c (main):
11970         * tests/test-setlocale1.c (main):
11971         * tests/test-stat.h (test_stat_func):
11972         Free heap-allocated storage before exiting.
11973         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
11974         Don't match *_foo symbols inserted by AddressSanitizer.
11975         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
11977 2016-02-02  Jim Meyering  <meyering@fb.com>
11979         verify-tests: also remove stray test-verify.Tpo
11980         * modules/verify-tests (Makefile.am): Arrange for "make clean"
11981         to remove the test-verify.Tpo file that is left behind by
11982         the automake-generated rule upon compilation failure.
11983         Otherwise, that .Tpo file would cause a failed "make distcheck"
11984         at least for grep.
11986 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
11988         std-gnu11: new module
11989         This makes it easier for applications to prefer C11 and C++11
11990         to older variants, when compiling C and C++ code.
11991         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
11992         a nontrivial chunk of GPLed Autoconf source code.
11993         * COPYING: Mention the m4/*.m4 copyright situation.
11994         * MODULES.html.sh (std-gnu11): New module.
11995         * m4/std-gnu11.m4, modules/std-gnu11: New files.
11997 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
11999         get-permissions, strftime: fix grammar in comments
12000         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
12001         some grammar fixes Alan Mackenzie made to GNU Emacs.
12003 2016-01-25  Daiki Ueno  <ueno@gnu.org>
12005         gettext: mark as obsolete
12006         Suggested by Paul Eggert in:
12007         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
12008         * modules/gettext (Status): Mark as obsolete.
12009         (Notice): Suggest to use 'gettext-h' instead.
12010         * modules/gettext-h (Description): Suggest GNU gettext, instead of
12011         the 'gettext' module.
12013 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12015         gnulib-tool: don't give up on ln -s so easily
12016         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
12017         because an earlier one failed.  The targets could be on different
12018         file systems.  Problem reported by KO Myung-Hun in:
12019         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
12021         closedir: fix OS/2-related typos
12022         Problem reported by KO Myung-Hun in:
12023         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
12024         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
12025         in the last couple of changes.
12027 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
12029         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
12030         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
12031         copying a directory.
12033 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
12035         regex: treat [x] as x if x is a unibyte encoding error
12036         Problem reported by Aharon Robbins in:
12037         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
12038         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
12039         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
12041         closedir, dirfd, opendir: port to OpenSolaris 5.10
12042         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
12043         * m4/dirfd.m4 (gl_FUNC_DIRFD):
12044         * m4/opendir.m4 (gl_FUNC_OPENDIR):
12045         Don't use ${word##pat} substitution, as it doesn't work in
12046         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
12047         http://bugs.gnu.org/22443#11
12049 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
12051         bootstrap: use American spelling
12052         * build-aux/bootstrap: Honor American spelling.
12054 2016-01-22  Karl Berry  <karl@freefriends.org>
12056         * doc/posix-functions/localtime.texi,
12057         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
12059 2016-01-21  Bruno Haible  <bruno@clisp.org>
12061         hash-pjw-bare: fix comment
12062         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
12064         wcwidth: Replace also on OpenBSD 5.8
12065         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
12066         * doc/posix-functions/wcwidth.texi: Update.
12068 2016-01-20  Pádraig Brady  <P@draigBrady.com>
12070         gnu-web-doc-update: fix addition of new files
12071         If there were already added (emnpty) dirs,
12072         then cvs aborts the add with the message:
12073           cvs [add aborted]: there is a version in <./dirname> already
12074         * build-aux/gnu-web-doc-update: Add directories separately
12075         to the addition of files, to avoid the above issue
12076         impacting the addition of files.
12078 2016-01-19  Daiki Ueno  <ueno@gnu.org>
12080         utimens-tests: avoid pulling gettext .m4 files
12081         Although this is not the right fix to the original problem:
12082         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
12083         it makes it possible again for consumer projects to use arbitrary
12084         version of gettext, through the steps described at:
12085         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
12086         See here for details:
12087         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
12088         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
12089         'gettext'.
12090         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
12091         'gettext'.
12093 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
12095         regex: pacify static checkers
12096         Problem and draft fix reported by Aharon Robbins in:
12097         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12098         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
12099         Clear memory to pacify static checkers.
12101         regex: fix [ diagnostic
12102         Problem and fix reported by Aharon Robbins in:
12103         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12104         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
12106         regex: fix memory leaks
12107         Problem and draft fix reported by Aharon Robbins in:
12108         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
12109         * lib/regcomp.c (build_range_exp, build_charclass_op)
12110         * lib/regex_internal.c (re_dfa_add_node):
12111         Fix memory leak on failure.
12113 2016-01-18  Pádraig Brady  <P@draigBrady.com>
12115         fts: don't unconditionally use leaf optimization for NFS
12116         NFS st_nlink are not accurate on all implementations,
12117         leading to aborts() if that assumption is made.
12118         See <https://bugzilla.redhat.com/1299169>
12119         * lib/fts.c (leaf_optimization_applies): Remove NFS from
12120         the white list, and document the issue.
12122 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12123             KO Myung-Hun  <komh@chollian.net>
12125         gnulib-tool: don't assume ln -s works
12126         * gnulib-tool (func_ln_s): New function.
12127         (func_ln): Use it.
12129 2016-01-15  KO Myung-Hun  <komh@chollian.net>
12131         utimes: detect utimes() correctly on OS/2 kLIBC
12132         utimes() of OS/2 kLIBC has some limitations.
12133         1. OS/2 itself supports a file date since 1980 year in local time.
12134         2. OS/2 itself supports only even seconds for a file time.
12135         3. utimes() of OS/2 kLIBC does not work on an opened file.
12136         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
12137         * doc/posix-functions/utimes.texi: Document the above limitations of
12138         utimes() on OS/2 kLIBC.
12140 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
12141             KO Myung-Hun  <komh@chollian.net>
12143         openat_proc_name: port to OS/2 kLIBC
12144         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
12145         instead of /proc/self/fd.
12146         * lib/openat-proc.c (openat_proc_name):
12147         Don't assume file name length is less than INT_MAX.
12148         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
12150 2016-01-14  KO Myung-Hun  <komh@chollian.net>
12152         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
12153         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
12154         definitions of intptr_t and uintptr_t (which use int and unsigned)
12155         to avoid clashes with declarations of system functions like sbrk.
12156         * lib/stdint.in.h (intptr_t, uintptr_t): Check
12157         _INTPTR_T_DECLARED before defining them.
12159         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
12160         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
12161         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
12162         Declare on kLIBC.
12163         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
12164         fd associated with dirp.
12165         (_gl_register_dirp_fd): New. Register fd associated with dirp to
12166         dirp_fd_list.
12167         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
12168         (dirfd): Implemented for kLIBC.
12169         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
12170         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
12171         succeeds.
12172         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
12173         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12174         (REPLACE_DIRFD): Define to 1 if replaced.
12175         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
12176         * modules/closedir (Depends-on): Add dirfd.
12177         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
12178         condition.
12179         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
12180         * modules/opendir (Depends-on): Add dirfd.
12182         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
12183         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
12184         * lib/dup.c (dup_nothrow): New.
12185         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
12186         (klibc_dup2): New.
12187         * lib/fcntl.c (klibc_fcntl): New.
12188         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
12189         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
12190         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
12191         fd.
12193         pipe_filter_ii_execute: port to OS/2 kLIBC
12194         Pipes on kLIBC do not support O_NONBLOCK like Win32.
12195         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
12196         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
12197         Reuse Win32 code on OS/2 kLIBC.
12198         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
12199         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
12201         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
12202         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
12203         static inline function.  The implementation of wcwidth in wcwidth.c
12204         causes a "conflicting types" error.
12205         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
12207         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
12208         spawn() on OS/2 kLIBC is not silly like one on Windows
12209         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
12210         empty string on OS/2 kLIBC.
12212         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
12213         On OS/2 kLIBC, select() works only on sockets.
12214         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
12216         binary-io: don't put fd in binary mode if it is a console on EMX
12217         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
12218         a console on EMX.
12220 2016-01-15  Pádraig Brady  <P@draigBrady.com>
12222         doc: mention unfixed issues with unsupported localtime() values
12223         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
12224         returns nonsense for localtime(2^56).
12225         * doc/posix-functions/localtime_r.texi: Likewise.
12227 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12229         doc: mention setlocale() issues on OpenBSD
12230         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
12231         never fails, and the need to check categories individually.
12233 2016-01-14  Pádraig Brady  <P@draigBrady.com>
12235         sig2str: list all signals on FreeBSD >= 7
12236         FreeBSD >= 7 is contravening POSIX by not defining NSIG
12237         to the maximal statically defined signal value.
12238         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
12239         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
12240         where available, even when NSIG is defined.
12242 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
12244         acl-permissions: port to USE_ACL==0 platforms
12245         I ran into this problem when building bleeding-edge GNU Emacs
12246         with gcc -fsanitize=address on Fedora 23.  On this platform
12247         the ACL library does not pass the 'configure' test and Emacs
12248         then does not build due in part to what appear to be typos in the
12249         ACL part of Gnulib.
12250         * lib/acl-internal.c (free_permission_context):
12251         * lib/acl-internal.h (struct permission_context):
12252         Test whether USE_ACL is nonzero, not whether it is defined.
12254 2016-01-12  Martin Sebor  <msebor@redhat.com>
12256         mktime: rename macro to avoid glibc clash
12257         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
12258         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
12260 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
12262         Port "$@" to OpenIndiana ksh93
12263         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
12264         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
12265         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
12266         bug long-dead shells, so remove the workaround.
12267         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
12268         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12269         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
12270         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
12271         Use "$@" instead of ${1+"$@"}.
12273         Port Universal Time settings to strict POSIX
12274         * build-aux/announce-gen, build-aux/bootstrap:
12275         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
12276         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
12277         * build-aux/gnupload, build-aux/mkinstalldirs:
12278         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
12279         * build-aux/update-copyright, build-aux/useless-if-before-free:
12280         * build-aux/vc-list-files, tests/test-strftime.c:
12281         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
12282         but POSIX says the behavior of TZ="UTC" is undefined.
12284 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
12286         msvc-inval: fix problem with unset shell var
12287         Problem reported by Karl Berry in:
12288         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
12289         * modules/msvc-inval (Depends-on):
12290         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
12291         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
12293 2016-01-01  Pádraig Brady  <P@draigBrady.com>
12295         tests: for compare_(), use cmp -s where available
12296         * tests/init.sh (compare_): Only fall back to cmp without
12297         the POSIX defined -s option, where this is not available.
12299 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
12301         version-etc: new year
12302         * build-aux/gendocs.sh (version):
12303         * doc/gendocs_template:
12304         * doc/gendocs_template_min:
12305         * doc/gnulib.texi:
12306         * lib/version-etc.c (COPYRIGHT_YEAR):
12307         Update copyright dates by hand in templates and the like.
12308         * all files: Run 'make update-copyright'.
12310 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
12312         human: fix output buffer overrun by 1
12313         * lib/human.c (human_readable): Fix off-by-one typo in buffer
12314         calculation that could lead to a one-byte buffer overrun.
12316 2015-12-28  Daiki Ueno  <ueno@gnu.org>
12318         maint: fix operator precedence in mbrtowc test
12319         This is a fix for test breakage introduced by commit 45228d96; the
12320         equality expression must be parenthesized when negated with '!',
12321         otherwise we always get:
12323           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
12325         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
12326         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12328 2015-12-23  James Youngman  <jay@gnu.org>
12330         regexprops-generic: update from regex.h
12331         * doc/regexprops-generic.texi: update by running the regexprops binary
12332         from findutils (the command line is 'regexprops "Regular Expressions"
12333         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
12334         gnulib with GNU grep had made this document out-of-date.
12336 2015-12-23  Pádraig Brady  <P@draigBrady.com>
12338         strftime-tests: avoid false failure on OS X
12339         * tests/test-strftime.c (struct localtime_rz_test): Add an
12340         ahistorical member which is used to warn rather than fail
12341         when tm_isdst isn't set for such entries.  This is the case for
12342         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
12344 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
12346         fts: ensure leaf optimization is used for NFS
12347         NFS provides usable dirent.d_type but not necessarily for all entries
12348         of large directories.  See <https://bugzilla.redhat.com/1252549>
12349         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
12351 2015-12-20  Pádraig Brady  <P@draigBrady.com>
12353         fts: enable leaf optimization for XFS
12354         XFS provides usable dirent.d_type only for DT_DIR,
12355         but the noleaf optimization still applies.
12356         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
12358 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
12360         intprops: comment fix
12361         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
12362         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
12364         intprops-test: work around GCC bug 68971
12365         Problem reported by Pádraig Brady in:
12366         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
12367         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
12368         (main): Add a case that better tests 64-bit long in this area.
12370 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
12372         gnulib-tool: allow multiple --local-dir usage
12373         * gnulib-tool: Use --local-dir to construct compound
12374         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
12375         PATH_SEPARATOR early.
12376         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
12377         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
12378         func_determine_path_separator because that needs to be detected
12379         earlier now.
12380         (func_determine_path_separator): New function.
12381         (func_path_foreach, func_path_foreach_inner): New functions.
12382         (func_path_prepend, func_path_append): Likewise.
12383         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
12384         (func_lookup_file, func_all_modules): Use new functions to work
12385         with local_gnulib_path.
12386         (func_modules_in_dir, func_exists_module): New callbacks for
12387         func_path_foreach.
12388         (func_exists_module, func_get_tests_module): Likewise.
12389         (func_is_local_file, func_should_symlink): New helper methods.
12390         (func_add_file, func_update_file): Use new func_should_symlink
12391         instead, DRY.
12392         (func_reconstruct_cached_local_gnulib_path): New helper.
12393         (func_reconstruct_cached_dir): New callback.
12394         (func_import): The cached_local_gnulib_dir renamed to
12395         cached_local_gnulib_path similarly to local_gnulib_dir.
12396         Use new func_reconstruct_cached_local_gnulib_path.
12397         (func_count_relative_local_gnulib_path): New sub-method.
12398         (func_create_testdir): Use func_should_symlink, DRY.
12399         (func_create_megatestdir): Use new functions to work with
12400         local_gnulib_path correctly.
12401         (func_append_local_dir): New helper.
12403 2015-12-08  Pádraig Brady  <P@draigBrady.com>
12405         fix freadptr to work with ungetc on all uClibc configs
12406         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
12407         where GNU coreutils cut(1) generates invalid output on uClibc
12408         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
12409         * lib/freadptr.c (freadptr): Return NULL if there are
12410         ungotten chars.  In this case freadseek() will iterate
12411         again to process the ungotten character.
12413 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12415         xalloc-oversized: improve performance with GCC 5
12416         * lib/xalloc-oversized.h (xalloc_oversized):
12417         Improve performance with GCC 5 by using __builtin_mul_overflow.
12419 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
12421         intprops: new public macro EXPR_SIGNED
12422         Emacs can use this macro, so make it public.
12423         * doc/intprops.texi (Arithmetic Type Properties): Rename from
12424         'Integer Type Determination', since some of these macros apply
12425         to non-integer types.  Clarify what kinds of constant expressions
12426         these macros return.  Say when the arguments can be non-integers.
12427         Mention newly published macro EXPR_SIGNED.
12428         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
12429         make it public.  All uses changed.
12431         intprops: fix typo in clang port
12432         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
12433         '__builtin_add_overflow' that is not caught by compiler.
12435 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
12437         test-timespec: fix typo in previous change
12438         * tests/test-timespec.c (main): Fix typo that reduced test quality.
12440         timespec-sub: fix overflow bug; add tests
12441         * lib/timespec-add.c (timespec_add):
12442         * lib/timespec-sub.c (timespec_sub):
12443         Work even if time_t is narrower than int (a theoretical
12444         possibility).  Redo code for a bit more clarity.
12445         * lib/timespec-sub.c (timespec_sub):
12446         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
12447         * modules/timespec-tests, tests/test-timespec.c: New files.
12449         intprops-test: suppress -Woverlength-strings
12450         Problem reported by Pádraig Brady in:
12451         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
12452         It is not worth the hassle to port this test to compilers that
12453         cannot handle long strings in diagnostics.
12454         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
12456 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12458         quotearg: add quotearg_n_style_colon()
12459         This quotes with default options of the specified style,
12460         but with quoting enabled for instances of ':'.
12461         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
12462         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
12464 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
12466         intprops: revise _WRAPV macros, revert _OVERFLOW
12467         The incompatible changes to the _OVERFLOW macros were too much of
12468         a hassle in practice, so revert them.  Instead, change the new
12469         _WRAPV macros to make them closer in behavior to GCC 5's new
12470         builtin_add_overflow etc. functions.  No other software was using
12471         these newly-added macros yet, so this should be OK.
12472         * NEWS: Revert previous change, since the incompatible change
12473         has been reverted, and nobody used the incompatible version.
12474         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
12475         Document revised behavior.
12476         (Integer Range Overflow): Adjust example to match above revisions.
12477         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
12478         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
12479         these can be used in integer constant expressions again.
12480         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
12481         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
12482         needed.
12483         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12484         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12485         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
12486         Remove, as they did not seem that useful.
12487         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
12488         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
12489         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
12490         Support new semantics.
12491         (__has_builtin): New macro, if not alreay defined.
12492         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
12493         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12494         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12495         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12496         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
12497         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
12498         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
12499         New macros.
12500         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
12502 2015-11-03  Jim Meyering  <meyering@fb.com>
12504         intprops: add parentheses for when OP has precedence lower than "-"
12505         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
12506         "a OP b" must be parenthesized for when OP is like "<<", which has
12507         lower precedence than the following "-". Reported by Pádraig Brady.
12509 2015-11-03  Pádraig Brady  <P@draigBrady.com>
12511         quotearg: constify get_quoting_style parameters
12512         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
12513         * lib/quotearg.c (get_quoting_style): Likewise.
12515 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12517         quotearg: add support for $'' shell escaping
12518         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
12519         items and descriptions.
12520         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
12521         above types by quoting like "shell", but using $'...' syntax
12522         for non printable characters, which should provide unambiguous
12523         printable output for any input.
12524         * tests/test-quotearg-simple.c: Update accordingly.
12526 2015-11-02  Pádraig Brady  <P@draigBrady.com>
12528         maint: use a more standard return from mbrtowc test
12529         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
12530         from the test program as this is non standard and often
12531         indicates an unhandled case in the test program.
12532         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
12534 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12536         intprops: add WRAPV and const flavors for GCC 5
12537         If available, use GCC 5's builtin functions for efficient integer
12538         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
12539         and safely compute the low-order bits of the correct answer.
12540         A downside of these efficient functions is that they cannot be
12541         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
12542         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
12543         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
12544         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
12545         Document the changes.
12546         (Wraparound Arithmetic): New section.
12547         (Integer Range Overflow):
12548         Put this subsection last, since it's least useful.
12549         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
12550         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
12551         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
12552         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
12553         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
12554         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
12555         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12556         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
12557         New macros.
12558         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
12559         Generate calls to GCC builtins if available, for speed.
12560         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
12561         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
12562         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
12563         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
12564         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
12565         (CHECK_QUOTIENT, CHECK_REMAINDER):
12566         Test WRAPV and CONST flavors (when available) too.
12568 2015-10-30  Pádraig Brady  <P@draigBrady.com>
12570         doc: use extended timezone format in iso-8601 example
12571         * doc/parse-datetime.texi: The standard states that extended format
12572         is to be used consistently throughout.
12573         Note that lib/parse-datetime.y can handle either tz format.
12575 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
12577         stdalign: port to Sun C 5.9
12578         * doc/posix-headers/stdalign.texi: Document this.
12579         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
12580         __attribute__ ((__aligned__ (...))).
12582 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
12584         time_rz: fix comment about tzalloc
12585         * lib/time_rz.c (tzalloc): Fix comment.
12587 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12589         stdalign: work around pre-4.9 GCC x86 bug
12590         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
12591         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
12592         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
12594 2015-10-18  Pádraig Brady  <P@draigBrady.com>
12596         maint.mk: sc_tight_scope: remove extraneous expressions
12597         * top/maint.mk (tight_scope): This is not really required since
12598         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
12599         that matches all nm entries.  But it does remove extraneous entries
12600         that may be confusing or cause issue in future maintenance.
12602 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12604         time_rz: return NULL if localtime_r fails
12605         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
12606         while still attempting to pacify bleeding-edge GCC.
12608         fts: port to C11 alignof
12609         * doc/posix-headers/stdalign.texi (stdalign.h):
12610         Document the C11 restriction.
12611         * lib/fts.c: Include stddef.h, for max_align_t.
12612         (fts_alloc): Align using max_align_t, not FTSENT.
12613         * modules/fts (Depends-on): Add stddef.
12615 2015-10-18  Jim Meyering  <meyering@fb.com>
12617         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
12618         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
12619         would see this:
12621         lib/time_rz.c: In function 'localtime_rz':
12622         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
12623           [-Werror=nonnull]
12624                    if (tm && !save_abbr (tz, tm))
12625                        ^
12627         That was complaining about "tm" because it is a parameter that was
12628         declared with the __nonnull__ attribute.
12629         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
12630         result of localtime_r.
12632 2015-10-17  Jim Meyering  <meyering@fb.com>
12634         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
12635         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
12636         name-extraction regexp mistakenly used \S+, and would mistakenly
12637         extract "*F" from "extern int *F()" rather than the desired "F".
12638         Use \w+ instead.
12640 2015-10-17  Jim Meyering  <meyering@fb.com>
12642         maint.mk: sc_tight_scope: factor and support OS X
12643         * top/maint.mk (_gl_tight_scope): Address three issues:
12644         - factor out four instances of code that wraps a string in "^...$"
12645         - allow nm-reported symbol names to have an optional leading "_"
12646         - add "main" to the list of ignored variable names, because on os x,
12647         "main" has nm-reported type "S" in the variable-checking section.
12649 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
12651         safe-alloc-tests: fix typo in license header
12652         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
12654 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
12656         copy-file: fix mem leak in error case
12657         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
12658         upon error opening or performing I/O to the src and dest files.
12660 2015-10-15  Mike Frysinger  <vapier@chromium.org>
12662         localename: control langinfo.h inclusion
12663         This header is only used to work around buggy behavior in old
12664         versions of glibc, so do not include it all the time.  Otherwise
12665         we get build failures on systems that do not provide langinfo.h.
12666         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
12667         in the source later on.
12668         The patch was originally submitted to gettext as:
12669         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
12671 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12673         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
12674         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
12675         * lib/u64.c, lib/unistd.c:
12676         Append 'typedef int dummy;', to pacify compilers that are picky
12677         about empty translation units.
12679 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
12681         accept4-tests: fix to avoid non portable flags
12682         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
12683         as they are the only documented ones, and passing others may trigger
12684         EINVAL (seen on FreeBSD 10.1-RELEASE).
12685         * doc/glibc-functions/accept4.texi: Mention that we don't provide
12686         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
12688 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
12690         gnulib-tool: fix tests of 'extensions' module
12691         This complements f8fe25fab60e3c687a124 commit.
12692         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
12693         emitting of initial gl_EARLY macros.
12694         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
12695         replaced with func_emit_pre_early_macros call.
12697 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12699         unicase/locale-language: fix typo in utf-8 cookie
12700         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
12701         Problem reported by Zbigniew Jędrzejewski-Szmek.
12703 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12705         xalloc: do not worry about GCC 5 warning on 32 bit
12706         * lib/xalloc.h: Revert previous change.
12707         I found a better way to fix this in coreutils.
12709 2015-10-02  Pádraig Brady  <P@draigBrady.com>
12711         xalloc: avoid GCC 5.1 warning on 32 bit
12712         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
12713         xalloc_oversized(), which was seen to give this warning
12714         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
12715         when simplifying conditional".
12717 2015-10-02  Daiki Ueno  <ueno@gnu.org>
12719         uniname/uniname-tests: avoid compiler warnings
12720         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
12721         unused local variables.
12722         (test_alias_lookup): Fix alias name display in failure cases.
12724 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12726         c-ctype: do not worry about EBCDIC + char signed
12727         Drop support for EBCDIC with char being signed, as this breaks too
12728         many programs.  Problem reported by Ben Pfaff in:
12729         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
12730         * lib/c-ctype.h: Verify that we are not using EBCDIC with
12731         char being signed.
12732         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
12733         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
12734         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
12735         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
12736         * tests/test-c-ctype.c (test_all):
12737         Simplify by assuming standard char values cannot be negative.
12738         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
12740 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12742         c-ctype: port better to z/OS EBCDIC
12743         Problems reported by Daniel Richard G. in:
12744         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
12745         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
12746         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
12747         (_C_CTYPE_OTHER_CNTRL): New macro.
12748         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
12749         from SCHAR_MIN, as the functions are defined only from values
12750         promoted from char or from unsigned char, not necessarily from
12751         signed char.
12753 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
12755         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
12757         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
12758         and ARFLAGS variables.  Doing this unconditionally could break
12759         later Automake's AM_PROG_AR invocation (at least it's
12760         AC_CHECK_TOOLS call to detect correct 'ar' binary).
12762         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
12763         Amsterdam Compiler Kit, so make the previous code to have effects
12764         only on ACK, and rather automatically call the Automake's
12765         AM_PROG_AR as soon as possible to decide other cases.
12767         References:
12768         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
12770         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
12771         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
12772         is possible, keep setting AR/ARFLAGS to reasonable defaults.
12773         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
12774         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
12775         'extensions' module is used.
12776         * modules/extensions (configure.ac-early): Remove as this snippet
12777         is added to gnulib-comp.m4 earlier anyway.
12779 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12781         sockets: MS Windows initalization fixes
12782         Problem reported by Test User in:
12783         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
12784         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
12785         Correct the endianness.
12786         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
12787         number mismatch, not just on <.  Cleanup before any such failure.
12789 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
12791         gc: fix detection of installed libgcrypt version
12792         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
12793         at least as recent as 1.4.4.  The previously used macro is not
12794         available now, since modules were removed in version 1.6.0.
12796 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
12798         c-ctype: rewrite to use inline functions
12799         This simplifies maintenance, since it makes for just one
12800         implementation of each function, letting the compiler have the fun
12801         of optimization.  In practice this works well nowadays with GCC.
12802         E.g., c_isascii might need only three instructions even though the
12803         source code lists every ASCII character individually in a large
12804         switch statement.
12805         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
12806         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
12807         * NEWS: Document the API change.
12808         * lib/c-ctype.c: Drastically simplify, since this now just expands
12809         inline functions.
12810         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
12811         (C_CTYPE_INLINE): New macro.
12812         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
12813         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
12814         Verify that either ASCII or EBCDIC is being used.
12815         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
12816         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
12817         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
12818         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
12819         New private macros.
12820         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
12821         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
12822         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
12823         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
12824         (c_tolower, c_toupper): When converting, return the unsigned char,
12825         as that is what z/OS does.
12826         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
12827         of some c-ctype.h macros.
12828         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
12829         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
12830         c_tolower promotion to be compatible with z/OS.
12832 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
12834         gitlog-to-changelog: trim only trailing whitespaces
12835         This is fix for --format regression introduced by commit
12836         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
12837         doubled %n string) had no effect anymore.  This format
12838         specification has been used e.g. by GNU paxuitils (commit
12839         edfd8bcc3).
12841         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
12842         newlines in commmit messages.
12844 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12846         Test that c_iscntrl agrees with iscntrl, etc.
12847         Suggested by Daniel Richard G. in:
12848         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
12849         * modules/c-ctype-tests (Depends-on): Add ctype.
12850         * tests/test-c-ctype.c: Include <ctype.h>.
12851         (NCHARS): New constant.
12852         (test_agree_with_C_locale): New function.
12853         (main): Use it.
12854         (test_all): Use named constants.
12856         c-ctype: improve c_isascii testing
12857         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
12858         Add a test to count the number of ASCII characters.
12860 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
12862         savewd: remove SAVEWD_CHDIR_READABLE
12863         It was problematic in the light of file systems that ignore umask.
12864         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
12865         * NEWS: Document this.
12866         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
12867         successful, -1 (setting errno) on failure, rather than something
12868         more complicated than that.
12869         * lib/mkdir-p.c (make_dir_parents):
12870         Do not use SAVEWD_CHDIR_READABLE.
12871         * lib/savewd.c (savewd_chdir):
12872         Remove support for SAVEWD_CHDIR_READABLE.
12873         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
12875         c-ctype: port better to EBCDIC
12876         Problems reported by Daniel Richard G. in
12877         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
12878         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
12879         Include "verify.h".
12880         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
12881         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
12882         Define as enum constants with value false, if not defined, so that
12883         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
12884         code more portable, as both branches of the 'if' are compiled on
12885         all platforms.
12886         (C_CTYPE_EBCDIC): New constant.
12887         Verify that the character set is either ASCII or EBCDIC.
12888         (to_char): New static function.
12889         (c_isascii, c_iscntrl):
12890         Assume standard control-character assignments for EBCDIC.
12891         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
12892         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
12893         Rewrite to use 'if' instead of 'ifdef'.
12894         Use to_char if non-ASCII.  Prefer <= to >=.
12895         Prefer true and false to 1 and 0, for booleans.
12896         (c_iscntrl): Use 'if', not 'ifdef'.
12897         * modules/c-ctype (Depends-on): Add verify.
12898         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
12899         (to_char): New function.
12900         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
12902 2015-09-21  Pádraig Brady  <P@draigBrady.com>
12904         nanosleep: fix return code for interrupted replacement
12905         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
12906         that we return -1 in the case the call is interrupted by a signal,
12907         rather than the current value of 1.
12908         Diagnosed and tested by Daniel Richard G.
12910 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
12912         Diagnose ERE '()|\1'
12913         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
12914         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
12915         track of the set of previously-completed subexpressions available
12916         before the first alternative, and restore this set just before
12917         parsing each subsequent alternative.  This lets us diagnose the
12918         invalid back-reference in the ERE '()|\1'.
12920         regex: merge patches from libc
12922         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
12923         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
12924         * lib/regex_internal.h:
12925         Include <libc-lock.h> instead of <bits/libc-lock.h>.
12927         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
12928         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
12929         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
12930         wcscoll.
12931         * lib/regexec.c (check_node_accept_bytes): Likewise.
12933         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12934         Fix regex wcrtomb namespace (bug 18496).
12935         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
12936         instead of wcrtomb.
12938         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
12939         Fix regex wctype namespace (bug 18495).
12940         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
12941         instead of towlower.
12942         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
12943         instead of iswlower.  Call __towupper instead of towupper.
12944         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
12945         instead of iswalnum.
12947         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
12948         * lib/regcomp.c (parse_bracket_exp): Initialize type to
12949         COLL_SYM in a couple of places to avoid uninitialized variable
12950         wanings on tilegx gcc 4.8.2.
12952         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
12953         * lib/regex_internal.h: Remove NOT_IN_libc.
12955         2014-11-17  Andreas Schwab  <schwab@suse.de>
12956         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
12958         2014-09-11  Roland McGrath  <roland@hack.frob.com>
12959         Move findidx nested functions to top-level.
12960         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
12961         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
12962         Pass new arguments to findidx.
12963         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
12964         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
12965         Don't #include it inside the function.  Pass new arguments to findidx.
12966         * lib/regex_internal.h:
12967         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
12968         (re_string_elem_size_at): Don't #include it inside the function.
12969         Pass new arguments to findidx.
12971         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
12972         Check if DEBUG is defined in regex_internal.c
12973         * lib/regex_internal.c: Check if DEBUG is defined and is set.
12975 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
12977         ceill: detect buggy OpenBSD implementation
12978         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
12979         which returns zero for small values.  Discussed here:
12980         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
12982 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
12984         mountlist: add me_mntroot field on Linux machines
12985         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
12986         mount_entry so Linux machines based on /proc/self/mountinfo can
12987         distinguish between bind mounts and original mounts.  In reality bind
12988         mounts aren't treated differently than mountroot=/ mounts by the
12989         kernel, but the user often wants these bind mounts distinguished.
12990         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
12991         More details at https://pad.lv/1432871
12993 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
12995         doc: Describe to use multiple instances of gnulib
12996         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
12997         instances of gnulib with different modules can be used, for example one
12998         for a lib and another one for associated tools.
13000 2015-09-01  Pádraig Brady  <P@draigBrady.com>
13002         base32: mark function as __attribute__ const
13003         * lib/base32.h (isbase32): Mark __attribute__ const as
13004         suggested by GCC, and consistent with the base64 module.
13006 2015-08-20  Daiki Ueno  <ueno@gnu.org>
13008         gnulib-tool: don't transform binary files with sed
13009         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
13010         .mo and .class files.
13011         Reported by Denis Denisov.
13013 2015-08-10  Daiki Ueno  <ueno@gnu.org>
13015         gperf: respect silent rules
13016         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
13017         V_GPERF_0 for silent rules.
13018         * modules/iconv_open (Makefile.am): Use V_GPERF.
13019         * modules/unicase/locale-language (Makefile.am): Likewise.
13020         * modules/unicase/special-casing (Makefile.am): Likewise.
13021         * modules/unictype/category-byname (Makefile.am): Likewise.
13022         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
13023         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
13024         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
13025         * modules/unictype/property-byname (Makefile.am): Likewise.
13026         * modules/unictype/scripts (Makefile.am): Likewise.
13027         * modules/uninorm/composition (Makefile.am): Likewise.
13029 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
13031         Improve port of stdalign to C++11
13032         Problem reported by Sundaram in:
13033         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
13034         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
13035         (__alignas_is_defined): Define if C++11 or newer.
13037 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
13039         pmccabe2html: fix gawk regex escaping
13040         * build-aux/pmccabe2html: Add one more backslash to properly
13041         escape the gsub replacement value.  Fixes this error:
13042         gawk: ./build-aux/pmccabe2html:425: \
13043         warning: escape sequence `\&' treated as plain `&'
13045 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
13047         time_rz: port to pedantic memcpy
13048         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
13049         that reject memcpy (..., NULL, 0).
13051 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
13053         time_rz: port better to MinGW
13054         Don't change tzname, as this makes MinGW dump core (Bug#21020).
13055         Instead, store the tzname copy in the struct tm_zone object.
13056         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
13057         * lib/strftime.c [!_LIBC]:
13058         * lib/time_rz.c: Include time-internal.h.
13059         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
13060         name from *TZ rather than from TZNAME, doable because *TZ now has
13061         a tzname_copy member.
13062         * lib/time-internal.h: New file, with contents taken from
13063         lib/time_rz.c.  It's separate because strftime.c now accesses
13064         struct tm_zone members.
13065         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13066         New member tzname_copy.
13067         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
13068         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
13069         Initialize tzname_copy member.
13070         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
13071         in tzname_copy member.
13072         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
13073         (restore_tzname): Remove; no longer needed.  All calls removed.
13074         * modules/time_rz (Files): Add lib/time-internal.h.
13076         time: port __need_time_t to MinGW
13077         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
13078         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
13080 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13082         strftime: fix newly-introduced bug on Solaris
13083         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
13084         consistently at the start, rather than doing some of the setup at
13085         the start and some in the %Z format spec.  This is cleaner, and
13086         works better with time_rz on platforms like Solaris where struct
13087         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
13088         mktime_z and localtime_rz can mess up the tzname cache.
13090         test-strftime: test for Solaris bug
13091         * modules/strftime-tests (Depends-on): Add strerror.
13092         * tests/test-strftime.c: Include <errno.h>.
13093         (posixtm_test): New function, containing the old 'main'.
13094         (struct tzalloc_test, struct localtime_rz_test): New types.
13095         (TZ, LT): New static vars.
13096         (tzalloc_test): New function.
13097         (main): Rewrite in terms of posixtm_test and tzalloc_test.
13099         time_rz: port to Solaris etc.
13100         Works around a tzname problem on platforms like Solaris that have
13101         tzname but not tm_zone, by setting tzname at the appropriate time
13102         and restoring it later.
13103         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
13104         New static vars.
13105         (save_abbr) [HAVE_TZNAME]: Set them.
13106         (revert_tz) [HAVE_TZNAME]: Clear or use them.
13107         (restore_tzname): New function.
13108         (localtime_rz, mktime_z): Use it.
13110         time_rz: now LGPL
13111         * modules/time_rz (License): Now LGPL, because strftime depends on it.
13113         time_rz: make a constant 'const'
13114         * lib/time_rz.c (local_tz): Now const.
13116         time_rz: fix off-by-one typo
13117         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
13119 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
13121         fprintftime, strftime: use timezone_t args
13122         * NEWS: Document the change.
13123         * lib/fprintftime.h (fprintftime):
13124         * lib/strftime.c (extra_args) [my_strftime]:
13125         * lib/strftime.h (nstrftime):
13126         Time zone arg is now of type timezone_t, not int.
13127         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
13128         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
13129         (my_strftime) [emacs && !my_strftime]:
13130         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
13131         Remove; Emacs doesn't need this any more.
13132         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
13133         fprintftime and nstrftime to call tzset.
13134         (ut) [!my_strftime]: Remove, replacing with ...
13135         (tz) [!my_stftime]: ... this new macro.  All uses changed.
13136         (strftime_case_): Use localtime_rz and mktime_z instead
13137         of localtime_r and mktime.
13138         * modules/fprintftime (Depends-on): Add time_rz.
13139         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
13140         * tests/test-strftime.c (main): Adjust to new nstrftime API.
13142         time_rz: new module
13143         * MODULES.html.sh: Add time_rz.
13144         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
13145         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
13146         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
13147         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
13148         New var HAVE_TIMEZONE_T (default 0).
13149         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
13150         New var GNULIB_TIME_RZ (default 0).
13151         * modules/time (time.h): Substitute the new vars.
13153         flexmember: license is now unlimited
13154         * modules/flexmember (License): Change to unlimited,
13155         since its only source file gives an unlimited license.
13157 2015-07-15  Eric Blake  <eblake@redhat.com>
13159         maint: update copyright paper procedures
13160         * config/srclist.txt: Drop outdated files.
13161         * doc/Copyright/conditions.txt: Update to latest.
13162         * doc/Copyright/assign.changes.manual: Delete.
13163         * doc/Copyright/assign.future.manual: Likewise.
13164         * doc/Copyright/assign.manual: Likewise.
13165         * doc/Copyright/assign.translation.manual: Likewise.
13166         * doc/Copyright/disclaim.changes.manual: Likewise.
13167         * doc/Copyright/disclaim.manual: Likewise.
13168         * doc/Copyright/disclaim.program: Likewise.
13170 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13172         localename: fix link error on Illumos
13173         Illumos defines __sun, but does not have getlocalename_l nor the
13174         equivalent.  This partially reverts commit 387c214.
13175         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
13176         available, as well as uselocale.
13177         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
13178         use getlocalename_l if it is not available.
13180 2015-07-07  Daiki Ueno  <ueno@gnu.org>
13182         unistr/uN-strtok-tests: avoid a trivial leak
13183         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
13184         input and delim after the multibyte delimiter tests.
13186 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
13188         file-has-acl, acl-permissions: fix HP-UX typos
13189         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
13190         * lib/file-has-acl.c (file_has_acl):
13191         * lib/set-permissions.c (context_acl_from_mode)
13192         (context_aclv_from_mode, set_acls):
13193         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
13194         They were introduced by the recent ACL changes.
13196         regex: match current GNU grep behavior
13197         These symbols have not matched GNU grep behavior for quite some time.
13198         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
13199         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
13200         Change to match current GNU behavior.
13201         Simplify by expressing it as differences from POSIX BREs and EREs.
13202         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
13204 2015-07-03  Jim Meyering  <meyering@fb.com>
13206         set-permissions.c: adjust acl_from_mode's cpp guard
13207         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
13208         directives identical to those guarding the sole use.
13209         Otherwise, on some systems, we'd get a warning about
13210         the function being defined but not used.
13211         Also, filter through cppi to correct misleading indentation
13212         of cpp directives.
13214 2015-07-03  Pádraig Brady  <P@draigBrady.com>
13216         tests: restrict shells to those that support 'local'
13217         The local keyword is very widely supported and used
13218         in tests in coreutils and grep at least.  Therefore
13219         restrict to testing with shells that support it.
13220         This mainly excludes /bin/sh on Solaris.
13221         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
13223 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
13224         and Daiki Ueno  <ueno@gnu.org>
13226         unistr/uN-strtok: handle multibyte delimiters
13227         Previously, uN_strtok moved PTR to the next unit to the token end.
13228         When DELIM contained a multibyte character, the new position could
13229         be a middle of a multibyte character.
13230         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
13231         after the token.
13232         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
13233         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
13234         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
13235         * modules/unistr/u8-strtok (Depends-on): Depend on
13236         unistr/u8-strmblen.
13237         * modules/unistr/u16-strtok (Depends-on): Depend on
13238         unistr/u16-strmblen.
13239         * modules/unistr/u32-strtok (Depends-on): Depend on
13240         unistr/u32-strmblen.
13241         * tests/unistr/test-u-strtok.h: New file.
13242         * tests/unistr/test-u8-strtok.c: New file.
13243         * tests/unistr/test-u16-strtok.c: New file.
13244         * tests/unistr/test-u32-strtok.c: New file.
13245         * modules/unistr/u8-strtok-tests: New file.
13246         * modules/unistr/u32-strtok-tests: New file.
13247         * modules/unistr/u16-strtok-tests: New file.
13249 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
13251         update-copyright: fix test failure with perl >= 5.22 (trivial)
13252         * build-aux/update-copyright: Escape a literal left curly bracket,
13253         required with perl >= 5.22
13255 2015-07-02  Daiki Ueno  <ueno@gnu.org>
13257         u{16,32}-strstr-tests: relax timeout condition
13258         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
13259         tests can take longer than 5 seconds to complete.
13260         Reported by Dagobert Michelsen in:
13261         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
13262         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
13263         seconds to 10 seconds.
13264         * tests/unistr/test-u32-strstr.c (main): Likewise.
13266 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13268         gnulib-common.m4: change the ARFLAGS default to 'cr'
13269         In some GNU/Linux distributions people started to compile 'ar'
13270         binary with --enable-deterministic-archives (binutils project).
13271         That, however, in combination with previous autotools long time
13272         working default AR{_,}FLAGS=cru causes warnings on such
13273         installations:
13274         ar: `u' modifier ignored since `D' is the default (see `U')
13275         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
13276         set already.
13278 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
13280         selinux-h: avoid double free after *getfilecon()
13281         Originally reported by Ben Shelton on bug-tar:
13282         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
13283         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
13284         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
13285         param should be freed by freecon(3) (regardless the return value).
13287 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
13289         fix pty related tests issues on Windows (trivial)
13290         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
13291         however it's still present in tests/ subdirectory of the final project.
13292         Therefore avoid it to pass `make check`.
13293         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
13294         will just return -ENOSYS, so avoid this non applicable test allowing
13295         the build to proceed.
13297 2015-07-01  Pádraig Brady  <P@draigBrady.com>
13299         acl: fix definition of acl_from_mode on FreeBSD
13300         This was causing basic coreutils copy operations to fail
13301         with ENOTSUP or ENOENT error messages.
13302         * lib/acl-internal.h (acl_from_mode): Only define when
13303         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
13304         of acl_from_mode() defined in lib/set-permissions.c to
13305         be used on FreeBSD at least.
13306         * lib/set-permissions.c: Fix up comment spelling,
13307         and a redundant variable assignment; noticed in passing.
13309 2015-06-30  Pádraig Brady  <P@draigBrady.com>
13311         readutmp: port to FreeBSD >= 9
13312         * lib/readutmp.h: Map utmpxname() to setutxdb().
13313         With that coreutils who(1) and pinky(1) tests pass.
13315 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13317         mgetgroups: port to strict OS X
13318         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
13319         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
13320         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
13321         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
13323 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
13325         mgetgroups: port to strict OS X
13326         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
13327         Document the getgrouplist problem.
13328         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
13329         New macro.
13330         (mgetgroups): Use it.
13331         * m4/mgetgroups.m4 (gl_MGETGROUPS):
13332         Check for OS X signature for getgrouplist.
13334 2015-06-29  Jim Meyering  <meyering@fb.com>
13336         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
13337         It started like this when building coreutils' latest on OS X,
13338         invoking ./configure with a nonempty --cache=.cache:
13340           lib/linkat.c:46:42: error: operator '||' has no right operand
13341           lib/linkat.c: In function 'rpl_linkat':
13342           lib/linkat.c:330:27: error: #if with no expression
13344         Here's linkat.c's line 46:
13346           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
13348         Here's some context:
13350           $ grep linkat_nofoll .cache
13351           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
13352           $ grep LINKAT_SYM lib/config.h
13353           #define LINKAT_SYMLINK_NOTSUP
13355         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
13356         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
13357         but that violates a tenet of AC_CACHE_CHECK: it must
13358         have no side effect other than setting its cache variable.
13360         What happens is that when the cache is set, we'd skip the
13361         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
13362         defined to whatever value it happened to have in configure's
13363         environment.  In my case, it was not defined, so this later code:
13365           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
13366             [Define to 1 if linkat can create hardlinks to symlinks])
13368         would emit code with an empty RHS.
13370         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
13371         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
13373 2015-06-28  Jim Meyering  <meyering@fb.com>
13375         mountlist: avoid an unused-label warning on OS X
13376         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
13377         Building on OS X, I saw a warning about the "free_then_fail" label
13378         being unused.  Give it the _GL_UNUSED_LABEL attribute.
13380         error.c: correct printf-style format: %d -> %u
13381         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
13382         rather than %d, to match the type of "line_number", unsigned int.
13384 2015-06-25  Pádraig Brady  <P@draigBrady.com>
13386         fts: avoid reading beyond the heap allocation
13387         GCC 5.1.1 with -O2 and -fsanitize=address reports
13388         a read of size 4 from a heap object of size 3 is indeed invalid,
13389         though this may be due to incorrect padding assumptions by GCC, see:
13390         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
13391         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
13392         * modules/fts: Depend on stdalign.
13394 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13396         savedir: avoid undefined behavior in qsort call
13397         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13398         "runtime error: null pointer passed as argument 1,
13399          which is declared to never be null"
13400         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
13402 2015-06-24  Pádraig Brady  <P@draigBrady.com>
13404         userspec: avoid undefined behavior in gettext call
13405         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
13406         "runtime error: null pointer passed as argument 2,
13407          which is declared to never be null"
13408         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
13410 2015-06-20  Glenn Morris  <rgm@gnu.org>
13412         gitlog-to-changelog: improve gitmerge.el commits
13413         Let the Emacs ChangeLog generation process exclude "skipped"
13414         messages from merge commits (Bug#20717).
13415         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
13417 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13419         wchar: fix MinGW compilation warnings
13420         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
13421         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
13422         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
13424 2015-06-20  Daiki Ueno  <ueno@gnu.org>
13426         uniname/uniname-tests: use pristine data files
13427         For copyright and maintenance reasons, use the data files from UCD
13428         without modification.
13429         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
13430         (getfield): Remove.
13431         (aliases_count): New global variable.
13432         (fill_names): Skip comments and empty lines in the input.  Don't
13433         use getfield.
13434         (fill_aliases): Likewise.
13435         (main): Change the expected command line arguments to:
13436         NAMES... ["--" ALIASES...].
13437         * tests/uniname/test-uninames.sh: Adjust to the change in
13438         test-uninames.c.
13439         * tests/uniname/UnicodeDataNames.txt: Remove.
13440         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
13441         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
13442         file from Unicode 8.0.0.
13444 2015-06-19  Pádraig Brady  <P@draigBrady.com>
13446         linked-list, linkedhash-list: avoid compiler warnings
13447         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
13448         -Werror=suggest-attribute=pure (from GCC 5.1.1).
13450 2015-06-19  Daiki Ueno  <ueno@gnu.org>
13452         libunistring: bump minimum version to 0.9.6
13453         * all modules depending on updated Unicode data: Regenerate.
13454         The modules are listed by a script that does:
13455         - for each file listed by: git show --oneline --name-only 705f4efc
13456           - deduce the containing modules, based on "Files:"
13457         - deduce the modules which depend on the containing modules, based
13458           on "Depends-on:"
13460 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13462         uniname/uniname: update to Unicode 8.0.0
13463         * lib/uniname/uninames.h: Regenerate.
13464         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
13465         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
13467 2015-06-18  Daiki Ueno  <ueno@gnu.org>
13469         libunistring: update to Unicode 8.0.0
13470         * lib/gen-uni-tables.c (SIZEOF): New macro.
13471         (output_numeric): Increase the maximum number of fractions from
13472         128 to 160.  Increase the level3 value width from 7 bits to 8
13473         bits.  Use SIZEOF instead of a hard-coded integer.
13474         (output_blocks): Decrease the cut-off threshold from 0x30000 to
13475         0x28000.
13476         (fill_blocks): Increase the maximum number of blocks from 256 to
13477         384.  Use SIZEOF instead of a hard-coded integer.
13478         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
13479         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
13480         value width.
13481         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
13482         a new case added to LBP22.
13483         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
13484         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
13485         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
13486         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
13487         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
13488         * tests/uniwidth/test-uc_width2.sh: Same updates as in
13489         lib/uniwidth/width.c.
13490         * all generated files under lib/uni* and tests/uni*: Regenerate.
13492 2015-06-16  Pádraig Brady  <P@draigBrady.com>
13494         gnu-web-doc-update: add --mirror to remove stale files
13495         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
13496         out of date files from the CVS server.  Since this is usually
13497         appropriate, a prompt is given when the option is not specified,
13498         along with the `cvs remove` command that would be run.
13500 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13502         acl-permissions: pacify -Wsuggest-attribute=const
13503         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
13504         * lib/acl-internal.h (free_permission_context):
13505         Declare with attribute const if ! (defined USE_ACL &&
13506         (HAVE_ACL_GET_FILE || defined GETACL)).
13508         fsync: document AIX misbehavior
13509         * doc/posix-functions/fsync.texi (fsync):
13510         Document failure on AIX with read-only file descriptor.
13512 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
13514         stdio: Don't redefine gets when using C++
13515         * lib/stdio.in.h (gets): Disable warning on C++.
13517 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
13519         acl-permissions: port to AIX, C89 HP-UX
13520         Problems reported by Michael Felt.
13521         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
13522         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
13523         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
13524         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
13525         Add cast for AIX, whose system calls are declared to accept
13526         char * even though the arguments are really char const *.
13527         * lib/get-permissions.c (get_permissions):
13528         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
13529         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
13530         that broke a build.
13531         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
13532         Rework types to pacify xlc.
13534 2015-06-03  Pádraig Brady  <P@draigBrady.com>
13536         vasprintf-posix: avoid compiling vasnprintf where possible
13537         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
13538         module where not required.  For example on a GNU/Linux system
13539         when gnulib-tool is run with the --conditional-dependencies option.
13541 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13543         file-has-acl: fix build on Mac OS X 10
13544         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
13545         which has an incompatible 6 parameter getxattr() call.
13546         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
13547         call on Mac OS X >= 10.4.
13548         * doc/glibc-functions/fgetxattr.texi: Likewise.
13549         * lib/file-has-acl.c: Revert to more complete combined check.
13550         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
13551         Reported by Jack Howarth.
13553 2015-06-02  Pádraig Brady  <P@draigBrady.com>
13555         prefix-gnulib-mk: remove no longer needed special case
13556         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
13557         continued lib_SOURCES lines are no longer present,
13558         so special case handling of such entries is not required.
13560 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13562         acl: don't depend on the deprecated qacl module
13563         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
13565 2015-06-01  Pádraig Brady  <P@draigBrady.com>
13567         gnulib-tool: concatenate lib_SOURCES to a single line
13568         * gnulib-tool: Refactor the line merging sed logic,
13569         and use that to output a single lib_SOURCES line for each module.
13570         gnulib using projects often postprocess this output to prepend
13571         subdir paths to each item, and having a single line simplifies this
13572         processing allowing better decoupling from the gnulib-tool output.
13574 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
13576         pthread_sigmask: discount system version if a simple macro (trivial)
13577         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
13578         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
13579         function to ensure it's available.
13581 2015-05-31  Pádraig Brady  <P@draigBrady.com>
13583         readlinkat: avoid OS X 10.10 trailing slash bug
13584         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
13585         has this bug.
13586         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
13587         that OS X 10.10 has this function.
13588         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
13589         as done for readlink().
13590         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
13591         trailing slash bug, and assume readlinkat() has the same issue.
13592         Also fix a typo where $gl_cv_decl_readlink_works was tested,
13593         rather than the correct $gl_cv_decl_readlinkat_works.
13595 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13597         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
13598         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
13599         module rewrite.
13601         acl-permissions: Fix build on Solaris and Cygwin
13602         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
13603         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
13604         ace_entries variables have moved into struct permission_context but
13605         they were still accessed as local variables here.
13607 2015-05-29  Pádraig Brady  <P@draigBrady.com>
13609         linkat: avoid OS X 10.10 trailing slash with symlink bug
13610         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
13611         causes the symlink to be dereferenced, and if it points
13612         to a non existent file, that file will be created as
13613         a hard link to "path1".
13614         This fixes a test failure in test-linkat.c.
13615         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
13616         this case.  The existing workaround in linkat.c for
13617         trailing slash issues, suffices for this case.
13618         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
13619         the list of platforms with trailing slash issues.
13621 2015-05-28  Pádraig Brady  <P@draigBrady.com>
13623         unlinkat: handle ignoring of ".." on Darwin 14
13624         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
13625         on Mac OS X 10.10, where it ignores paths with a trailing "..",
13626         so handle in the same manner.
13627         * m4/unlinkat.m4: Comment on this Darwin issue.
13628         * doc/posix-functions/unlink.texi: Update the latest version
13629         where the issue was seen.
13630         * doc/posix-functions/unlinkat.texi: Mention this issue.
13631         Fixes a test failure in test-unlinkat.c.
13633 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13635         qacl: split into qcopy-acl and qset-acl
13636         Emacs needs the former, but not the latter.
13637         * modules/acl-permissions: New file, containing most of the old qacl.
13638         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
13639         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
13640         * modules/qcopy-acl, modules/qset-acl: New files.
13641         * MODULES.html.sh (File system functions):
13642         Mention the new modules, and mention qacl while we're at it.
13644 2015-05-27  Glenn Morris  <rgm@gnu.org>
13646         gitlog-to-changelog: new option --ignore-line
13647         (This patch is imported from the GNU Emacs master.)
13648         This option ignores individual commit lines matching a pattern.
13649         * build-aux/gitlog-to-changelog: Add --ignore-line option.
13651 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
13653         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
13654         Implement get_permissions and set_permissions primitives for getting all
13655         the permissions of a file, storing them, and later setting them. (In the
13656         minimal case, the permissions consist only of a file mode.) Reimplement
13657         qset_acl and qcopy_acl based on these new primitives: this avoids code
13658         duplication and makes error handling more consistent.
13659         The Solaris and Cygwin code still uses duplicate code paths for setting
13660         a file mode while making sure that no acls exist and setting an explicit
13661         acl; this is no worse than before, but could be cleaned up.  The AIX
13662         code still doesn't read ACLs, it only makes sure that acls don't get in
13663         the way when setting a file mode.
13664         * lib/acl-internal.h (struct permission_context): New data structure.
13665         (get_permissions, set_permissions, free_permission_context): Declare.
13666         * lib/acl-internal.c (free_permission_context): New helper function.
13667         * lib/get-permissions.c (get_permissions): New helper function split off
13668         from qcopy_acl.
13669         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
13670         AIX, set a file's permissions based only on a file mode.
13671         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
13672         other platforms construct a temporary acl from the file mode and set
13673         that acl in the same way as setting an acl read from the source file.
13674         This should help avoid code duplication and inconsistent / buggy
13675         behavior.
13676         (set_acls): New helper function Split off from qcopy_acl.
13677         (chmod_or_fchmod): Moved here from qset-acl.c.
13678         (set_permissions): New helper function.
13679         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
13680         set_permissions.
13681         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
13682         * modules/qacl: Add get-permissions.c and set-permissions.c.
13684         file-has-acl: Split feature tests again (Bug#20667)
13685         * lib/file-has-acl.c: Instead of testing for
13686         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
13687         define them when needed.
13688         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
13689         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
13691 2015-05-27  Pádraig Brady  <P@draigBrady.com>
13693         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
13694         This avoids a conflict with "FORTIFY_SOURCE" variants
13695         of the string functions when they're replaced on NetBSD-6.0.1
13696         and Darwin-14.3.0 at least.
13697         * lib/string.in.h: Avoid including our "lib/string.h" while
13698         including the system <string.h>.
13700 2015-05-26  Eric Blake  <eblake@redhat.com>
13702         stdio: limit __gnu_printf__ witness to gcc 4.4+
13703         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
13704         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
13706         error: use correct printf attributes on mingw
13707         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
13709         inttypes: force correct mingw PRIdMAX even without <stdio.h>
13710         * modules/inttypes (Depends-on): Require extensions, so that mingw
13711         always uses GNU style inttypes.
13712         * lib/inttypes.in.h: On mingw, include <stdio.h>.
13714         stdio: fix probe on mingw under gcc 5.1
13715         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
13716         around new gcc preprocessor rules.
13718 2015-05-07  Glenn Morris  <rgm@gnu.org>
13720         gitlog-to-changelog: parse "Tiny-change"
13721         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
13722         "Copyright-paperwork-exempt".  (Bug#20324)
13724 2015-05-06  Pádraig Brady  <P@draigBrady.com>
13726         doc: document glibc posix_fallocate() issues
13727         * doc/posix-functions/posix_fallocate.texi: Mention the
13728         glibc efficiency problems and issues with NFS.
13730 2015-05-05  Karl Berry  <karl@freefriends.org>
13732         * build-aux/gendocs.sh (usage): document new css default
13733         for HTML (--htmlarg).
13735 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13737         extern-inline: no need for workaround in GCC 5.1
13738         * doc/extern-inline.texi (extern inline):
13739         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
13740         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
13741         around these bugs in GCC 5.1 and later.  Maybe in a decade or
13742         two we can remove these workarounds.
13744 2015-04-28  Pádraig Brady  <P@draigBrady.com>
13746         eealloc, pagealign_alloc, xalloc: avoid clang warnings
13747         Avoid [-Wunknown-attributes] warnings like:
13748         warning: unknown attribute '__alloc_size__' ignored
13749         * lib/xalloc.h: Don't use the __alloc_size__  attribute
13750         with clang, as support has been fully removed as of clang 3.5:
13751         https://github.com/llvm-mirror/clang/commit/c047507a
13752         * lib/eealloc.h: Likewise.
13753         * lib/pagealign_alloc.h: Likewise.
13755 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13757         tests: pacify GCC 5.1's stricter printf checking
13758         * tests/test-dirname.c (main):
13759         * tests/test-getaddrinfo.c (simple):
13760         * tests/test-getlogin.c (main):
13761         * tests/test-getndelim2.c (main):
13762         * tests/test-inttostr.c (CK):
13763         * tests/test-md5.c (main):
13764         * tests/test-read-file.c (main):
13765         * tests/test-sha1.c (main):
13766         Fix mismatches between printf format and value signedness.
13767         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
13768         Remove, as CAST_VAL always returned a value of type uintmax_t.
13770         fts: port to GCC 5.1 with --enable-gcc-warnings
13771         Without this fix, GCC 5.1 (correctly) warns about a subscript
13772         error on the fts_name component of FTSENT.  It's actually a
13773         flexible member, so define it that way on C99 or later hosts.
13774         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
13775         structure that now has a flexible array member.
13776         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
13777         (FTSENT): fts_name is now flexible on C99-or-later platforms.
13778         * modules/fts (Depends-on): Add flexmember.
13780 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
13782         file-has-acl: port to CentOS 6
13783         Problem reported by Tom G. Christensen in:
13784         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
13785         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
13786         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
13787         HAVE_GETXATTR.
13788         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
13789         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
13790         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
13791         file-has-acl.c actually needs.
13793 2015-04-26  Pádraig Brady  <P@draigBrady.com>
13795         file-has-acl: always return false when ACLs aren't supported
13796         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
13797         change the GNU/Linux getxattr path, to transform "not supported"
13798         errors to a false return rather than an error.  This is handled
13799         within file_has_acl() due to the platform specific tests to
13800         determine if ACLs are not supported.
13802 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
13804         gettext: propagate po/Makefile.in.in too
13805         * build-aux/po/Makefile.in.in: Copy from latest gettext.
13806         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
13807         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
13808         between Makefile.in.in and the gettext-runtime m4 files.
13810 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
13812         file-has-acl: new module, split from acl
13813         And add a new module file-has-acl-tests to match.
13814         I ran into a problem with the recent changes to the acl module,
13815         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
13816         When using the fixed version with Emacs, I discovered that
13817         file-has-acl wasn't separated out well enough for Emacs (e.g., it
13818         had multiple libraries, but needed only one), so I fixed that too.
13819         * NEWS: Document this incompatible change.
13820         * modules/file-has-acl, modules/file-has-acl-tests: New files.
13821         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
13822         Initialize gl_need_lib_has_acl.
13823         (gl_FUNC_ACL): Require it.
13824         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
13825         Move the file-has-acl.c-relevant stuff to ...
13826         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
13827         use_xattrs = 0' typo, and omit some needless work.  Set
13828         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
13829         when gl_FUNC_ACL is called.
13830         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
13831         (Link): Remove $(LIB_HAS_ACL).
13832         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
13833         (check_PROGRAMS): Move stuff relevant to file-has-acl to
13834         modules/file-has-acl-tests.
13835         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
13837         manywarnings: add GCC 5.1 warnings
13838         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
13839         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
13840         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
13841         -Wsuggest-override, -Wuse-without-only.  Change
13842         -Wnormalized=... operands to match 5.1.
13843         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
13844         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
13845         -Wdiscarded-qualifiers, -Wformat-signedness,
13846         -Wincompatible-pointer-types, -Wint-conversion,
13847         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
13848         -Wshift-count-negative, -Wshift-count-overflow,
13849         -Wsizeof-array-argument, -Wsuggest-final-methods,
13850         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
13851         and add -Warray-bounds=2 as a special case.
13853 2015-04-21  Simon Josefsson  <simon@josefsson.org>
13855         doc: update FDL template to match FDL examples.
13856         * doc/alloca-opt.texi:
13857         * doc/alloca.texi:
13858         * doc/c-ctype.texi:
13859         * doc/c-strcase.texi:
13860         * doc/c-strcaseeq.texi:
13861         * doc/c-strcasestr.texi:
13862         * doc/c-strstr.texi:
13863         * doc/c-strtod.texi:
13864         * doc/c-strtold.texi:
13865         * doc/ctime.texi:
13866         * doc/error.texi:
13867         * doc/gcd.texi:
13868         * doc/gnulib-tool.texi:
13869         * doc/inet_ntoa.texi:
13870         * doc/intprops.texi:
13871         * doc/lib-symbol-visibility.texi:
13872         * doc/maintain.texi:
13873         * doc/parse-datetime.texi:
13874         * doc/quote.texi:
13875         * doc/regexprops-generic.texi:
13876         * doc/standards.texi: Remove spurious 'with' in FDL license
13877         template.
13879 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
13881         lstat: fix cross-compilation 'ln -s' problem
13882         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
13883         Have the test program call 'symlink' rather than a separate
13884         script run 'ln -s'; this is more likely to work in
13885         cross-compilation environments.  Reported by Pavel Fedin in:
13886         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
13888 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
13890         gendocs.sh: default to a common CSS style sheet for HTML output
13891         * build-aux/gendocs.sh (htmlarg): Change default value.
13893 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
13895         gnulib-tool: output bold attribute more portably
13896         * gnulib-tool (func_show_module_list): Change hexadecimal
13897         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
13898         encoded numbers as arguments to `printf' is not portable,
13899         and is not claimed by POSIX.  This is the case with FreeBSD.
13901 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
13903         qacl: Simplify HP-UX acl_nontrivial check
13904         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
13905         acl_nontrivial. Check if the acl has at most three entries instead (it must
13906         have exactly three entries according to the HP-UX documentation). Ignore
13907         uids and gids as long as an entry is either for a user (i.e., the owner),
13908         a group (i.e., the owning group), or others.
13909         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
13910         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
13912 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
13914         acl: On Linux, check for acls without libacl
13915         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
13916         library function to check for the presence of acls, avoiding a library.
13917         * lib/file-has-acl.c: Include xattr headers if we have them.
13918         (file_has_acl): On Linux, use getxattr().
13919         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
13920         file_has_acl(). Check for xattr headers and getxattr().
13922 2015-04-14  Ángel González  <keisial@gmail.com>
13924         tempname: avoid unused parameter warnings (trivial)
13925         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
13926         (try_nocreate): Likewise.
13928 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
13930         fseeko: fix build failure on NetBSD >= 6 (trivial)
13931         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
13932         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
13934 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
13936         gitlog-to-changelog: port to MS-Windows
13937         * build-aux/gitlog-to-changelog (git_dir_option):
13938         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
13939         MS-Windows Perl.  Reported by Eli Zaretskii in:
13940         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
13942 2015-04-07  Karl Berry  <karl@gnu.org>
13944         gendocs: new option --tex for passing args to texi2dvi.
13945         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
13946         (TEXI2DVI): cut to just command name.
13947         (usage): mention new option, and update copyright.
13948         <generate_tex>: use it.
13950 2015-04-07  Karl Berry  <karl@gnu.org>
13952         * config/srclistvars.sh (GETTEXT): new definition.
13953         * config/srclist.txt: use it for gettext .m4 files.
13954         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
13955         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
13956         and continuing into April.
13958 2015-04-07  Daiki Ueno  <ueno@gnu.org>
13960         uniname/uniname-tests: fix failure due to alias
13961         Reported by Jack Howarth in:
13962         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
13963         * tests/uniname/test-uninames.c (name_has_alias): New function.
13964         (test_inverse_lookup): Exclude character name with valid alias,
13965         from randomly generated character names.
13966         (main): Fill unicode_aliases before calling test functions.
13968 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
13970         hash: remove deprecated hash_insert0 function
13971         * lib/hash.h (hash_insert0): Remove deprecated function.
13972         * lib/hash.c (hash_insert0): Likewise.
13974 2015-04-02  Pádraig Brady  <P@draigBrady.com>
13976         mountlist: remove dependency on libmount
13977         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
13978         directly, rather than depending on libmount, which has many
13979         dependencies due to its dependence on libselinux, as detailed at:
13980         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
13981         Note we restrict this to __linux__ as that's probably where this
13982         interface will remain.  If ever porting, it would be best
13983         to first pull the makedev() wrapper from coreutils to a gnulib module.
13984         Note also we don't add a getline dependency to the mountlist module,
13985         as all Linux versions are sufficient.
13987 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
13989         stddef: port to pre-C11 GCC on x86
13990         On this platform, max_align_t should have an alignment of 8 even
13991         though the storage alignments of double, long, etc. max out at 4.
13992         Inspired by a comment of Andreas Schwab's here:
13993         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
13994         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
13995         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
13996         * tests/test-stddef.c: Test __alignof__ too, if available.
13998 2015-03-24  Pádraig Brady  <P@draigBrady.com>
14000         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
14001         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
14003 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
14005         yesno: make EOL optional in ENABLE_NLS case also (trival)
14006         * lib/yesno.c (yesno): Check for EOL before replacing.
14007         * tests/test-yesno.sh: Add a test case (test along with gettext).
14009 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
14011         fdopendir-tests: test it does not close its arg
14012         * tests/test-fdopendir.c (main): Test that fdopendir does not
14013         close its argument.  From a suggestion by David Grayson in:
14014         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
14016 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
14018         gitlog-to-changelog: trim trailing white space
14019         * build-aux/gitlog-to-changelog (main):
14020         Trim trailing white space from commit message lines.
14021         This is helpful for processing the GNU Emacs repository,
14022         which dates back to 1985 and contains a lot of such lines.
14024         gitlog-to-changelog: new option --ignore-matching
14025         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
14026         Support new option --ignore-matching=PAT, which ignores all
14027         commit messages whose first line matches PAT.
14029 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14031         fdopendir: port better to MinGW
14032         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
14033         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
14034         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
14035         * modules/fdopendir (Depends-on): Add dirfd.
14037 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
14039         fdopendir: fix typo in comment
14040         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
14042 2015-03-09  Eric Blake  <eblake@redhat.com>
14044         error: document all entry points provided
14045         * doc/glibc-functions/error_print_progname.texi
14046         (error_print_progname): Mention the error module.
14047         * doc/glibc-functions/error_at_line.texi (error_at_line):
14048         Likewise.
14049         * doc/glibc-functions/error_message_count.texi
14050         (error_message_count): Likewise.
14051         * doc/glibc-functions/error_one_per_line.texi
14052         (error_one_per_line): Likewise.
14054 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
14056         vasnprintf: pacify clang 3.5.0
14057         Problem reported by Werner Lemberg in:
14058         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
14059         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
14060         The casts aren't needed, since the characters in question are ASCII.
14062 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
14064         glob, etc.: port to MSVC v18 on MS-Windows 8.1
14065         * lib/dirent--.h (GNULIB_defined_opendir):
14066         * lib/dirent.in.h (GNULIB_defined_opendir)
14067         (GNULIB_defined_closedir):
14068         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
14069         #undef only if Gnulib defined it.
14071         poll: port to MSVC v18 on MS-Windows 8.1
14072         Problem reported by Gisle Vanem in:
14073         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
14074         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
14075         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
14076         Add sys_socket.
14078 2015-02-24  Pádraig Brady  <P@draigBrady.com>
14080         tests: support stderr verification with returns_()
14081         * tests/init.sh (returns_): Disable tracing for this wrapper
14082         function, so that stderr of the wrapped command is unchanged,
14083         allowing for verification of the contents.
14085 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
14087         passfd: avoid valgrind uninitalised data warning
14088         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
14089         to include just the fd we've initialized, rather than including
14090         the extra space used for alignment.
14092 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
14094         uniwbrk/u32-wordbreaks-tests: fix copyright
14095         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
14097         dup2: doc and test for Android bug
14098         Reported by Kevin Cernekee in:
14099         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
14100         * doc/posix-functions/dup2.texi (dup2): Document the bug.
14101         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
14103 2015-02-23  Kevin Cernekee  <cernekee@google.com>
14105         Replace dup2() on Android
14106         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
14107         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
14108         fails.  Using rpl_dup2() fixes this because it has an explicit test
14109         for this condition.
14111 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
14113         Android doesn't define RLIM_SAVED_*
14114         Portability problem reported by Kevin Cernekee in:
14115         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
14116         * doc/posix-headers/sys_resource.texi (sys/resource.h):
14117         Mention the portability problem.
14118         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
14119         Define if not defined.
14120         * m4/dup2.m4 (gl_FUNC_DUP2):
14121         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14122         Likewise.
14124 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14126         vasnprintf-posix-tests: use consistent test
14127         * tests/test-vasnprintf-posix.c (test_function):
14128         Use "<" in assert instead of "<=", for consistency with other tests.
14130 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14132         printf, isinf, etc.: noncanonical != NaN
14133         Do not require that isinf, printf, etc. treat noncanonical
14134         values as NaNs.  Instead, require only that they do not crash.
14135         Problem reported by Joseph Myers in:
14136         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
14137         * doc/posix-functions/dprintf.texi (dprintf):
14138         * doc/posix-functions/fprintf.texi (fprintf):
14139         * doc/posix-functions/isfinite.texi (isfinite):
14140         * doc/posix-functions/isinf.texi (isinf):
14141         * doc/posix-functions/isnan.texi (isnan):
14142         * doc/posix-functions/printf.texi (printf):
14143         * doc/posix-functions/snprintf.texi (snprintf):
14144         * doc/posix-functions/sprintf.texi (sprintf):
14145         * doc/posix-functions/vdprintf.texi (vdprintf):
14146         * doc/posix-functions/vfprintf.texi (vfprintf):
14147         * doc/posix-functions/vprintf.texi (vprintf):
14148         * doc/posix-functions/vsnprintf.texi (vsnprintf):
14149         * doc/posix-functions/vsprintf.texi (vsprintf):
14150         Document this.
14151         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
14152         * m4/isinf.m4 (gl_ISINFL_WORKS):
14153         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
14154         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
14155         * tests/test-isfinite.c (test_isfinitel):
14156         * tests/test-isinf.c (test_isinfl):
14157         * tests/test-isnan.c (test_long_double):
14158         * tests/test-isnanl.h (main):
14159         * tests/test-snprintf-posix.h (test_function):
14160         * tests/test-sprintf-posix.h (test_function):
14161         * tests/test-vasnprintf-posix.c (test_function):
14162         * tests/test-vasprintf-posix.c (test_function):
14163 o       Test only that noncanonical values do not cause crashes, not that
14164         they are treated as NaNs.  In some cases this means a larger
14165         output buffer is needed.
14167 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
14169         fts: remove redundant close() (trivial)
14170         * lib/fts.c (fts_read): Remove redundant call to close().
14171         Spotted by coverity.
14173 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14175         getdtablesize: port better for Android
14176         Problem reported by Kevin Cernekee in:
14177         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
14178         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
14179         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
14180         Instead, just use getrlimit, taking care to avoid Cygwin bug.
14182         poll: fixes for large fds
14183         * lib/poll.c (poll): Don't check directly for NFD too large.
14184         Don't rely on undefined behavior in FD_SET when an arg exceeds
14185         FD_SETSIZE.  Always set revents afterwards, even if to zero.
14186         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
14187         as that makes the test a bit stricter.
14189 2015-02-19  Kevin Cernekee  <cernekee@google.com>
14191         fcntl: Fix cross compiling
14192         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
14193         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
14195 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
14197         dup2, fcntl: cross-compile better for Android
14198         Problem reported by Kevin Cernekee in:
14199         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
14200         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
14201         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
14202         there's little need to cross-compile for older kernels nowadays.
14203         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
14204         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
14206 2015-02-18  Pádraig Brady  <P@draigBrady.com>
14208         getopt: don't crash on memory exhaustion
14209         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
14210         memory exhaustion.  In the _LIBC case we use alloca() as is
14211         already done in glibc, so we don't need to consider the separate
14212         error path in that awkward case.  Also fix a memory leak when
14213         ambiguous options are present.
14214         Reported by Tobias Stoeckmann
14216 2015-02-17  Mike Miller  <mtmiller@ieee.org>
14218         tempname: allow compilation with C++ (trivial)
14219         * lib/tempname.h [C++]: Specify extern "C" linkage.
14220         * lib/tempname.h (try_tempname):
14221         * lib/tempname.c (__try_tempname, __gen_tempname):
14222         Rename 'try' to 'tryfunc'.
14224 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
14226         dup2, fcntl: port to AIX
14227         * m4/dup2.m4 (gl_FUNC_DUP2):
14228         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14229         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
14230         The former works on AIX 7.1 but the latter does not.
14231         Also, this may work better with Android; see:
14232         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
14234 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
14236         getdtablesize, dup2, fcntl: port to Android
14237         Problem reported by Kevin Cernekee in:
14238         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
14239         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
14240         Mention that getdtablesize doesn't work on Android.
14241         * lib/getdtablesize.c: Use getrlimit substitute only if
14242         getdtablesize is declared.  This should suffice for Cygwin
14243         while not breaking Android.
14244         * m4/dup2.m4 (gl_FUNC_DUP2):
14245         * m4/fcntl.m4 (gl_FUNC_FCNTL):
14246         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
14247         standardized but the latter is not, and sysconf works on Android.
14248         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
14249         Also check that getdtablesize is declared.
14250         This removes the need for a special case for Android.
14252 2015-02-16  Kevin Cernekee  <cernekee@google.com>
14254         localename: Implement gl_locale_name_thread_unsafe for Android
14255         * lib/localename.c: Android API level >= 21 supports two hardcoded
14256         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
14257         the internal __locale_t struct.
14259 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
14261         fts: avoid crash when a cycle is added while traversing
14262         This could be triggered by auto-mounting a recursive bind mount.
14263         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
14264         * lib/fts.c (fts_read): Avoid removing the original hash table item
14265         when leaving a directory that caused a cycle, and preserve the FTS_DC
14266         flag.
14268 2015-02-16  Daiki Ueno  <ueno@gnu.org>
14270         uniname/uniname: support character alias
14271         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
14272         Generate one-way mapping from aliases to codepoints in the
14273         generated tables.  Special case variation selectors to reduce
14274         table size.
14275         * lib/uniname/uniname.c (unicode_character_name): Special case
14276         variation selectors.
14277         (unicode_name_character): Special case variation selectors and
14278         their aliases.
14279         * lib/uniname/uninames.h: Regenerate.
14280         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
14281         * modules/uniname/uniname-tests (Files): Add
14282         tests/uniname/NameAliases.txt.
14283         * tests/uniname/test-uninames.c: Mark as static.
14284         (ALIASLEN): Define.
14285         (struct unicode_alias): New struct.
14286         (unicode_aliases): New variable.
14287         (fill_aliases): New function.
14288         (test_alias_lookup): New test function.
14289         (main): Run the 'test_alias_lookup' test if the second argument is
14290         given.
14291         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
14292         second argument.
14294 2015-02-11  Kevin Cernekee  <cernekee@google.com>
14296         Fix FILE struct compatibility with Android API level >= 21
14297         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
14298         __sferror.  Recent versions of Bionic's stdio.h no longer define
14299         __sferror.
14300         * lib/fbufmode.c: Likewise.
14301         * lib/fflush.c: Likewise.
14302         * lib/fpurge.c: Likewise.
14303         * lib/freadable.c: Likewise.
14304         * lib/freadahead.c: Likewise.
14305         * lib/freading.c: Likewise.
14306         * lib/freadptr.c: Likewise.
14307         * lib/freadseek.c: Likewise.
14308         * lib/fseeko.c: Likewise.
14309         * lib/fseterr.c: Likewise.
14310         * lib/fwritable.c: Likewise.
14312         Assume unbroken ungetc() on Android
14313         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
14314         test case passed when running on an Android host, and the code
14315         hasn't really changed since 2009.
14317         getdtablesize: Fix Android build
14318         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
14319         versions have this symbol in the .so library (at least 32-bit
14320         platforms) but are missing the declaration in the header file,
14321         causing the m4 logic to guess incorrectly.
14323         localename: Fix Android build
14324         * modules/localename (Depends-on): Add langinfo.
14326         getugroups: Fix Android build
14327         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
14328         functions.
14330         euidaccess: Fix Android build
14331         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
14332         AT_EACCESS gets declared.
14334         linkat_nofollow: Add fallback case for cross compiling
14335         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
14337         net_if: Handle content-free <net/if.h> system headers
14338         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
14339         struct if_nameindex.  If not, enable the replacement header.
14341         signal_h: Fix Android build
14342         * lib/signal.in.h: Add Android to the list of platforms that declare
14343         pthread_sigmask() in <pthread.h> instead of <signal.h>.
14345         duplocale: Fix Android build of duplocale-tests
14346         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
14347         is included by test-duplocale.c (but not by duplocale.c).
14348         * modules/duplocale-tests (configure.ac): Check for monetary.h.
14349         * tests/test-duplocale.c: Skip test if monetary.h is absent.
14350         * doc/posix-headers/monetary.texi: Add Android to the list of
14351         platforms missing monetary.h.
14353 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14355         tests: avoid recent -Werror=unused-variable regression in test-locale
14356         * tests/test-locale.c (main): Reference the variable to avoid the
14357         "unused variable" warning.
14359 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14361         maint: various whitespace cleanups in tempname
14362         * lib/tempname.c: Normalize spacing and line length.
14363         * lib/tempname.h: Likewise.
14364         * modules/tempname: Likewise.
14366 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14368         tests: provide returns_() to simplify exit status checking
14369         * tests/init.sh (returns_): A new function for use in tests,
14370         to allow for easier checking of return values, where you expect
14371         a command to exit with failure status.  By checking for a particular
14372         exit code, you don't hide any crashes for example.
14374 2015-02-11  Pádraig Brady  <P@draigBrady.com>
14376         mountlist: only use libmount when specified
14377         There are currently many shared libs dependencies introduced by
14378         libmount with associated runtime and virt mem overhead.
14379         Therefore don't enable by default.
14380         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
14382 2015-02-08  Daiki Ueno  <ueno@gnu.org>
14384         uniname/unimame-tests: don't link with -lunistring
14385         * modules/uniname/uniname-tests (Makefile.am): Don't link against
14386         $(LIBUNISTRING).  Document the rationale why we need to
14387         conditionalize the test.
14389 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14391         fstrcmp: don't assume strlen < INT_MAX
14392         * lib/fstrcmp.c: Include stddef.h and stdint.h.
14393         (uintptr_t): Remove, as we're now assuming stdint.
14394         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
14395         Prefer ptrdiff_t to int when the value could exceed INT_MAX
14396         if the input string is long.
14397         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
14398         uintptr_t to size_t when the underlying value is a pointer casted
14399         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
14400         * modules/fstrcmp (Depends-on): Add stdint.
14402         diffseq: prefer ptrdiff_t to ssize_t
14403         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
14404         ptrdiff_t is the natural type for signed indexes.
14405         On a few older platforms, ssize_t is narrower than size_t.
14407         xalloc: fix typo that suppressed warnings
14408         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
14409         This typo, introduced a couple of years ago, mistakenly suppressed
14410         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
14411         -Wmissing-declarations warnings.
14413         full-read: fix license notice typo
14414         * lib/full-read.h: Remove a stray line in the license notice.
14415         Reported by Sam Ellis in: http://bugs.gnu.org/19808
14417         crypto/gc: fix a -Wswitch warning
14418         Reported by Bruce Korb in:
14419         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
14420         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
14422 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14424         gnulib-tool: fix handling of patch(1) diagnostics
14425         * gnulib-tool: Send diagnostics from patch(1) to stderr,
14426         as otherwise gnulib-tool will reparse that output and attempt
14427         to lookup modules.
14429 2015-02-03  Pádraig Brady  <P@draigBrady.com>
14431         bootstrap: exit immediately upon gnulib-tool failure
14432         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
14433         This was noticed when gnulib-tool exited early due to failure
14434         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
14435         but various confusing errors were then given as the build proceeded.
14437 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
14439         symlinkat: include all required header files
14440         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
14441         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
14442         Reported at https://savannah.gnu.org/bugs/index.php?44151
14443         and by Jack Howarth.
14445 2015-01-29  Pádraig Brady  <P@draigBrady.com>
14447         localename: support Solaris 12 and illumos
14448         * lib/localename.c (gl_locale_name_thread_unsafe): call
14449         getlocalename_l() on newer __sun platforms.
14450         Reported by Alexander Pyhalov.
14451         Fix suggested by Rich Burridge.
14453 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
14455         locale: fix tests on illumos (trivial)
14456         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
14457         so move from global scope to main().
14459 2015-01-24  Daiki Ueno  <ueno@gnu.org>
14461         unictype: avoid undefined left-shift behavior
14462         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
14463         gcc's -fsanitize=shift and running its tests triggered:
14464           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
14465             places cannot be represented in type 'int'
14466         Cast LHS to 'unsigned int' after integer promotion.
14467         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
14468         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
14470 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14472         libunistring: bump version of unitypes dependants
14473         Due to the header file search order, all the headers which depend
14474         on unitypes.h need to be generated, when the preinstalled
14475         libunistring is older.
14476         * modules/unicase/base (configure.ac): Bump minimum version to
14477         0.9.4.
14478         * modules/uniconv/base (configure.ac): Likewise.
14479         * modules/unilbrk/base (configure.ac): Likewise.
14480         * modules/uninorm/base (configure.ac): Likewise.
14481         * modules/unistdio/base (configure.ac): Likewise.
14482         * modules/unistr/base (configure.ac): Likewise.
14483         * modules/uniwbrk/base (configure.ac): Likewise.
14484         * modules/uniwidth/base (configure.ac): Likewise.
14486 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14488         unictype/category-none: fix link with libunistring
14489         Since _UC_CATEGORY_NONE is not a public symbol, it will be
14490         prefixed with "libstring_" when compiled as part of libunistring.
14491         To avoid undefined symbol at link time, increase the minimum
14492         version when the dependant modules are updated.
14493         * modules/unictype/category-none (configure.ac): Bump minimum
14494         version to 0.9.5.
14496 2015-01-20  Daiki Ueno  <ueno@gnu.org>
14498         unitypes: fix build with installed libunistring
14499         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
14500         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
14501         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
14503 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14505         time: port to MinGW32 3.21
14506         Problem reported by Eli Zaretskii in:
14507         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
14508         * lib/time.in.h:
14509         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
14510         * modules/time (Depends-on):
14511         Fall back on unistd.h if the other include files don't define
14512         struct timespec.
14514         update-copyright: apply to self
14515         * build-aux/update-copyright: Fix copyright date.  How ironic!
14517 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14519         libunistring: update to Unicode 7.0.0
14520         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
14521         Manichaean names.
14522         * lib/unictype/joininggroup_name.h: Likewise.
14523         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
14524         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
14525         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
14526         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
14527         (fill_arabicshaping, joining_group_as_c_identifier): Support those
14528         enum values.
14529         (is_property_alphabetic): Accept newly added characters to
14530         cuneiform numeric signs.
14531         (is_property_default_ignorable_code_point): Reject U+0605.
14532         (FIELDLEN): Increase from 120 to 160.
14533         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
14534         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
14535         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
14536         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
14537         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
14538         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
14539         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
14540         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
14541         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
14542         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
14543         U+1E8D0..U+1E8D6.
14544         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
14545         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14546         lib/uniwidth/width.c.
14547         * all generated files under lib/uni* and tests/uni*: Regenerate.
14549 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14551         libunistring: update to Unicode 6.3.0
14552         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14553         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
14554         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
14555         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
14556         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
14557         Update WB5, WB9, WB10, WB13a, and WB13b.
14558         * tests/uniwbrk/test-uc-wordbreaks.c
14559         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
14560         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14561         (UC_BIDI_PDI): New enumeration values.
14562         (bidi_category_byname): Support those enum values.
14563         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
14564         dedicated property assigned.
14565         (is_property_case_ignorable): Check 0x0027.
14566         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
14567         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14568         (output_wbp): Support those enum values.
14569         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
14570         (UC_BIDI_PDI): New enumeration values.
14571         * lib/unictype/bidi_byname.gperf: Add those property names.
14572         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
14573         U+180E, U+1A1B, and U+2066..U+2069.
14574         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14575         lib/uniwidth/width.c.
14576         * all generated files under lib/uni* and tests/uni*: Regenerate.
14578 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14580         libunistring: update to Unicode 6.2.0
14581         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
14582         (unilbrk_table): Adjust table size.
14583         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14584         for LBP_RI.
14585         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
14586         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
14587         Normalize table index skipping ignored properties.
14588         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
14589         WBP_EXTEND and WBP_FORMAT, which are now computed without using
14590         the table.
14591         * lib/uniwbrk/wbrktable.h: Adjust table size.
14592         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
14593         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
14594         Support rule GB8a.
14595         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
14596         * tests/unigbrk/test-uc-is-grapheme-break.c
14597         (graphemebreakproperty_to_string): Support GBP_RI.
14598         * tests/uniwbrk/test-uc-wordbreaks.c
14599         (wordbreakproperty_to_string): Support WBP_RI.
14600         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
14601         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
14602         (output_lbp): Support LBP_RI.  Adjust some characters changed from
14603         LBP_AL to LBP_ID.
14604         (output_lbp): Support LBP_RI.
14605         (WBP_RI): New enumeration value.
14606         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
14607         (output_wbp): Support WBP_RI.
14608         (GBP_RI): New enumeration value.
14609         (output_gbp_test, fill_org_gbp): Support GBP_RI.
14610         * all generated files under lib/uni* and tests/uni*: Regenerate.
14612 2015-01-14  Daiki Ueno  <ueno@gnu.org>
14614         libunistring: update to Unicode 6.1.0
14615         * lib/gen-uni-tables.c (output_joining_group): Switch to
14616         3-level table to accommodate joining groups defined with higher
14617         codepoint value.  Since there are only 88 groups defined in
14618         Unicode 7.0.0, use 7-bit packed format for level3 entries.
14619         (get_lbp): Update for Unicode 6.1.0.
14620         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
14621         3-level table.
14622         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
14623         joining group name.
14624         * lib/unictype/joininggroup_name.h: Likewise.
14625         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
14626         (unilbrk_table): Adjust table size.
14627         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
14628         for LBP_HL.
14629         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
14630         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
14631         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
14632         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
14633         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
14634         U+302E..U+302F.
14635         * tests/uniwidth/test-uc_width2.sh: Same updates as in
14636         lib/uniwidth/width.c.
14637         * all generated files under lib/uni* and tests/uni*: Regenerate.
14638         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
14640 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14642         uniwbrk/u32-wordbreaks-tests: add conformance test
14643         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
14644         tests/uniwbrk/test-uc-wordbreaks.c,
14645         tests/uniwbrk/test-uc-wordbreaks.sh, and
14646         tests/uniwbrk/WordBreakTest.txt.
14647         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
14648         test-uc-wordbreaks to $(check_PROGRAMS), and define
14649         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
14650         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
14651         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
14653 2015-01-15  Daiki Ueno  <ueno@gnu.org>
14655         uniwbrk: ignore Extended/Format characters at BOL not BOS
14656         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
14657         characters if the previous character property is one of
14658         WBP_NEWLINE, WBP_CR, and WBP_LF.
14660 2015-01-11  Jim Meyering  <meyering@fb.com>
14662         test-strstr.c: avoid a trivial leak
14663         * tests/test-strstr.c (main): Free haystack.
14665         update-copyright: recognize groff's \(co marker
14666         * build-aux/update-copyright (circle_c_re): Also accept
14667         uses of \(co, as found in gzip.1.
14669 2015-01-08  Pádraig Brady  <P@draigBrady.com>
14671         maint.mk: fix compatibility with OS X nm
14672         * top/maint.mk (_gl_tight_scope): Use the -g option to
14673         show exported items rather than the -e option which is
14674         ignored on all platforms except OS X where it gives an error.
14675         Reported by Assaf Gordon.
14677 2015-01-07  KO Myung-Hun  <komh@chollian.net>
14679         localcharset: improve charset detection on OS/2
14680         Use system codepage when appropriate.  Map OS/2 codepages to
14681         GNU canonical charset names if possible.
14682         * lib/config.charset: Don't output aliases if "$os" is os2*.
14683         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
14684         result for OS/2.
14685         (locale_charset) [OS2]: Use system codepage if codeset is omitted
14686         from the locale name which is neither "C" nor "POSIX".
14688 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
14690         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
14691         This reverts the last patch but one, as it shouldn't be needed now
14692         that the typo is fixed.
14693         * lib/count-leading-zeros.h (count_leading_zeros_ll):
14694         * lib/count-trailing-zeros.h:
14695         * lib/count-one-bits.h:
14696         Go back to using 64-bit intrinsics.
14698         count-leading-zeros: fix pragma typos
14699         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
14700         Fix typos in declaration of intrinsics when _MSC_VER.
14702 2015-01-06  Pádraig Brady  <P@draigBrady.com>
14704         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
14705         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
14706         intrinsics in this case.
14707         * lib/count-trailing-zeros.h: Likewise.
14708         * lib/count-one-bits.h: Likewise.
14710 2015-01-06  Daiki Ueno  <ueno@gnu.org>
14712         uniname/uniname: update to Unicode 7.0.0
14713         To accommodate new characters added since Unicode 5.1.0, this
14714         changes the internal representation of codepoint ranges.
14715         Previously, we grouped codepoint ranges by manually assigned 4-bit
14716         tag, which only allowed 16 groups.  This removes the limitation by
14717         switching to binary search on a table.  For the detail rationale
14718         and the benchmark results, see:
14719         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
14720         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
14721         to INDEX, as it no longer represents a codepoint.
14722         (range): New struct.
14723         (main): Switch to intervals list from a bit-pattern based
14724         classification.
14725         * lib/uniname/uninames.h: Regenerate.
14726         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
14727         * modules/uniname/base (configure.ac): Bump minimum version to
14728         0.9.5.
14729         * modules/uniname/uniname (configure.ac): Bump minimum version to
14730         0.9.5.
14732 2015-01-05  Eric Blake  <eblake@redhat.com>
14734         doc: update INSTALL from autoconf
14735         * doc/install.texi: Resync from autoconf.
14736         * doc/INSTALL: Reflect recent autoconf update.
14737         * doc/INSTALL.ISO: Likewise.
14738         * doc/INSTALL.UTF-8: Likewise.
14740         stdio: fix use of PRIdMAX on modern mingw
14741         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
14742         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
14743         to work with modern mingw.
14745 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
14747         pthread: detect git mingw builds with only partial pollution
14748         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
14749         pollution, as seen temporarily in Fedora 21.
14751 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14753         lib-symbol-versions: cache script check
14754         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
14755         Cache the check for linker version scripts.
14756         From a suggestion by Christophe Curis in:
14757         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
14759 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
14761         maint: fix grammar nits in propername (trivial change)
14762         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
14763         and use an adequate verb and tense.
14765 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
14767         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14768         * module/gendocs: Add 'doc/gendocs_template_min'.
14770         * build-aux/gendocs.sh: Change email addresses and upstream URLs
14771         from to Gnulib's.
14772         (scripturl, templateurl): Adjust accordingly.
14774 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14776         gendocs: copyright date and version fix
14777         Reported by Karl Berry in:
14778         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
14779         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
14780         Fix copyright date.
14781         * build-aux/gendocs.sh (scriptversion): Update.
14783 2015-01-01  Karl Berry  <karl@gnu.org>
14785         * doc/install.texi,
14786         * build-aux/mdate-sh,
14787         * build-aux/depcomp,
14788         * build-aux/config.guess,
14789         * build-aux/config.sub,
14790         * build-aux/ar-lib,
14791         * build-aux/compile: revert copyright updates (some from last
14792         year) in slaved files.
14794 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14796         version-etc: new year
14797         * doc/gnulib.texi:
14798         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
14799         * all files: Run 'make update-copyright'.
14801 2014-12-30  Pádraig Brady  <P@draigBrady.com>
14803         xstrtol: ensure errno is reset
14804         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
14805         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
14807         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
14809 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
14811         utimens: fix dependency typo
14812         * modules/utimens (Depends-on): Remove 'assure'.
14813         This bug was introduced in the recent 'assure' patch.
14815 2014-12-22  Eric Blake  <eblake@redhat.com>
14817         docs: mention why libgen.h is bad
14818         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
14820 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14822         assure: new module
14823         This works better than 'assert' when compiling with -DNDEBUG,
14824         as it avoids some compiler diagnostics in that case.
14825         Reported by Norihiro Tanaka in:
14826         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
14827         * MODULES.html.sh (func_all_modules): Add 'assure'.
14828         * lib/assure.h, modules/assure: New files.
14829         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
14830         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
14831         Prefer 'assure' to 'assert'.
14832         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
14833         * modules/chdir-long, modules/cycle-check, modules/fchdir:
14834         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
14835         Depend on 'assure'.
14837 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
14839         stdalign: port better to HP compilers
14840         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
14841         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
14843         stdalign: work around Apple GCC 4.0 bug
14844         Reported by David Fang in:
14845         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
14846         * lib/stdalign.in.h (_Alignas):
14847         * m4/stdalign.m4 (gl_STDALIGN_H):
14848         Do not use aligned attribute with GCC 4.0 on Apple.
14850 2014-12-16  Pádraig Brady  <P@draigBrady.com>
14852         getcwd: fix test failure on OS X 10.9
14853         * m4/getcwd-path-max.m4: Avoid the replacement if it
14854         won't be effective due to the PATH_MAX limitation of lstat().
14855         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
14856         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
14857         for this case for use in tests, and also exclude this
14858         case when setting REPLACE_GETCWD.
14859         * tests/test-getcwd.c (test_long_name): Restrict the
14860         tested path length so that lstat() will not be passed
14861         a path greater than PATH_MAX.
14862         Also key a test condition on HAVE_OPENAT_SUPPORT rather
14863         than AT_FDCWD, since the latter is set unconditionally
14864         since Sep 2009 in commit 52c658e9.
14866 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
14868         parse-datetime: avoid a compiler warning with byacc (trivial)
14869         * lib/parse-datetime.y (yylex): Use the same prototype in the
14870         function definition as the declaration, to avoid a -Wstrict-prototypes
14871         warning seen when using byacc.
14873 2014-12-12  Daiki Ueno  <ueno@gnu.org>
14875         unicase/locale-language-tests: fix LOCALE_FR test
14876         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
14877         a French locale with traditional encoding.
14878         Reported by umerqayam in:
14879         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
14881 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
14883         stddef: support C11's max_align_t
14884         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
14885         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
14886         Do not undef, as that might cause max_align_t to be defined twice.
14887         Instead, change use to check for _GL_STDDEF_WINT_T too.
14888         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
14889         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
14890         Check for max_align_t.
14891         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
14892         * modules/stddef-tests (Depends-on): Add stdalign.
14893         * tests/test-stddef.c: Test max_align_t.
14895 2014-12-11  Daiki Ueno  <ueno@gnu.org>
14897         unistd: fix iOS check conditional
14898         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
14899         as 0 or 1 in <TargetConditionals.h>, and the previous check always
14900         yielded true on non-iOS environment.
14901         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
14902         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
14903         they are defined.
14905 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
14907         posixtm: avoid compiler warning in a better way
14908         * lib/posixtm.c (IF_LINT): Remove.
14909         (year, posix_time_parse):
14910         Return true (not 0) if successful.  All callers changed.
14911         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
14913 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14915         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
14916         started with '/' on EMX.
14918 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
14920         freopen: workaround freopen() on OS/2 kLIBC
14921         * lib/freopen.c (rpl_freopen): Workaround.
14922         * m4/freopen.m4: Add os2* case.
14924         get_shared_library_fullname: port to EMX
14925         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
14926         on EMX, respectively.
14927         (_DLL_InitTerm): New on EMX.
14928         (get_shared_library_fullname): Implement on EMX.
14930         find_executable: port to EMX
14931         * lib/progreloc.c (find_executable): Implement on EMX.
14933         sched: check struct sched_param in spawn.h as well
14934         * lib/sched.in.h: Include spawn.h on kLIBC.
14935         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
14937 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
14939         bootstrap: Allow perl modules in $buildreq
14940         * build-aux/bootstrap: Add case for perl modules.
14942 2014-12-08  Pádraig Brady  <P@draigBrady.com>
14944         apply _GL_ATTRIBUTE_PURE to some inline functions
14945         clang 3.4.2 flagged these inline functions as pure
14946         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
14947         * lib/sig-handler.h (get_handler): Likewise.
14948         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
14949         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
14951 2014-12-06  Pádraig Brady  <P@draigBrady.com>
14953         vasnprintf: fix potential use after free
14954         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
14955         flagged by clang-analyzer 3.4.2.
14957 2014-12-05  Pádraig Brady  <P@draigBrady.com>
14959         filevercmp, posixtm: avoid compiler warnings with -O3
14960         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
14961         * lib/posixtm.c: (IF_LINT): Define.
14962         (posix_time_parse): Use it to void a "may be used uninitialized"
14963         warning, seen only with -O3.
14965 2014-12-05  Bruno Haible  <bruno@clisp.org>
14967         Fix LDBL80_WORDS macro on big endian platforms.
14968         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
14969         LDBL80_WORDS macro.
14970         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
14971         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
14972         * tests/test-isfinite.c (test_isfinitel): Likewise.
14973         * tests/test-isinf.c (test_isinfl): Likewise.
14974         * tests/test-isnan.c (test_long_double): Likewise.
14975         * tests/test-isnanl.h (main): Likewise.
14976         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
14977         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
14978         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
14979         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
14980         Reported by Pádraig Brady.
14982 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
14984         git-version-gen: do not print new line characters
14985         * build-aux/git-version-gen: Use printf instead of echo and tr.
14987         gnulib-tool: recognize x:* as an absolute path
14988         * gnulib-tool (func_gnulib_dir): Add ?:* case.
14989         (func_relconcat): Likewise.
14991 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
14993         argp: avoid extraneous translation and mem leak with empty pre doc
14994         * lib/argp-help.c (argp_doc): Never translate the empty string,
14995         when "\v" is the first or last character of the string, as that
14996         has a reserved meaning to return the header info from a po file.
14997         This also fixes a small memory leak in the !post case.
14998         The issue can be seen with this command for example:
14999         LC_MESSAGES=en_US grub2-mknetdir --help
15001 2014-11-27  Daiki Ueno  <ueno@gnu.org>
15003         uniname/uniname-tests: skip if system's libunistring is used
15004         * modules/uniname/uniname-tests (Makefile.am): Skip test if
15005         uniname/uniname module is not compiled.
15007 2014-11-27  Pádraig Brady  <P@draigBrady.com>
15009         printf: fix configure check on big endian systems
15010         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
15012 2014-11-22  Daiki Ueno  <ueno@gnu.org>
15014         pipe-filter-gi, pipe-filter-ii: port to AIX
15015         On AIX 7.1, 'select' is defined as static and cannot be referred
15016         to from inline function.
15017         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
15018         the definition...
15019         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
15020         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
15022 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
15024         gitlog-to-changelog: add --until
15025         * build-aux/gitlog-to-changelog: Support new --until option.
15026         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
15028 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
15030         extern-inline: update commentary about GCC bugs
15031         * m4/extern-inline.m4: Add another GCC bug number to comments.
15033 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15035         gen-uni-tables: untabify
15036         * lib/gen-uni-tables.c: Untabify.
15038 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15040         gen-uni-tables: check out-of-range values added to 3-level tables
15041         * lib/gen-uni-tables.c (output_category, output_bidi_category)
15042         (output_joining_type, output_ident_category): Check out-of-range
15043         values added to 3-level tables.
15045 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15047         gen-uni-tables: utilize 'assert'
15048         * lib/gen-uni-tables.c: Include <assert.h>.
15049         (output_category, output_combclass, output_decimal_digit_test)
15050         (output_decimal_digit, output_digit_test, output_digit)
15051         (output_numeric, get_mirror_value, fill_properties)
15052         (fill_property30, is_property_alphabetic)
15053         (is_property_default_ignorable_code_point)
15054         (is_property_uppercase, is_property_lowercase)
15055         (is_property_cased, is_property_case_ignorable)
15056         (is_property_changes_when_lowercased, is_property_iso_control)
15057         (is_property_math, fill_arabicshaping, output_joining_group)
15058         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
15059         (output_wbp, fill_org_gbp, get_decomposition)
15060         (output_decomposition, fill_composition_exclusions)
15061         (debug_output_composition_tables, output_composition_tables)
15062         (redistribute_casefolding_rules, output_casing_rules): Use
15063         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
15064         reporting.
15066 2014-11-13  Daiki Ueno  <ueno@gnu.org>
15068         gen-uni-tables: cosmetic improvements
15069         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
15070         variables specification.
15071         (is_outdigit): Remove unused function.
15073 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
15075         fcntl-h-tests: port to PA-RISC GNU/Linux
15076         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
15078 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15080         fts: port to C89
15081         Problem reported for MSVC 16 by Gisle Vanem in:
15082         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
15083         * lib/fts.c (fts_build): Avoid declaration before statement.
15085 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
15087         unistd: port to iOS
15088         Problem reported by André Klitzing in:
15089         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
15090         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
15092 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
15094         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
15095         Problem reported by Alan Modra in:
15096         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
15097         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
15098         Always cast the function arg, reverting this part of the previous
15099         change.
15101 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
15103         obstack: avoid potentially-nonportable function casts
15104         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
15105         Remove, replacing with ...
15106         (call_chunkfun, call_freefun): New static functions.
15107         All uses changed.  Avoid potentially-nonportable casts.
15108         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
15109         (_obstack_begin_worker): Omit last two args, since they
15110         rely on potentially-nonportable casts.  All callers changed.
15111         * lib/obstack.h (_OBSTACK_CAST): New macro.
15112         Use it everywhere the old API used a potentially-nonportable cast.
15113         The new API doesn't cast.
15114         (struct obstack): Use unions rather than requiring
15115         potentially-nonportable casts.
15116         (obstack_chunkfun, obstack_freefun): Return void.
15118 2014-11-03  Alan Modra  <amodra@gmail.com>
15120         obstack: fix macro return values
15121         * lib/obstack.h (obstack_next_free): Return void *.
15122         (obstack_1grow_fast, obstack_blank_fast): Return void.
15123         For __GNUC__ macros:
15124         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
15125         For !__GNUC__ macros:
15126         (obstack_make_room, obstack_grow, obstack_grow0)
15127         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
15129 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15131         obstack: do not assume system-supplied obstack is size_t safe
15132         * m4/obstack.m4: New file.
15133         * modules/obstack (Files): Add it.
15135         obstack: port to platforms that #define __alignof__
15136         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
15137         not if !_LIBC.  We don't know of any platforms that #define
15138         __alignof__, but it might be useful in tests.  Conversely,
15139         glibc assumes GCC.
15141 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15143         linkat: don't unconditionally replace on GNU/Linux
15144         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
15145         was redundant for a few reasons.  It was present to support compiling
15146         on new systems but running on the old narrow window of Linux 2.6.1[67].
15147         It setup and cleaned up test files which weren't actually used.
15148         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
15149         implicit in the following check.
15151 2014-11-03  Pádraig Brady  <P@draigBrady.com>
15153         linkat: wrap to handle symlinks on OS X 10.10
15154         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
15155         but not usable because it doesn't support creating hardlinks
15156         to symlinks.  Therefore add a generic test for this capability
15157         and fallback to our emulation if linkat() fails with ENOTSUP.
15159 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15161         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
15162         * doc/posix-functions/open.texi (open):
15163         * doc/posix-functions/openat.texi (openat):
15164         Document that these functions do not set errno to ELOOP when
15165         a symlink is opened with O_NOFOLLOW.
15167 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
15169         obstack: add NEWS entry for recent incompatible changes
15170         * NEWS: Describe recent changes.
15172 2014-10-30  Pádraig Brady  <P@draigBrady.com>
15174         mountlist: don't use libmount to decide on dummy/remote
15175         * lib/mountlist.c (read_file_system_list): Don't use the libmount
15176         routines to determine whether a file system is dummy or remote,
15177         as they're not currently compatible.  For example the remoteness
15178         is determined on file system type (for which the list seems incomplete),
15179         rather than simply checking for a ':' in the device name.
15180         Also libmount currently determines that 'tmpfs' is a dummy file system
15181         even though it has associated storage.
15183 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15185         obstack: prefer __alignof__ to alignof
15186         This is for portability to pre-4.7 GCC when compiling glibc.
15187         See Joseph S. Myers in:
15188         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
15189         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
15190         New macro, defined by including and using <alignof.h>.
15191         (MAX): New macro.
15192         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
15193         Do not use enums as they are not portable to some broken compilers.
15194         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
15196         obstack: prefer alignof to calculating alignments by hand
15197         * lib/obstack.c: Include <stdalign.h>.
15198         (struct fooalign): Remove.
15199         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
15200         * modules/obstack (Depends-on): Add stdalign.
15202 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
15204         obstack: use size_t alignments and check for overflow
15205         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
15206         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
15207         * lib/obstack.h (struct obstack.alignment_mask):
15208         Use _OBSTACK_SIZE_T, not int, for alignments.
15209         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
15210         overflows, e.g., when adding the alignment.
15212 2014-10-29  Alan Modra  <amodra@gmail.com>
15214         obstack: 64-bit obstack support, part 3
15215         This finally enables full 64-bit obstack support.  The glibc
15216         shared library specific code is removed from obstack.c too, and
15217         the error handling code conditionally compiled under control of
15218         another macro, _OBSTACK_NO_ERROR_HANDLER.
15219         * lib/obstack.h: Include string.h earlier.
15220         (_OBSTACK_INTERFACE_VERSION): Define.
15221         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
15222         * lib/obstack.c: Don't include shlib-compat.h.
15223         (OBSTACK_INTERFACE_VERSION): Delete.
15224         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
15225         glibc code is compatible with version 2.  Don't include stdio.h for
15226         __GNU_LIBRARY.
15227         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
15228         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
15229         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
15230         glibc shared library specific source.
15232         obstack: 64-bit obstack support, part 2
15233         This gets us 4G obstack support, without changing ABI
15234         compatibility, apart from possibly introducing some
15235         signed/unsigned comparison warnings in code that uses obstack.h.
15236         a) Replace "int" size parameters, return values, and macro local vars
15237            with _OBSTACK_SIZE_T, an "unsigned int" for now.
15238         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
15239         c) Make all obstack macros checking available room use obstack_room.
15240            "next_free + desired > chunk_limit" may wrap the lhs for chunks
15241            allocated near the top of memory.
15242         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
15243         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
15244         in place of "int" size parameters, return values and local vars.
15245         (_CHUNK_SIZE_T): Define.
15246         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
15247         union use an _OBSTACK_SIZE_T integer type.
15248         For __GNUC__ versions of the following macros...
15249         (obstack_room): Rename local var.
15250         (obstack_make_room): Use obstack_room.
15251         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15252         obstack_int_grow, obstack_blank): Likewise.
15253         (obstack_finish): Use unsigned comparison when comparing aligned
15254         next_free against chunk_limit.
15255         (obstack_free): Cast OBJ to remove possible const qualifier.
15256         For !__GNUC__ versions of the following macros...
15257         (obstack_make_room): Use obstack_room.
15258         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
15259         obstack_int_grow, obstack_blank): Likewise.
15260         (obstack_finish): Use unsigned comparision when comparing aligned
15261         next_free against chunk_limit.
15262         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
15263         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
15264         _OBSTACK_SIZE_T.
15265         (_obstack_begin, _obstack_begin_1): Likewise.
15266         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
15267         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
15269         obstack: 64-bit obstack support, part 1
15270         a) Correct calls to alloc function, to use a size_t arg.  "long" is
15271            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
15272            and "size_t" 64 bits.
15273         b) Consolidate _obstack_begin and _obstack_begin1 code.
15274         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
15275         use "size_t" rather than "long".
15276         (_obstack_begin, _obstack_begin1): Likewise.
15277         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
15278         obstack_chunkfun): Update alloc function casts.
15279         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
15280         (chunkfun_type, freefun_type): New typdefs.
15281         (_obstack_begin_worker): Split out from ..
15282         (_obstack_begin, _obstack_begin_1): ..here.
15284         obstack: tidy part 2
15285         a) Don't be concerned about "not polluting the namespace with stddef.h
15286            symbols" in obstack.h, since gnulib string.h includes stddef.h
15287            anyway, and it seems unlikely that anyone would care.
15288         b) Don't roll our own slow memcpy in _obstack_newchunk.
15289         c) Rename obstack_free to _obstack_free.  This makes the naming
15290            consistent with other obstack functions and obviates the need for
15291            __obstack_free.  Ancient obstack.c defined both obstack_free and
15292            _obstack_free.  We continue to do that for _LIBC via an alias.
15293         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
15294            is clever, but nowadays gcc warns on undefined macros.  You'll get
15295            an undefined macro warning if simulating an old gcc with -U__GNUC__
15296            -U__GNUC_MINOR__ -D__GNUC__=1.
15297         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
15298         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
15299         (__obstack_free): Delete, update refs.
15300         (_obstack_free): Rename from obstack_free.
15301         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
15302         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
15303         * lib/obstack.c: Don't include stddef.h.
15304         (COPYING_UNIT): Delete.
15305         (_obstack_begin): Formatting fix.
15306         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
15307         (_obstack_free): Rename from __obstack_free, update alias.  Move
15308         undef of obstack_free to where it is needed.
15310         obstack: tidy part 1
15311         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
15312            to me, and result in overlong lines after later patches.
15313         b) Move error handling code, to avoid a forward declaration and to
15314            simplify later patches in this series.
15315         * lib/obstack.h (struct obstack <temp>): Rename fields of union
15316         and update all uses.
15317         * lib/obstack.c: Include stdlib.h earlier.
15318         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
15319         in file.
15320         (print_and_abort): Remove now redundant forward declaration.
15322 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15324         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
15325         Without this change, in bleeding-edge fileutils Autoconf complains
15326         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
15327         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
15328         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
15329         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
15331 2014-10-24  Daiki Ueno  <ueno@gnu.org>
15333         iconv: avoid false detection of non-working iconv
15334         The INBUF arguments of iconv can be either 'const char **'
15335         or 'char **'.  If CC is g++, the difference causes a compile error
15336         and thus leads to a false detection of non-working iconv.
15337         Reported by Eli Zaretskii and Werner LEMBERG in:
15338         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
15339         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
15340         iconv.  Bump serial number.
15342 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15344         bootstrap: print more diagnostics for missing programs
15345         * build-aux/bootstrap: only suppress stderr when checking for
15346         alternative program names.  This supports programs issuing non
15347         standard error messages.
15349 2014-10-23  Pádraig Brady  <P@draigBrady.com>
15351         bootstrap: only update the gnulib submodule
15352         * build-aux/bootstrap: Restrict the "submodule update" command
15353         to the gnulib path.
15355 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15357         symlinkat: port to AIX 7.1
15358         * doc/posix-functions/symlinkat.texi (symlinkat):
15359         Mention AIX porting problem.
15360         * lib/symlinkat.c: Always include errno.h.
15361         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
15362         * lib/unistd.in.h (symlinkat): Add replacement machinery.
15363         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
15364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
15365         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
15366         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
15367         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
15369         readlinkat: port to AIX 7.1
15370         * doc/posix-functions/readlink.texi (readlink):
15371         * doc/posix-functions/readlinkat.texi (readlinkat):
15372         Mention AIX porting problem.
15373         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
15374         New function.
15375         * lib/unistd.in.h (readlinkat): Add replacement machinery.
15376         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
15377         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
15378         * modules/readlinkat (configure.ac): Also compile replacement
15379         if REPLACE_READLINKAT.
15380         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
15382 2014-10-12  Karl Berry  <karl@gnu.org>
15384         * doc/posix-functions/dirname.texi: remove spurious {.
15386 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
15388         basename, dirname: Improve documentation.
15389         * doc/posix-functions/basename.texi: Mention dirname module and
15390         base_name() function.
15391         * doc/posix-functions/dirname.texi: Mention dir_name() and
15392         mdir_name() functions.
15393         Suggested by Werner LEMBERG <wl@gnu.org>.
15395 2014-09-24  Jim Meyering  <meyering@fb.com>
15397         exclude: declare exclude_patopts static
15398         * lib/exclude.c (exclude_patopts): Declare static,
15399         to avoid triggering a -Wmissing-prototypes warning.
15400         The alternative (declaring it in the .h file) would
15401         require publicizing the private "struct patopts".
15403 2014-09-21  Werner Lemberg  <wl@gnu.org>
15405         dirname: support compilation with C++
15406         * lib/dirname.h: Add necessary C linkage declarations.
15408 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
15410         qsort_r: include <config.h>
15411         Problem reported by Tom G. Christensen in:
15412         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
15413         * lib/qsort.c [!_LIBC]: Include <config.h> first.
15415 2014-09-16  Dylan Cali  <calid1984@gmail.com>
15417         avltree-list: avoid compiler warnings (trivial)
15418         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
15419         -Werror=suggest-attribute=pure.
15420         * lib/gl_array_list.c: Likewise.
15421         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
15422         declaration to avoid -Werror=missing-prototypes.  This is not added
15423         to a header as only exported for tests.  Add (void) to the
15424         check_invariants() call to indicate we're discarding the result
15425         in this context which avoids -Werror=unused-value.  Note we don't
15426         use ignore_value here to avoid a dependency as we know we'll not
15427         be adding __attribute__((warn_unused_result)) to check_invariants().
15428         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
15430 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
15432         qsort_r: new module, for GNU-style qsort_r
15433         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
15435 2014-09-15  Werner LEMBERG  <wl@gnu.org>
15437         strerror_r-posix: support compilation with C++
15438         * lib/strerror_r.c: Add necessary C linkage declarations.
15440 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
15442         fcntl-h: fix compilation with Intel C++ compiler (trivial)
15443         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
15445 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
15447         mountlist: use /proc/self/mountinfo when available
15448         Use libmount to propagate device IDs provided by Linux in
15449         /proc/self/mountinfo.  This will give more accurate output when
15450         using df in chroot'ed environments as the device IDs are not
15451         determined by stat() which may be inaccurate within the chroot.
15452         * lib/mountlist.c (read_file_system_list): Use the libmount routines
15453         from util-linux to parse "/proc/self/mountinfo" or fall back to
15454         standard getmntent() processing.
15455         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
15456         getmntent() is used, as is the case on GNU/Linux.
15458 2014-09-07  Eric Wong  <normalperson@yhbt.net>
15460         users.txt: add cmogstored
15461         cmogstored has used gnulib since the beginning in 2012 to support
15462         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
15464 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15466         Trivial change.
15467         * gnulib-tool: Use same options as build-aux/bootstrap to download
15468         PO files.
15470 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
15472         Trivial change.
15473         * gnulib-tool: Fallback to wget when rsync of PO files fails.
15475 2014-09-04  Eric Blake  <eblake@redhat.com>
15477         maintainer-makefile: add syntax check for useless ';;'
15478         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
15480 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
15482         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
15483         Problem reported by Assaf Gordon in:
15484         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
15485         Apparently Ubuntu is doing some fancy link-time optimization
15486         that doesn't work with -lpthread but does work with -pthread.
15487         Work around the bug by preferring -pthread to -lpthread.
15488         * m4/pthread.m4 (gl_PTHREAD_CHECK):
15489         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
15490         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15491         Treat -pthread like -lpthread.
15493 2014-09-04  Eric Blake  <eblake@redhat.com>
15495         error: drop spurious semicolon
15496         * lib/error.c (__error_at_line): Fix ';;'.
15498 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
15500         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
15501         * m4/gnulib-common.m4 (AC_C_RESTRICT):
15502         Override AC_C_RESTRICT unconditionally.
15503         Update from autoconf, incorporating:
15504         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
15505         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
15507 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
15509         manywarnings: add GCC 4.9 warnings
15510         Also, make it easier to maintain this in the future.
15511         * build-aux/gcc-warning.spec: Add -Wabi-tag,
15512         -Wconditionally-supported, -Wdelete-incomplete,
15513         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
15514         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
15515         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
15516         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
15517         only for older GCC versions that need them.  Handle
15518         -Wnormalized=nfc specially, so that the 'comm' command used
15519         for maintenance doesn't get confused.
15521 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
15523         vasnprintf: fix bugs in width computation
15524         * lib/vasnprintf.c (VASNPRINTF):
15525         Rework previous change, which introduced a bug,
15526         to avoid the warning in a different way.
15527         Avoid undefined behavior if the width arg is less than -INT_MAX.
15528         Avoid unnecessary use of HAS_WIDTH local.
15530 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
15532         vasnprintf: Avoid signed/unsigned comparison warning.
15533         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
15534         compare end addr of generated string w/ maximum end addr.
15536 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
15538         parse-datetime: Avoid pointer difference.
15539         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
15540         instead of calculating difference of pointers.  This removes an
15541         annoying warning, devoid of any use.
15543 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
15545         qsort_r: new module, for GNU-style qsort_r
15546         This works even on FreeBSD, which has an incompatible qsort_r API.
15547         * MODULES.html.sh: Add it.
15548         * doc/glibc-functions/qsort_r.texi: It's now supported.
15549         * lib/qsort.c: New file, taken from glibc with minor changes
15550         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
15551         removed.
15552         * lib/qsort_r.c: New file, compiled only on FreeBSD.
15553         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
15554         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
15555         * modules/qsort_r, modules/qsort_r-tests: New files.
15556         * modules/stdlib (Makefile): Set up its defaults.
15557         * tests/test-qsort_r.c: New file.
15559 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
15561         vla: new module
15562         GNU RCS can use this, mostly for documentation I expect.  See:
15563         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
15564         * MODULES.html.sh: Add vla.
15565         * lib/vla.h, modules/vla: New files.
15567 2014-08-07  Daiki Ueno  <ueno@gnu.org>
15569         localename: make gl_locale_name_thread really thread-safe on Windows
15570         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
15571         "glthread/lock.h".
15572         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
15573         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
15575 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
15577         getpass: don't assume struct termios
15578         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
15579         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
15580         * lib/getpass.c (getpass): Port to systems lacking struct termios.
15582         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
15583         Problem reported by Jonas 'Sortie' Termansen in:
15584         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
15585         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
15586         Implement via sysconf for platforms that lack getdtablesize.
15588         vararrays: modernize AC_C_VARARRAYS for C11
15589         This backports a change I recently made to Autoconf.
15590         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
15591         VLAs are not supported, as this is what C11 does.  The old macro
15592         HAVE_C_VARARRAYS is still defined if they are supported, but is
15593         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
15595 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
15597         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
15598         * build-aux/install-reloc (func_create_wrapper): Also wrap
15599         strerror-override, stat, stat.
15601 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
15603         sys_select: fix FD_ZERO problem on Solaris 10
15604         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
15605         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
15606         to expand to an expression that invoked memset without necessarily
15607         including <string.h>.  The problem was that the first include
15608         defined _SYS_TIME_H, causing the second include to short-circuit.
15609         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
15610         Also, fix what appears to be a cut-and-paste typo, by replacing
15611         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
15612         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
15614         accept: document Solaris 10 type glitch
15615         * doc/posix-functions/accept.texi (accept): Mention that
15616         Solaris 10 'accept' takes void * last arg, not socklen_t *.
15618 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
15620         extern-inline: port to FreeBSD, DragonFly
15621         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
15622         is present if either __DragonFly__ or __FreeBSD__ is defined.
15623         FreeBSD problem reported by Andrey Borzenkov in:
15624         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
15625         Also, worry about __APPLE__ only if __MACH__ is also defined,
15626         as this is more consistent with the rest of gnulib.
15627         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
15628         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
15630 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
15632         regex: Make #if/#ifdef usage consistent for DEBUG
15633         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
15634         of the inconsistent usage of #if and #ifdef as that works with
15635         both Glibc and Gnulib's style.
15637 2014-07-31  Eric Blake  <eblake@redhat.com>
15639         openat-die: use _Noreturn markup
15640         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
15641         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
15642         _Noreturn.
15644 2014-07-30  Eric Blake  <eblake@redhat.com>
15646         test-open: port to cygwin, which lacks Fortify
15647         * tests/test-open.h (ALWAYS_INLINE): New macro.
15648         (__always_inline): Don't abuse internal symbol on non-glibc.
15650 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
15652         localename: Enforce declarations before statements.
15653         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
15654         first statement.
15656 2014-07-18  Jim Meyering  <meyering@fb.com>
15658         test-userspec: don't look up numeric user names
15659         * tests/test-userspec.c: I found a system for which getpwnam("0")
15660         returned a pointer to a non-root user's entry, and that made the
15661         test fail.
15662         (T): Prefix each numeric input with "+", to inhibit lookup.
15664 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
15666         localcharset, localename: MS-Windows support for non-default locales
15667         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
15668         falling back on the default system codepage, try extracting
15669         the codepage from what 'setlocale' returns.  This allows to
15670         take into account changes of the codeset due to non-default
15671         locale set by a previous call to 'setlocale'.
15672         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
15673         Define if not already defined.
15674         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
15675         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
15676         current locale by calling 'setlocale', then converting the
15677         locale name into LCID by calling 'get_lcid'.  This allows to
15678         take into account changes in the current locale from the
15679         default one, in contrast to GetThreadLocale.
15681 2014-07-14  Daiki Ueno  <ueno@gnu.org>
15683         announce-gen: avoid failure when Digest::SHA is installed
15684         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
15685         Digest::SHA1->new in print_checksums fails.
15686         * build-aux/announce-gen (digest_classes): New associative array
15687         for available message digest implementations.
15688         (print_locations): Use it.
15690 2014-07-13  Pádraig Brady  <P@draigBrady.com>
15692         gettext: revert "update macros to version 0.19"
15693         This reverts commit 9b9370ca, as it currently requires that
15694         developers of any project that explicitly uses the gettext module
15695         or implicitly uses it through the utimens-tests or
15696         futimens-tests modules, use gettext >= 0.19.
15697         However there are some stability and availablity issues with
15698         that version at present.  We can reinstate this soon, when stability
15699         is addressed and packages are more readily available.
15701 2014-07-12  Jim Meyering  <meyering@fb.com>
15703         regex: don't deref NULL upon heap allocation failure
15704         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
15705         failure in one more place.
15706         To trigger the segfault, configure grep -with-included-regex,
15707         build it, and run these commands:
15708         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
15709         I discovered this while replying to a private report from
15710         Jens Schleusener about excessive memory consumption by grep
15711         when using a regular expression like the one above.
15713 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
15715         regex: fix memory leak in compiler
15716         Fix by Andreas Schwab in:
15717         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
15718         * lib/regcomp.c (parse_reg_exp): Deallocate partially
15719         constructed tree before returning error.
15721 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15723         announce-gen: avoid perl warnings
15724         * build-aux/announce-gen: add two minor checks to avoid
15725         "use of uninitialized value" warnings when command-line parameters are
15726         missing.
15728 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
15730         localename: avoid -Wsuggest-attribute={const,pure} warnings
15731         * lib/localename.c (string_has): Tag internal function as pure.
15732         * lib/localename.h (gl_locale_name_default): Tag extern declaration
15733         as const when appropriate.
15735 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
15737         nl_langinfo: Fix last change.
15738         * lib/nl_langinfo.c (includes): Drop redundant include.
15740 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
15742         error: Fix -Wundef warnings in glibc
15743         * lib/error.c [_LIBC]: Define default macros for
15744         glibc.
15745         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
15746         Check _LIBC before STRERROR_R_CHAR_P.
15748         error: Sync from glibc master
15749         * lib/error.c [_LIBC]: Remove INTUSE usage.
15750         (error_tail): Remove unused macro ALLOCA_LIMIT.
15751         Fix potential buffer overflow.  Fix potential NULL dereference
15752         in strcmp.
15754 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
15756         nl_langinfo: fix build under mingw
15757         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
15759 2014-07-09  Andrew D Warshall  <warshall@99main.com>
15761         mountlist: do not classify a bind-mounted dir entry as "dummy"
15762         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
15763         1-argument getmntent() (instead of assuming absence).
15765 2014-07-08  Eric Blake  <eblake@redhat.com>
15767         maint.mk: less syntax-check noise when SIGPIPE is ignored
15768         * top/maint.mk (_sc_header_without_use)
15769         (sc_require_config_h_first): Parse full list.
15771 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
15772             Paul Eggert  <eggert@cs.ucla.edu>
15774         nl_langinfo: CODESET on MS-Windows and more items from localeconv
15775         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
15776         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
15777         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
15778         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
15779         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
15780         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
15781         Include <stdio.h> if Microsoft Windows.
15782         Include <time.h> if !REPLACE_NL_LANGINFO.
15783         (ctype_codeset): New function, taken from rpl_nl_langinfo,
15784         and with improvements for Microsoft Windows.
15785         (rpl_nl_langinfo): Use it.
15786         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
15787         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
15788         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
15789         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
15790         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
15791         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
15792         corresponding values returned by 'localeconv'.  Compute the values
15793         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
15794         'strftime' with a suitable struct tm value.
15796 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15798         Bruno Haible has stepped down as maintainer.
15799         See Karl Berry in:
15800         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
15801         Daiki Ueno has volunteered to maintain libunistring; see:
15802         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
15803         * modules/gen-uni-tables, modules/libunistring:
15804         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
15805         * modules/unicase/base, modules/unicase/cased:
15806         * modules/unicase/empty-prefix-context:
15807         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
15808         * modules/unicase/locale-language, modules/unicase/special-casing:
15809         * modules/unicase/tocasefold, modules/unicase/tolower:
15810         * modules/unicase/totitle, modules/unicase/toupper:
15811         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
15812         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
15813         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
15814         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
15815         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
15816         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
15817         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
15818         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
15819         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
15820         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
15821         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
15822         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
15823         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
15824         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
15825         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
15826         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
15827         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
15828         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
15829         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
15830         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
15831         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
15832         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
15833         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
15834         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
15835         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
15836         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
15837         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
15838         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
15839         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
15840         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
15841         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
15842         * modules/unicase/ulc-casexfrm, modules/unicodeio:
15843         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
15844         * modules/uniconv/u16-conv-to-enc:
15845         * modules/uniconv/u16-strconv-from-enc:
15846         * modules/uniconv/u16-strconv-from-locale:
15847         * modules/uniconv/u16-strconv-to-enc:
15848         * modules/uniconv/u16-strconv-to-locale:
15849         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
15850         * modules/uniconv/u32-strconv-from-enc:
15851         * modules/uniconv/u32-strconv-from-locale:
15852         * modules/uniconv/u32-strconv-to-enc:
15853         * modules/uniconv/u32-strconv-to-locale:
15854         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
15855         * modules/uniconv/u8-strconv-from-enc:
15856         * modules/uniconv/u8-strconv-from-locale:
15857         * modules/uniconv/u8-strconv-to-enc:
15858         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
15859         * modules/unictype/bidicategory-all:
15860         * modules/unictype/bidicategory-byname:
15861         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
15862         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
15863         * modules/unictype/bidiclass-byname:
15864         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
15865         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
15866         * modules/unictype/block-all, modules/unictype/block-list:
15867         * modules/unictype/block-of, modules/unictype/block-test:
15868         * modules/unictype/category-C, modules/unictype/category-Cc:
15869         * modules/unictype/category-Cf, modules/unictype/category-Cn:
15870         * modules/unictype/category-Co, modules/unictype/category-Cs:
15871         * modules/unictype/category-L, modules/unictype/category-LC:
15872         * modules/unictype/category-Ll, modules/unictype/category-Lm:
15873         * modules/unictype/category-Lo, modules/unictype/category-Lt:
15874         * modules/unictype/category-Lu, modules/unictype/category-M:
15875         * modules/unictype/category-Mc, modules/unictype/category-Me:
15876         * modules/unictype/category-Mn, modules/unictype/category-N:
15877         * modules/unictype/category-Nd, modules/unictype/category-Nl:
15878         * modules/unictype/category-No, modules/unictype/category-P:
15879         * modules/unictype/category-Pc, modules/unictype/category-Pd:
15880         * modules/unictype/category-Pe, modules/unictype/category-Pf:
15881         * modules/unictype/category-Pi, modules/unictype/category-Po:
15882         * modules/unictype/category-Ps, modules/unictype/category-S:
15883         * modules/unictype/category-Sc, modules/unictype/category-Sk:
15884         * modules/unictype/category-Sm, modules/unictype/category-So:
15885         * modules/unictype/category-Z, modules/unictype/category-Zl:
15886         * modules/unictype/category-Zp, modules/unictype/category-Zs:
15887         * modules/unictype/category-all, modules/unictype/category-and:
15888         * modules/unictype/category-and-not, modules/unictype/category-byname:
15889         * modules/unictype/category-longname, modules/unictype/category-name:
15890         * modules/unictype/category-none, modules/unictype/category-of:
15891         * modules/unictype/category-or, modules/unictype/category-test:
15892         * modules/unictype/category-test-withtable:
15893         * modules/unictype/combining-class:
15894         * modules/unictype/combining-class-all:
15895         * modules/unictype/combining-class-byname:
15896         * modules/unictype/combining-class-longname:
15897         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
15898         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
15899         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
15900         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
15901         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
15902         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
15903         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
15904         * modules/unictype/digit, modules/unictype/joininggroup-all:
15905         * modules/unictype/joininggroup-byname:
15906         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
15907         * modules/unictype/joiningtype-all:
15908         * modules/unictype/joiningtype-byname:
15909         * modules/unictype/joiningtype-longname:
15910         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
15911         * modules/unictype/mirror, modules/unictype/numeric:
15912         * modules/unictype/property-all, modules/unictype/property-alphabetic:
15913         * modules/unictype/property-ascii-hex-digit:
15914         * modules/unictype/property-bidi-arabic-digit:
15915         * modules/unictype/property-bidi-arabic-right-to-left:
15916         * modules/unictype/property-bidi-block-separator:
15917         * modules/unictype/property-bidi-boundary-neutral:
15918         * modules/unictype/property-bidi-common-separator:
15919         * modules/unictype/property-bidi-control:
15920         * modules/unictype/property-bidi-embedding-or-override:
15921         * modules/unictype/property-bidi-eur-num-separator:
15922         * modules/unictype/property-bidi-eur-num-terminator:
15923         * modules/unictype/property-bidi-european-digit:
15924         * modules/unictype/property-bidi-hebrew-right-to-left:
15925         * modules/unictype/property-bidi-left-to-right:
15926         * modules/unictype/property-bidi-non-spacing-mark:
15927         * modules/unictype/property-bidi-other-neutral:
15928         * modules/unictype/property-bidi-pdf:
15929         * modules/unictype/property-bidi-segment-separator:
15930         * modules/unictype/property-bidi-whitespace:
15931         * modules/unictype/property-byname:
15932         * modules/unictype/property-case-ignorable:
15933         * modules/unictype/property-cased:
15934         * modules/unictype/property-changes-when-casefolded:
15935         * modules/unictype/property-changes-when-casemapped:
15936         * modules/unictype/property-changes-when-lowercased:
15937         * modules/unictype/property-changes-when-titlecased:
15938         * modules/unictype/property-changes-when-uppercased:
15939         * modules/unictype/property-combining:
15940         * modules/unictype/property-composite:
15941         * modules/unictype/property-currency-symbol:
15942         * modules/unictype/property-dash:
15943         * modules/unictype/property-decimal-digit:
15944         * modules/unictype/property-default-ignorable-code-point:
15945         * modules/unictype/property-deprecated:
15946         * modules/unictype/property-diacritic:
15947         * modules/unictype/property-extender:
15948         * modules/unictype/property-format-control:
15949         * modules/unictype/property-grapheme-base:
15950         * modules/unictype/property-grapheme-extend:
15951         * modules/unictype/property-grapheme-link:
15952         * modules/unictype/property-hex-digit:
15953         * modules/unictype/property-hyphen:
15954         * modules/unictype/property-id-continue:
15955         * modules/unictype/property-id-start:
15956         * modules/unictype/property-ideographic:
15957         * modules/unictype/property-ids-binary-operator:
15958         * modules/unictype/property-ids-trinary-operator:
15959         * modules/unictype/property-ignorable-control:
15960         * modules/unictype/property-iso-control:
15961         * modules/unictype/property-join-control:
15962         * modules/unictype/property-left-of-pair:
15963         * modules/unictype/property-line-separator:
15964         * modules/unictype/property-logical-order-exception:
15965         * modules/unictype/property-lowercase, modules/unictype/property-math:
15966         * modules/unictype/property-non-break:
15967         * modules/unictype/property-not-a-character:
15968         * modules/unictype/property-numeric:
15969         * modules/unictype/property-other-alphabetic:
15970         * modules/unictype/property-other-default-ignorable-code-point:
15971         * modules/unictype/property-other-grapheme-extend:
15972         * modules/unictype/property-other-id-continue:
15973         * modules/unictype/property-other-id-start:
15974         * modules/unictype/property-other-lowercase:
15975         * modules/unictype/property-other-math:
15976         * modules/unictype/property-other-uppercase:
15977         * modules/unictype/property-paired-punctuation:
15978         * modules/unictype/property-paragraph-separator:
15979         * modules/unictype/property-pattern-syntax:
15980         * modules/unictype/property-pattern-white-space:
15981         * modules/unictype/property-private-use:
15982         * modules/unictype/property-punctuation:
15983         * modules/unictype/property-quotation-mark:
15984         * modules/unictype/property-radical:
15985         * modules/unictype/property-sentence-terminal:
15986         * modules/unictype/property-soft-dotted:
15987         * modules/unictype/property-space:
15988         * modules/unictype/property-terminal-punctuation:
15989         * modules/unictype/property-test, modules/unictype/property-titlecase:
15990         * modules/unictype/property-unassigned-code-value:
15991         * modules/unictype/property-unified-ideograph:
15992         * modules/unictype/property-uppercase:
15993         * modules/unictype/property-variation-selector:
15994         * modules/unictype/property-white-space:
15995         * modules/unictype/property-xid-continue:
15996         * modules/unictype/property-xid-start:
15997         * modules/unictype/property-zero-width, modules/unictype/scripts:
15998         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
15999         * modules/unictype/syntax-c-whitespace:
16000         * modules/unictype/syntax-java-ident:
16001         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
16002         * modules/unigbrk/u16-grapheme-breaks:
16003         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
16004         * modules/unigbrk/u32-grapheme-breaks:
16005         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
16006         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
16007         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
16008         * modules/unigbrk/uc-is-grapheme-break:
16009         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
16010         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
16011         * modules/unilbrk/u16-width-linebreaks:
16012         * modules/unilbrk/u32-possible-linebreaks:
16013         * modules/unilbrk/u32-width-linebreaks:
16014         * modules/unilbrk/u8-possible-linebreaks:
16015         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
16016         * modules/unilbrk/ulc-possible-linebreaks:
16017         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
16018         * modules/uniname/uniname, modules/uninorm/base:
16019         * modules/uninorm/canonical-decomposition:
16020         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
16021         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
16022         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
16023         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
16024         * modules/uninorm/nfkc, modules/uninorm/nfkd:
16025         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
16026         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
16027         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
16028         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
16029         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
16030         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
16031         * modules/unistdio/base, modules/unistdio/u-printf-args:
16032         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
16033         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
16034         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
16035         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
16036         * modules/unistdio/u16-u16-sprintf:
16037         * modules/unistdio/u16-u16-vasnprintf:
16038         * modules/unistdio/u16-u16-vasprintf:
16039         * modules/unistdio/u16-u16-vsnprintf:
16040         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
16041         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
16042         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
16043         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
16044         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
16045         * modules/unistdio/u32-u32-asnprintf:
16046         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
16047         * modules/unistdio/u32-u32-sprintf:
16048         * modules/unistdio/u32-u32-vasnprintf:
16049         * modules/unistdio/u32-u32-vasprintf:
16050         * modules/unistdio/u32-u32-vsnprintf:
16051         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
16052         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
16053         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
16054         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
16055         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
16056         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
16057         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
16058         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
16059         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
16060         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
16061         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
16062         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
16063         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
16064         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
16065         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
16066         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
16067         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
16068         * modules/unistr/u16-check, modules/unistr/u16-chr:
16069         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
16070         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
16071         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
16072         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
16073         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
16074         * modules/unistr/u16-move, modules/unistr/u16-next:
16075         * modules/unistr/u16-prev, modules/unistr/u16-set:
16076         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
16077         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
16078         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
16079         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
16080         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
16081         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
16082         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
16083         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
16084         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
16085         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
16086         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
16087         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
16088         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
16089         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
16090         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
16091         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
16092         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
16093         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
16094         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
16095         * modules/unistr/u32-next, modules/unistr/u32-prev:
16096         * modules/unistr/u32-set, modules/unistr/u32-startswith:
16097         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
16098         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
16099         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
16100         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
16101         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
16102         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
16103         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
16104         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
16105         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
16106         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
16107         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
16108         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
16109         * modules/unistr/u8-check, modules/unistr/u8-chr:
16110         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
16111         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
16112         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
16113         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
16114         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
16115         * modules/unistr/u8-next, modules/unistr/u8-prev:
16116         * modules/unistr/u8-set, modules/unistr/u8-startswith:
16117         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
16118         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
16119         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
16120         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
16121         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
16122         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
16123         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
16124         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
16125         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
16126         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
16127         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
16128         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
16129         * modules/uniwbrk/base, modules/uniwbrk/table:
16130         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
16131         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
16132         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
16133         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
16134         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
16135         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
16136         * modules/uniwidth/width, modules/utf16-ucs4:
16137         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
16138         * modules/utf8-ucs4-unsafe:
16139         Change maintainer from Bruno Haible to Daiki Ueno.
16140         This is my guess at the libunistring modules; please feel free
16141         to fix if I guessed incorrectly.
16142         * modules/accept4, modules/acl, modules/acos, modules/acosf:
16143         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
16144         * modules/areadlink, modules/array-list, modules/array-mergesort:
16145         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
16146         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
16147         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
16148         * modules/binary-io, modules/bison-i18n, modules/btowc:
16149         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
16150         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
16151         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
16152         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
16153         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
16154         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
16155         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
16156         * modules/closedir, modules/concat-filename, modules/copy-file:
16157         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
16158         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
16159         * modules/csharpcomp-script, modules/csharpexec:
16160         * modules/csharpexec-script, modules/ctype, modules/diffseq:
16161         * modules/dprintf, modules/dprintf-posix, modules/dup:
16162         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
16163         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
16164         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
16165         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
16166         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
16167         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
16168         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
16169         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
16170         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
16171         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
16172         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
16173         * modules/findprog, modules/findprog-lgpl, modules/floor:
16174         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
16175         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
16176         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
16177         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
16178         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
16179         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
16180         * modules/freadable, modules/freadahead, modules/freadptr:
16181         * modules/freadseek, modules/freopen, modules/frexp:
16182         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
16183         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
16184         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
16185         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
16186         * modules/ftello, modules/full-read, modules/full-write:
16187         * modules/fwritable, modules/fwriteerror, modules/gcd:
16188         * modules/get-rusage-as, modules/get-rusage-data:
16189         * modules/getdtablesize, modules/getrusage, modules/gettext:
16190         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
16191         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
16192         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
16193         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
16194         * modules/iconv, modules/iconv-h, modules/iconv_open:
16195         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
16196         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
16197         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
16198         * modules/integer_length_ll, modules/ioctl, modules/isatty:
16199         * modules/isblank, modules/isnand, modules/isnand-nolibm:
16200         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
16201         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
16202         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
16203         * modules/javaexec, modules/javaexec-script, modules/javaversion:
16204         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
16205         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
16206         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
16207         * modules/lib-symbol-visibility, modules/libsigsegv:
16208         * modules/linked-list, modules/linkedhash-list, modules/list:
16209         * modules/localcharset, modules/locale, modules/localeconv:
16210         * modules/localename, modules/lock, modules/log, modules/log-ieee:
16211         * modules/log10, modules/log10-ieee, modules/log10f:
16212         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
16213         * modules/log1p, modules/log1p-ieee, modules/log1pf:
16214         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
16215         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
16216         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
16217         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
16218         * modules/logf, modules/logf-ieee, modules/login_tty:
16219         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
16220         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
16221         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
16222         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
16223         * modules/mbscspn, modules/mbsinit, modules/mbslen:
16224         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
16225         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
16226         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
16227         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
16228         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
16229         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
16230         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
16231         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
16232         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
16233         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
16234         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
16235         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
16236         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
16237         * modules/posix_spawn, modules/posix_spawn-internal:
16238         * modules/posix_spawn_file_actions_addclose:
16239         * modules/posix_spawn_file_actions_adddup2:
16240         * modules/posix_spawn_file_actions_addopen:
16241         * modules/posix_spawn_file_actions_destroy:
16242         * modules/posix_spawn_file_actions_init:
16243         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
16244         * modules/posix_spawnattr_getpgroup:
16245         * modules/posix_spawnattr_getschedparam:
16246         * modules/posix_spawnattr_getschedpolicy:
16247         * modules/posix_spawnattr_getsigdefault:
16248         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
16249         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
16250         * modules/posix_spawnattr_setschedparam:
16251         * modules/posix_spawnattr_setschedpolicy:
16252         * modules/posix_spawnattr_setsigdefault:
16253         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
16254         * modules/pow, modules/powf, modules/printf-frexp:
16255         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
16256         * modules/progname, modules/propername, modules/pselect:
16257         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
16258         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
16259         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
16260         * modules/read, modules/readdir, modules/readlink:
16261         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
16262         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
16263         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
16264         * modules/relocatable-script, modules/remainder:
16265         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
16266         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
16267         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
16268         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
16269         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
16270         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
16271         * modules/setlocale, modules/sh-quote, modules/shutdown:
16272         * modules/signal, modules/signbit, modules/sigpipe:
16273         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
16274         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
16275         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
16276         * modules/snippet/link-warning, modules/snippet/unused-parameter:
16277         * modules/snprintf, modules/snprintf-posix, modules/spawn:
16278         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
16279         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
16280         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
16281         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
16282         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
16283         * modules/streq, modules/strerror_r-posix, modules/striconv:
16284         * modules/striconveh, modules/striconveha, modules/strncat:
16285         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
16286         * modules/sublist, modules/sys_resource, modules/sys_utsname:
16287         * modules/sys_wait, modules/system-posix, modules/system-quote:
16288         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
16289         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
16290         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
16291         * modules/truncf, modules/truncf-ieee, modules/truncl:
16292         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
16293         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
16294         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
16295         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
16296         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
16297         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
16298         * modules/wait-process, modules/waitpid, modules/wcpcpy:
16299         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
16300         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
16301         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
16302         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
16303         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
16304         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
16305         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
16306         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
16307         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
16308         * modules/write, modules/xconcat-filename, modules/xlist:
16309         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
16310         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
16311         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
16312         * modules/y0, modules/y1, modules/yn:
16313         Remove Bruno Haible as maintainer; if he's the sole maintainer,
16314         change the maintainer to 'all'.  Let's hope someone volunteers.
16316 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
16318         mktime: merge #if/#ifdef usage from glibc
16319         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
16320         as that works with both Glibc's and Gnulib's style.
16321         See thread starting at Siddhesh Poyarekar's bug report at:
16322         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
16324 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
16326         git-version-gen: improve option descriptions
16327         * build-aux/git-version-gen: Mention that --prefix and --fallback
16328         have a mandatory argument.
16330 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16332         regex: fix memory leak in compiler
16333         Fix by Andreas Schwab in:
16334         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
16335         * lib/regcomp.c (parse_expression): Deallocate partially
16336         constructed tree before returning error.
16338         regex: merge patch from libc
16339         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
16340         Combine __USE_BSD and __USE_SVID into __USE_MISC.
16341         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
16343 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
16345         acl: port to gcc -Wredundant-decls
16346         From a request by Dmitry Antipov in:
16347         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
16348         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
16349         "#ifndef _GL_ACL_H".
16351 2014-06-11  Bruce Korb  <bkorb@gnu.org>
16352         Jim Meyering  <meyering@fb.com>
16354         parse-duration: eliminate 68-year duration limit
16355         * lib/parse-duration.c: Include "intprops.h".
16356         (TIME_MAX): Rename to MAX_DURATION and define to
16357         TYPE_MAXIMUM(time_t).
16358         * modules/parse-duration (Depends-on): Add intprops.
16359         Reported by Jonas 'Sortie' Termansen.
16361 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16363         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
16364         * modules/pthread (Depends-on): Add 'extensions', as it defines
16365         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
16366         (configure.ac-early): New section.
16367         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
16368         it is no longer needed.
16370 2014-06-14  Pádraig Brady  <P@draigBrady.com>
16372         pthread: define thread-safe macros on some platforms
16373         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
16374         for thread-safe operation on some platforms.
16376 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16378         regex: don't be multithreaded if USE_UNLOCKED_IO.
16379         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
16380         * lib/regex_internal.h: Do not use multithreaded version if
16381         USE_UNLOCKED_IO is defined.  This is a hack, but it works
16382         around a porting bug with coreutils 8.22 on AIX 7.1.
16384 2014-06-11  Daiki Ueno  <ueno@gnu.org>
16386         gettext: update macros to version 0.19
16387         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
16388         depend on gl_EXTERN_INLINE and drop support for older Bison
16389         versions.
16391 2014-06-10  Pádraig Brady  <P@draigBrady.com>
16393         select,poll: fix console handle check on windows 8
16394         lib/poll.c (IsConsoleHandle): Change from testing the lower
16395         2 bits of the handle to the more expensive but accurate syscall.
16396         lib/select.c: Likewise.
16398 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16400         select: fix waiting on anonymous pipes on MS-Windows
16401         * lib/select.c (rpl_select): Fall back to polling when select()
16402         indicates there is nothing to check, while due to the timeout not
16403         expiring, activity is indicated on one of the handles.
16404         Also clear the TIMEOUT argument if the timer does expire.
16406 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
16408         times: fix to return non constant value on MS-Windows
16409         * lib/times.c (times): Don't use the process creation time,
16410         rather clock() which on windows returns the number of
16411         clock ticks since the process started.
16413 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
16415         isatty: fix to work on windows 8
16416         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
16417         2 bits of the handle to the more expensive but accurate syscall.
16419 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16421         maint: fix typo in fdl.texi
16422         * doc/fdl.texi: Fix typo (missing '@').
16423         Somehow this was in fdl.texi but not fdl-1.3.texi.
16425 2014-06-06  Ben Walton  <bdwalton@gmail.com>
16427         mountlist: avoid hasmntopt const type warning on solaris
16428         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
16429         with char * instead of const char *.  Passing the constant string
16430         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
16431         to avoid the warning.
16433 2014-06-04  Eric Blake  <eblake@redhat.com>
16435         maintainer-makefile: delete obsolete code
16436         * top/maint.mk (build_aux): Drop old code, as threatened.
16438         maintainer-makefile: avoid spurious error messages
16439         * top/maint.mk (syntax-check): Guard definition and use of
16440         $(shell) by whether Makefile is present.
16442 2014-06-03  Ben Walton  <bdwalton@gmail.com>
16444         rename: avoid unused-but-set-variable compiler warning
16445         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
16446         it is possible that dst_exists may be set but not used.  Mark it with
16447         the unused attribute to avoid compiler warnings.
16449 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16451         rename: mark a label as potentially unused
16452         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
16453         by marking the out label as potentially unused.
16454         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
16456 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16458         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
16459         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
16461 2014-06-02  Ben Walton  <bdwalton@gmail.com>
16463         acl: apply pure attribute to two functions
16464         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
16465         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
16467 2014-06-01  Pádraig Brady  <P@draigBrady.com>
16469         gnulib-common.m4: add _GL_UNUSED_LABEL
16470         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
16471         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
16473 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16475         dup2, fcntl, fcntl-h: port to AIX 7.1
16476         This fixes some porting problems discovered when testing the latest
16477         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
16478         in grep but it could be important for other applications.
16479         * doc/posix-functions/dup2.texi:
16480         * doc/posix-functions/fcntl.texi:
16481         * doc/posix-headers/fcntl.texi:
16482         Document AIX bugs.
16483         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
16484         Define to 0 if outside 'int' range.
16485         * m4/dup2.m4 (gl_FUNC_DUP2):
16486         * m4/fcntl.m4 (gl_FUNC_FCNTL):
16487         Check for getdtablesize.  If it's available, test a value just
16488         outside its range instead of testing 1000000.  When cross-compiling,
16489         guess that AIX will fail this improved test.
16491 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16493         printf, config.rpath: Port to FreeBSD 10.
16494         Problem reported by Tijl Coosemans in:
16495         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
16496         * build-aux/config.rpath (hardcode_libdir_flag_spec)
16497         (hardcode_direct): Simplify FreeBSD configuration.
16498         (library_names_spec): Don't mishandle FreeBSD 10+.
16499         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
16500         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
16501         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
16502         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
16503         Don't mishandle FreeBSD 10+ when cross-compiling.
16505         ftoastr: work around compiler bug in IBM xlc 12.1
16506         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
16507         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
16508         around a compiler bug in IBM xlc 12.1.0.0: it complains
16509         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
16510         _GL_FLT_PREC_BOUND.'
16512 2014-05-30  Kieran Colford  <colfordk@gmail.com>
16514         valgrind-tests: fixed misleading help message
16515         * m4/valgrind-tests.m4: The help message generated by configure
16516         implied that valgrind was disabled by default, which it wasn't.
16517         Adjusted the help message using s/enable/disable/ to clarify.
16519 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
16521         isfinite, isinf, isnan tests: fix for little-endian PowerPC
16522         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
16523         first double of a PowerPC "double double" pair.
16524         * tests/test-isinf.c (test_isinfl): Likewise.
16525         * tests/test-isnan.c (test_long_double): Likewise.
16526         * tests/test-isnanl.h (main): Likewise.
16527         * tests/test-signbit.c (test_signbitl): Likewise.
16529 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
16531         exclude-tests: port to AIX 7.1
16532         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
16533         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
16534         the regex code uses locks.
16536 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
16538         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
16539         Without this fix, Emacs would sometimes call sigprocmask instead
16540         of pthread_sigmask, which is a no-no in multithreaded applications.
16541         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
16542         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16543         Suppress check for pthread_sigmask working without -lpthread if
16544         the application always links with -lpthread.  Do not link with
16545         $LIBMULTITHREAD if gl_THREADLIB is not defined.
16546         * m4/timer_time.m4 (gl_TIMER_TIME):
16547         Require gl_THREADLIB only if it is defined.  Do not append
16548         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
16550 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
16552         gnulib-tool: wget translations using --no-verbose rather than --quiet
16553         This allows the user to see error messages if any (--quiet hides them)
16554         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
16556 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
16558         gnulib-tool: adjust translation wget to avoid a https redirection
16559         Context: http://translationproject.org/latest/gnulib redirects to
16560            https://translationproject.org/latest/gnulib/
16561         Rationale: if the user falls back to wget, she doesn't have rsync and
16562         is probably in a minimal build environment, where packages such as
16563         'ca-certificates' are missing as well, resulting in a failed (and
16564         difficult to detect since ignored) translation initial fetch.
16565         Consequently let's avoid https if possible, and add the missing
16566         trailing slash.  This also avoids an unnecessary 302 redirection.
16567         * gnulib-tool: Add trailing slash to gnulib URL.
16569 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16571         getlogin_r-tests: check return value rather than errno
16572         * tests/test-getlogin_r.c (main): As per POSIX we should be
16573         verifying the return value from getlogin_r() rather than errno.
16575 2014-05-22  Pádraig Brady  <P@draigBrady.com>
16577         getlogin_r-tests: fix various issues in recent change
16578         * tests/test-getlogin_r.c: Include required headers that were
16579         missed in recent commit eec20b4e.
16580         Also consistently check the errno rather than the return value from
16581         getlogin_r as POSIX only specifies that non zero is returned on error.
16582         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
16584 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
16586         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
16587         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
16588         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
16589         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
16590         * lib/spawn-pipe.c:
16591         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
16592         and then 'int open64(const char *, int, ...);', which means the
16593         declaration for 'open' gets lost if we later '#undef open'.
16594         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
16595         where the compilation reported the non-fatal error "In function
16596         'openat_proc_name' ... warning: implicit declaration of function
16597         'open'".  In this case the error is relatively harmless, but in
16598         other cases it might not be so minor.
16600 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16602         xalloc: don't potentially generate invalid code for xmemdup calls
16603         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
16604         this function can initialize the newly-allocated storage with new
16605         pointers, which means this function is not malloc-like.  See:
16606         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
16608 2014-05-19  Pádraig Brady  <P@draigBrady.com>
16610         getlogin_r-tests: avoid false failure under sudo/ssh etc.
16611         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
16612         changes from commit 97249cf29 to not depend on environment variables.
16614 2014-05-18  Pádraig Brady  <P@draigBrady.com>
16616         getlogin-tests: avoid false failure under cron
16617         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
16618         since that's not what's under test.  Centos 6 was seen to return
16619         EINVAL for ttyname() when run from cron.
16621 2014-05-16  Jim Meyering  <meyering@fb.com>
16623         mbrtowc.m4: fix a comment typo
16624         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
16625         emitted documentation string.
16627 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16629         mbrlen, mbrtowc: fix bug with empty input
16630         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
16631         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
16632         so this is mainly for documentation.
16633         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
16634         (gl_FUNC_MBRTOWC): Use it.
16635         * tests/test-mbrtowc.c (main): Test for the bug.
16637 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
16639         doc: document mbrtowc and mbrlen problem with empty input
16640         * doc/posix-functions/mbrlen.texi (mbrlen):
16641         * doc/posix-functions/mbrtowc.texi (mbrtowc):
16642         Document portability problem when the input string is empty.  See:
16643         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
16645         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
16646         Problem reported by Eli Zaretskii in:
16647         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
16648         * doc/posix-functions/execl.texi (execl):
16649         * doc/posix-functions/execle.texi (execle):
16650         * doc/posix-functions/execlp.texi (execlp):
16651         * doc/posix-functions/execv.texi (execv):
16652         * doc/posix-functions/execve.texi (execve):
16653         * doc/posix-functions/execvp.texi (execvp):
16654         Mention spawn+exit problem on non-Cygwin Windows platforms.
16656 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
16658         getlogin-tests: avoid false failure under sudo/ssh etc.
16659         * modules/getlogin-tests (configure.ac): Check for ttyname().
16660         * tests/test-getlogin.c (main): Don't depend on environment variables
16661         to correlate with getlogin(), since sudo and ssh etc. can tamper
16662         with the LOGNAME and USER env vars.  Instead lookup the name from
16663         the uid associated with the stdin tty.
16665 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
16667         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
16668         These were found when building the latest grep snapshot on IRIX 6.5.
16669         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
16670         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
16671         never used later.
16672         * lib/quotearg.c (quoting_options_from_style):
16673         * lib/xstrtol.c (__xstrtol):
16674         Use enum instead of 0, to pacify IRIX 6.5 cc.
16676 2014-04-18  Pádraig Brady  <P@draigBrady.com>
16678         gitlog-to-changelog: revert inclusion of git-log-fix file
16679         * build-aux/git-log-fix: Delete dummy file.
16680         * modules/gitlog-to-changelog: Don't reference (overwrite)
16681         the project specific git-log-fix file.
16683 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
16685         maint.mk: Relax the copyright check to cater for non FSF projects
16686         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
16687         to not require the "Free" suffix after the copyright years.
16689 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
16691         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
16692         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
16693         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
16694         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
16695         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
16697 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
16699         exclude: port to strict C99
16700         Strict C does not allow converting a function pointer to void *
16701         and vice versa.  Pass a pointer to a function pointer instead.
16702         * lib/exclude.c (add_exclude_file):
16703         Pass the address of the function pointer.
16704         (call_addfn): And deference the address here, to match.
16706 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
16708         regex: do not depend on malloc-gnu
16709         * modules/regex (Depends-on): Remove malloc-gnu.
16710         It's no longer needed, because of the 2012-12-29 patch
16711         "regex: port to hosts where malloc (0) == NULL".
16712         Reported by Nathan Kennedy in:
16713         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
16715 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
16717         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
16718         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
16719         * doc/posix-functions/expl.texi: Mention the workaround.
16721 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16723         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
16724         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
16725         size to be zero even when the pointer is nonnull.  This
16726         accommodates the use case where P is malloc (0) and *PN is 0 on a
16727         host where malloc (0) yields nonnull.
16729 2014-04-09  Eric Blake  <eblake@redhat.com>
16731         fts: avoid unnecessary strlen calls
16732         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
16734 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16736         fts: avoid unnecessary strlen calls
16737         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
16738         when that can be faster than strlen.
16740 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16742         fts: avoid unnecessary strlen calls
16743         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
16744         (fts_build): Store the length of the dp->d_name entry in a local variable
16745         instead of calling strlen() several times via the above, removed macro.
16746         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
16747         run by ~4%, yet this reduces the execution time by about a third if run
16748         via "ltrace -c rm -rf some-dir".
16750 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16752         obstack: Remove ancient NeXTSTEP gcc support conditional
16753         This change will ease merging with glibc.  The "#if ... __NEXT__"
16754         causes a warning with -Wundef which glibc now enables by default.
16755         Problem reported by Will Newton in
16756         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
16757         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
16758         so go with that.
16759         * lib/obstack.h (__extension__):
16761 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
16763         obstack: merge with glibc changes
16764         * lib/obstack.c, lib/obstack.h: Merge from glibc.
16765         This is mostly indenting and commentary changes.
16766         Instances of 'register' have been removed.
16768 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16770         strftime: wrap macros in "do {...} while(0)"
16771         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
16772         this macro in "do {...} while(0)" to prevent false use as a
16773         single statement, e.g., in an un-braced "{}" else-block.
16774         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
16775         (strftime_case_): Remove 'else' after 'goto' - which was the
16776         only non-fatal, un-braced use of one of the above macros.
16777         Spotted by coverity (NESTING_INDENT_MISMATCH).
16779 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
16781         modechange: avoid memory leaks for invalid octal modes
16782         * lib/modechange.c (mode_compile): During the parsing of
16783         notations like +40, free the 'mc' buffer for invalid mode
16784         strings like +17777 (greater than the maximum octal mode),
16785         =18 (bad octal mode characters) or u=1 ('affected' with
16786         octal modes).
16787         Reproducer, e.g.:
16788             $ valgrind --leak-check=full chmod +17777 file
16789         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
16790         add notations +40, 00440, etc.".
16791         Spotted by coverity (RESOURCE_LEAK).
16793 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16795         gitlog-to-changelog: include a dummy git-log-fix file
16796         Problem reported by Nathan Stratton Treadway in:
16797         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
16798         * build-aux/git-log-fix: New file.
16800 2014-03-13  Jim Meyering  <meyering@fb.com>
16802         gitlog-to-changelog: also include the file, git-log-fix
16803         * modules/gitlog-to-changelog (Files): Add git-log-fix.
16804         Reported by Assaf Gordon.
16806 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
16808         regex: port to OS X 10.8.5 en_US.UTF-8 locale
16809         This fixes a bug when ignoring case and when comparing the
16810         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
16811         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
16812         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
16813         titlecase letter is neither lowercase nor uppercase, but
16814         uppercasing the titlecase letter (via towupper) yields the
16815         uppercase letter, so the two letters should match when ignoring case.
16816         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
16817         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
16818         Don't test whether a character is lowercase before uppercasing it.
16820 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
16822         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
16823         This is basically one of the options Bruno Haible proposed in:
16824         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
16825         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
16826         * lib/stdint.in.h: Use it.
16827         * modules/stdint (Depends-on): Add sys_types.
16829 2014-02-26  Pádraig Brady  <P@draigBrady.com>
16831         parse-datetime: fix crash or infloop in TZ="" parsing
16832         * lib/parse-datetime.y (parse_datetime): Break out of the
16833         TZ="" parsing loop once the second significant " is found.
16834         Also skip over any subsequent whitespace to be consistent
16835         with the non TZ= case.
16836         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
16838 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
16840         savedir: new symbol for fast-read version
16841         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
16842         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
16843         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
16844         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
16846 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
16848         unistd: port readlink to Mac OS X 10.3.9
16849         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
16850         around self-include problem in Mac OS X 10.3.9 when combined with
16851         readlink module.  Problem reported by Klaus Zietler in
16852         <http://bugs.gnu.org/16825>.
16854 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
16856         diffseq: remove TOO_EXPENSIVE heuristic
16857         Problem with diffutils reported by Vincent Lefevre in
16858         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
16859         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
16860         Although appropriate for circa-1993 hardware, these days the heuristic
16861         seems to be more trouble than it's worth.
16862         * lib/diffseq.h: Modernize citations.
16863         (struct context): Remove member too_expensive.
16864         All uses changed.
16865         (struct partition): Remove members lo_minimal, hi_minimal.
16866         All uses changed.
16867         (diag, compareseq): Remove arg find_minimal.  All uses changed.
16868         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
16869         1993 to make 'diff' run faster (but not as well) on large inputs.
16870         These days, computers are fast enough that it's typically better
16871         to run slower but more accurately.
16872         * lib/fstrcmp.c: Remove duplicate comment.
16873         * lib/fstrcmp.c (strcmp_bounded):
16874         * lib/git-merge-changelog.c (compute_differences):
16875         Adjust to diffseq.h changes.
16876         * NEWS: Document the change.
16878         savedir: simplify by using stpcpy
16879         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
16880         (streamsavedir): Use stpcpy instead.
16881         * modules/savedir (Depends-on): Add stpcpy.
16883 2014-02-21  Pádraig Brady  <P@draigBrady.com>
16885         spawn: fix link error on uclibc
16886         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
16887         to incorporate -lrt if needed (on uclibc for example).
16888         * modules/posix_spawn: Reference the substituted LIB.
16890 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
16891         timer: fix uClibc detection of threading
16892         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
16893         enabled in uClibc.
16895 2014-02-21  Eric Blake  <eblake@redhat.com>
16897         maintainer-makefiles: provide AC_PROG_SED for older autoconf
16898         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
16900 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16902         exclude: add support for posix regexps
16904         This commit adds support for POSIX extended regular expressions
16905         and fixes a long-standing memory leak (pattern buffer was never
16906         freed).  It also implements a new interface function to read
16907         exclude patterns from a FILE, which passes an additional parameter
16908         to its callback function, thereby allowing to preserve its state
16909         between invocations.
16911         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
16912         (pattern_buffer): New struct.
16913         (exclude): New member patbuf.
16914         (exclude_add_pattern_buffer): New function.
16915         (free_exclude_segment): Free regexps.
16916         (free_exclude): Free allocated pattern buffers.
16917         (exclude_patopts): New function.
16918         (file_pattern_matches): Use exclude_patopts.
16919         (add_exclude): support regexps.
16920         (add_exclude_fp): New function.
16921         (add_exclude_file): Rewrite using add_exclude_fp.
16922         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16923         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16924         (add_exclude_fp)
16925         (add_exclude_file): Rewrite using add_exclude_fp.
16926         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
16927         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
16928         (add_exclude_fp)
16929         (exclude_add_pattern_buffer): New prototypes.
16930         * modules/exclude: Depends on regex and filename.
16932 2014-02-20  Eric Blake  <eblake@redhat.com>
16934         maintainer-makefiles: use $(SED) for syntax check
16935         * modules/maintainer-makefile (configure.ac): Check for sane sed.
16936         * top/maint.mk: Change sed to $(SED).
16938 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
16939             Paul Eggert  <eggert@cs.ucla.edu>
16941         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
16942         Patch based on an idea by Dick Streefland in
16943         <https://savannah.gnu.org/patch/?7892>.
16944         * NEWS: Document this.
16945         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
16946         (direntry_t, comparison_function): New types.
16947         (direntry_cmp_name): New function.
16948         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
16949         (streamsavedir, savedir): New arg OPTION.
16950         (streamsavedir): Simplify memory allocation.
16951         (fdsavedir): Remove.
16952         * lib/savedir.h (enum savedir_option): New type.
16953         (streamsavedir, savedir): New arg OPTION.
16954         (fdsavedir): Remove.
16956 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
16958         file-type: add support for doors and other less-common file types
16959         Problem with S_ISDOOR reported by Rich Burridge.
16960         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
16961         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
16962         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
16964 2014-01-23  Eric Blake  <eblake@redhat.com>
16966         pthread: work around winpthread header pollution on mingw
16967         * lib/time.in.h: Move pthread workarounds...
16968         * lib/pthread.in.h: ...here.
16969         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
16970         detect macro pollution on mingw.
16971         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
16973 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16975         qacl: check for fchmod
16976         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
16977         and qset-acl.c both use HAVE_FCHMOD.
16979 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16981         fdopen-tests: port to Tru64
16982         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
16983         descriptor that is not open, as POSIX doesn't specify the
16984         resulting behavior and the test does not work on Tru64.
16985         Problem reported by Steven M. Schweda in:
16986         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
16988         stdalign: port to HP-UX compilers
16989         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
16990         if __HP_cc or __HP_aCC are nonzero.
16992 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
16994         strtoimax: port to platforms lacking 'long long'
16995         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
16996         check whether strtoll is declared, which causes the C file to
16997         wrongly report an error.  Problem reported by Steven M. Schweda in:
16998         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
16999         * lib/strtoimax.c (strtoull):
17000         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
17001         (strtoll): Declare only if HAVE_LONG_LONG_INT.
17003 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
17005         relocatable-perl: fix texi syntax
17006         * doc/relocatable-maint.texi: Escape braces.
17008 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
17010         relocatable-perl: like relocatable-script, but for Perl scripts
17011         * build-aux/relocatable.pl.in: Add.
17012         * doc/relocatable-maint.texi: Add documentation.
17013         * modules/relocatable-perl: Add.
17015 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
17017         tests: fix export bug in previous patch
17018         Problem reported by Jim Meyering.
17019         * tests/init.sh (re_shell): New var, which is exported instead of
17020         re_shell_.
17022         tests: simplify porting to Solaris 10 /bin/sh
17023         Some test cases in 'grep' need a shell that groks '$(';
17024         export re_shell_ for their benefit.  Problem reported for 'grep'
17025         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
17026         * tests/init.sh (re_shell_): Export if it's used.
17028 2014-01-06  Eric Blake  <eblake@redhat.com>
17030         md5, sha1, sha256, sha512: support older autoconf
17031         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
17032         for autoconf < 2.63b.
17034         include_next: port to autoconf 2.63
17035         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
17037 2014-01-04  Jim Meyering  <meyering@fb.com>
17039         maint: add a gnulib-local rule to keep non-ascii out of .texi files
17040         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
17041         so that "make sc_maint" will ding anyone who puts non-ascii
17042         in any of gnulib's .texi files.
17044 2014-01-03  Jim Meyering  <meyering@fb.com>
17046         freadable, fwritable, fwriting: declare with the "pure" attribute
17047         * lib/freadable.h (freadable): Declare with the "pure" attribute.
17048         * lib/fwritable.h (fwritable): Likewise.
17049         * lib/fwriting.h (fwriting): Likewise.
17050         Suggested by Bruno Haible.
17052         maint.mk: adapt openat.h-include-without-use test
17053         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
17054         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
17055         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
17056         With this change, running "make sc_maint" in gnulib's top-level
17057         directory now passes for me.
17059 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
17061         doc: use ASCII in .texi files where UTF-8 isn't needed
17062         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
17063         * doc/posix-functions/setkey.texi, doc/regex.texi:
17064         Use ASCII input, not UTF-8.
17066 2014-01-02  Jim Meyering  <meyering@fb.com>
17068         freading: declare with the "pure" attribute
17069         * lib/freading.h (freading): Declare with the "pure" attribute.
17071         manywarnings: remove -Wmudflap
17072         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
17073         it is no longer supported in gcc-4.9-to-be.
17075 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17077         relocatable-script: remove unused code
17078         Problem reported by Reuben Thomas in:
17079         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
17080         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
17082 2014-01-01  Jim Meyering  <meyering@fb.com>
17084         maint: fix public-submodule-commit to work with newer git
17085         * top/maint.mk (public-submodule-commit): Remove excess quoting.
17086         We were over-quoting the test arguments, and somewhere prior to
17087         version 1.8.5.2.229, git stopped removing those excess quotes,
17088         which made the test fail, since the unexpanded strings would
17089         always differ; using GIT_TRACE=1 confirmed that the git merge-base
17090         command wasn't even being run.
17092 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
17094         doc: update main copyright year
17095         * doc/gnulib.texi: Update copyright date.
17097 2014-01-01  Eric Blake  <eblake@redhat.com>
17099         version-etc: new year
17100         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
17101         * all files: run 'make update-copyright'
17103 2013-12-24  Eric Blake  <eblake@redhat.com>
17105         passfd: give nicer error for recvfd at eof
17106         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
17107         * tests/test-passfd.c (main): Enhance test to cover this.
17109 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17111         gettimeofday: port recent C++ fix to Emacs
17112         Without this further patch, Emacs won't build due to
17113         the portcheck failing.  Also, this simplifies the patch a bit.
17114         * lib/time.in.h (localtime, gmtime): Don't replace unless
17115         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
17116         * lib/time.in.h (localtime, gmtime):
17117         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
17118         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17119         * modules/time (time.h):
17120         Don't worry about the possibility of localtime and gmtime
17121         being absent; they're present in all C libraries we know about.
17122         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
17123         Don't assume sys_time is present and has been initialized.
17124         Instead, use a hack that should work even if it hasn't been.
17125         Don't use a portcheck for gmtime or localtime; this supports
17126         the hack.
17127         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
17129 2013-12-17  John W. Eaton  <jwe@gnu.org>
17131         gettimeofday: fix C++ crosscompilation
17133         Never replace gmtime and localtime by macros when compiling with
17134         C++, this prevents <ctime> from being included.
17136         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
17137         define gmtime and localtime as preprocessor macros.  Instead
17138         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
17139         REPLACE_LOCALTIME substitutions.
17140         * lib/time.in.h: Declare gmtime and localtime when needed.
17141         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
17142         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
17143         * modules/time: Depend on gettimeofday, and substitute the above
17144         variables in time.h.
17146 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
17148         qacl: port to Windows better
17149         See Eli Zaretskii in
17150         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
17151         * lib/file-has-acl.c (acl_access_nontrivial):
17152         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
17153         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
17155 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
17157         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
17158         * lib/gl_openssl.h: Cast void pointers to a specific type.
17160 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17162         open-tests: fix build failure with -Werror=old-style-declaration
17163         * tests/test-open.h: Reorder the inline to avoid the issue.
17165 2013-12-07  Pádraig Brady  <P@draigBrady.com>
17167         md5, sha1, sha256, sha512: fix link error with partial libcrypto
17168         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
17169         init time, so that if early checks find crypto routines,
17170         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
17171         avoiding link failures.
17173 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
17175         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
17176         This provides a new way to specify the default for
17177         gl_CRYPTO_CHECK, one that is reflected in the --help message.
17178         Emacs uses this, as well as the old way.
17179         This attempts to implement a suggestion by Pádraig Brady in
17180         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
17181         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
17182         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
17184         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
17185         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
17186         Add support for a new option, --with-openssl=auto, which causes
17187         the library to be used if available and silently ignored if not.
17188         Add support to allow configure.ac to specify its own
17189         default, by setting with_openssl_default before invoking gl_INIT.
17191 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
17193         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
17194         Problem reported by Daiki Ueno in:
17195         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
17196         * tests/test-open.h (__always_inline):
17197         New macro, if not already defined.
17198         (test_open): Use it.
17200 2013-12-04  Eric Blake  <eblake@redhat.com>
17202         include_next: minimize code duplication
17203         * modules/include_next (Depends-on): Add absolute-header.
17204         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
17205         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
17207 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17209         getcwd: fix compile error in configure check
17210         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
17212 2013-12-04  Pádraig Brady  <P@draigBrady.com>
17214         regex: suppress core dumps from detection code
17215         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
17216         to suppress core dumps that may well occur on glibc systems.
17217         These core dumps might not be cleaned up automatically, or could
17218         trigger some system core dump handling logic.
17220 2013-12-03  Pádraig Brady  <P@draigBrady.com>
17222         md5, sha1, sha256, sha512: support mandating use of openssl
17223         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
17224         description, to list the now 3 separate options.  also don't
17225         mention the default=no, since this is implicit given the option
17226         is described as --with-openssl rather than --without-openssl.
17227         If projects change the default they're free to document that.
17228         with --with-openssl[=yes] we now error out when the specified
17229         hash algorithm is not available in libcrypto.
17231 2013-12-03  Ivailo  <xakepa10@gmail.com>
17233         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
17234         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
17235         -Wformat-nonliteral checks, as these edge cases are part of the test.
17237 2013-12-03  Eric Blake  <eblake@redhat.com>
17239         regex: avoid glibc deadlock during configure
17240         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
17241         glibc bug 15078 in turn triggers bug 16159.
17242         Reported by Michal Privoznik.
17244 2013-12-02  Pádraig Brady  <P@draigBrady.com>
17246         md5, sha1, sha256, sha512: use openssl routines if available.
17247         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
17248         routines will be used if available, requiring apps to link @LIB_CRYPTO@
17249         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
17250         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
17251         in the standard system location.
17252         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
17253         * m4/sha256.m4: Likewise with SHA256.
17254         * m4/sha512.m4: Likewise with SHA512.
17255         * m4/md5.m4: Likewise with MD5.
17256         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
17257         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
17258         * lib/sha256.h: Likewise with SHA256.
17259         * lib/sha512.h: Likewise with SHA512.
17260         * lib/md5.h: Likewise with MD5.
17261         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
17262         * lib/sha256.c: Likewise with SHA256.
17263         * lib/sha512.c: Likewise with SHA512.
17264         * lib/md5.c: Likewise with MD5.
17265         * modules/crypto/sha1 (Link:): Add the new optional lib.
17266         (Depends-on:): Add dependency on extern-inline.
17267         * modules/crypto/sha256: Likewise.
17268         * modules/crypto/sha512: Likewise.
17269         * modules/crypto/md5: Likewise.
17270         * modules/crypto/sha1-tests: Reference the lib here too.
17271         * modules/crypto/md5-tests: Likewise.
17272         * modules/crypto/gc-des-tests: Likewise.
17273         * modules/crypto/gc-hmac-md5-tests: Likewise.
17274         * modules/crypto/gc-hmac-sha1-tests: Likewise.
17275         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17276         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17277         * modules/crypto/gc-md5-tests: Likewise.
17278         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
17279         * modules/crypto/gc-sha1-tests: Likewise.
17280         * modules/crypto/gc-tests: Likewise.
17281         * modules/crypto/hmac-md5-tests: Likewise.
17282         * modules/crypto/hmac-sha1-tests: Likewise.
17283         * modules/crypto/hmac-sha256-tests: Likewise.
17284         * modules/crypto/hmac-sha512-tests: Likewise.
17286 2013-11-29  RV1971  <rv1971@web.de>
17288         base64: (trivial) fix compilation regression on some compilers
17289         * lib/base64.c: Don't return the void function,
17290         instead split to a separate return statement.
17292 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
17294         ignore-value: revert previous code change
17295         * lib/ignore-value.h (ignore_value): Use __extension__ and
17296         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
17297         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
17298         Change the comment to try to explain this better.
17300 2013-11-27  Pádraig Brady  <P@draigBrady.com>
17302         selinux-h: improve stub types and add more stub functions
17304         * lib/se-selinux.in.h: Change security_context_t to a typedef
17305         rather than a define, as it's a pointer type and so is better
17306         as a typedef to avoid issues declaring multiple variables
17307         with the comma operator.  Also add stub for string_to_security_class().
17308         * lib/se-context.in.h: Add stub functions for
17309         context_{type,range,role,user}_get().
17311 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
17313         ignore-value: prefer GCC version back through 2.0
17314         The code didn't match the comments, so I did a bit of software
17315         archaeology.  GCC 2.0 seems to support __extension__ and
17316         __typeof__, so fix both code and comments to use 2.0.
17317         * lib/ignore-value.h (ignore_value): Use __extension__ and
17318         __typeof__ for GCC 2.0 through 3.3, too.
17320 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
17322         pty: Activate the signature wrapper of forkpty.
17323         The intended preprocessor macro HAVE_FORKPTY is
17324         never defined, yet `lib/forkpty.c' depends on it.
17326         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
17327         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
17328         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
17330 2013-11-18  Jim Meyering  <meyering@fb.com>
17331         and Paul Eggert  <eggert@cs.ucla.edu>
17333         quotearg: don't attempt to store 1 << 31 into an "int"
17334         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
17335         gcc's new -fsanitize=undefined and running its tests triggered some
17336         new test failures due to undefined behavior, all with this diagnostic:
17337           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
17338             cannot be represented in type int
17339         Rather than shifting "1" left to form a mask, shift the bits right and
17340         simply use "1" as the mask.
17342 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
17344         error: depend on stdio
17345         Problem reported by Nikos Mavrogiannopoulos in
17346         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
17347         * modules/error (Depends-on): Add stdio.
17349 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
17351         * doc/relocatable-maint.texi (Supporting Relocation): Improve
17352         wording.
17353         Reported by Reuben Thomas <rrt@sc3d.org>.
17355 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
17357         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
17358         New function and macro, to work around _DARWIN_C_SOURCE problem.
17359         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
17361 2013-11-11  Pádraig Brady  <P@draigBrady.com>
17363         base64: provide a fast path for encoding well sized buffers
17364         Avoid conditionals in the base64 encoding loop,
17365         which was seen to give 60% better throughput.
17366         * lib/base64.c (base64_encode_fast): A new function to be called
17367         when we don't want to NUL terminate, and we have enough space
17368         in the output to encode the given input.
17369         (base64_encode): Call the _fast() version when appropriate.
17370         Also remove a redundant mask with 0x3F on the first encoded byte.
17372 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
17374         extern-inline: port better to OS X 10.9
17375         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
17376         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
17377         OS X 10.9, except for g++ where the bug is still present.
17378         See <http://trac.macports.org/ticket/41033>.
17380 2013-11-08  Eric Blake  <eblake@redhat.com>
17382         fpending: fix regression on DragonFly BSD
17383         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
17384         * lib/fpending.h (__fpending): Don't declare twice.
17385         Reported by GW in
17386         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
17388 2013-11-05  Jim Meyering  <meyering@fb.com>
17390         hash: relax license to LGPLv2+, for libguestfs
17391         * modules/hash (License): Change from GPL to LGPLv2+.
17393 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
17395         intprops: port to Oracle Studio c99
17396         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
17397         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
17399 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
17401         obstack: pacify HP C
17402         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
17403         warning "conversion from pointer to smaller integer" from HP
17404         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
17405         C89 or later nowadays, so cast to void instead of int.  Privately
17406         reported by H.Merijn Brand.  Also, change header to match glibc's,
17407         to make checking against glibc easier.
17409 2013-10-29  Jim Meyering  <meyering@fb.com>
17411         maint.mk: prefer gpgv2 over gpgv
17412         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
17413         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
17414         Reported by Gary Vaughan.
17416 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
17418         isnan: port to VAX
17419         Reported by John Klos for NetBSD-5/VAX in
17420         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
17421         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
17422         (FUNC): Use it.
17424 2013-10-28  Jim Meyering  <meyering@fb.com>
17426         gnulib-tool: protect against CDPATH
17427         * gnulib-tool: Many "cd" built-in functions print a directory name
17428         to stdout when CDPATH is set, e.g.,
17429           $ bash -c 'CDPATH=/; cd tmp'
17430           /tmp
17431         Unset it, when possible.  Prompted by a comment from Bruce Korb.
17433         maint.mk: restore functionality removed by recent change...
17434         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
17435         the context of a shallow-cloned gnulib repository: "git describe"
17436         would fail in such a directory.  However, that change made it so
17437         the reported gnulib revision no longer includes the version number
17438         or a commit count, even when run from a full clone.
17439         * top/maint.mk (gnulib-version): Use the full "git describe"
17440         output when possible, e.g., the form above, rather than the
17441         abbreviated, no-tag, no-commit-count string, and fall back to
17442         using a 10-byte hash, rather than the default minimal-length
17443         hash prefix, since while the minimal-length one may be fine today,
17444         it is likely not to be unique for very long.
17446 2013-10-26  Jim Meyering  <meyering@fb.com>
17448         maint.mk: fix "release" target to build _version
17449         This fixes a bug in README-release whereby following the outlined
17450         steps, one would publish a tarball whose programs would report
17451         --version output not consistent with the package version number.
17452         This bug caused grep-2.15 to produce a grep program whose
17453         --version option made it print 2.14.56-1e3d rather than 2.15.
17454         * top/maint.mk (release): Making this target build "_version"
17455         ensures that the new version number is reflected in configure.
17457 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
17459         install-reloc: Support multi-binary installation.
17460         * build-aux/install-reloc: Support installing multiple programs in
17461         one invocation, as done by Automake starting with commit
17462         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
17463         Haible <bruno@clisp.org>, archived at
17464         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
17465         Reported by Sylvain <beuc@gnu.org>.
17467 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
17469         selinux-h: Really build without selinux when library is missing.
17470         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
17471         continue without selinux, as already told in the warning message.
17473 2013-10-21  Jim Meyering  <meyering@fb.com>
17475         regex: also remove dependency on HAVE_WCSCOLL
17476         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
17478 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
17480         xfreopen: Fix typo. s/frepoen/freopen/
17481         * lib/xfreopen.c: Fix description.
17482         * modules/xfreopen: Likewise.
17484 2013-10-21  Jim Meyering  <meyering@fb.com>
17486         regex: don't depend on wcscoll
17487         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
17488         It is no longer used.
17490 2013-10-20  Jim Meyering  <meyering@fb.com>
17492         error: add the printf attribute to a static function
17493         * lib/error.c (error_tail): Add the printf attribute, to placate
17494         gcc's -Werror=suggest-attribute=format option.
17496 2013-09-30  Jim Meyering  <meyering@fb.com>
17498         fpending, obstack, strerror-override: use pure+const function attrs
17499         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
17500         * lib/obstack.c (_obstack_allocated_p): Likewise.
17501         * lib/obstack.h (_obstack_memory_used): Likewise.
17502         (_obstack_memory_used): Likewise.
17503         * lib/strerror-override.h (strerror_override): Declare with
17504         the "const" attribute.
17506 2013-10-18  Eric Blake  <eblake@redhat.com>
17508         extern-inline: make safe for -Wundef usage
17509         Reported by Vladimir 'phcoder' Serbinenko in
17510         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
17511         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
17513 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
17515         mkfifo-tests, etc.: allow HP-UX 11.11 bug
17516         Problem reported by Daniel Richard G. in
17517         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
17518         * doc/posix-functions/mkfifo.texi (mkfifo):
17519         * doc/posix-functions/mkfifoat.texi (mkfifoat):
17520         * doc/posix-functions/mknod.texi (mknod):
17521         * doc/posix-functions/mknodat.texi (mknodat):
17522         Document the HP-UX 11.11 bug.
17523         * tests/test-mkfifo.h (test_mkfifo):
17524         Allow the HP-UX 11.11 bug.
17526 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17528         acl: allow cross-compilation to Gentoo
17529         Problem reported by Gabriel Marcano in
17530         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
17531         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
17532         test only whether it links.
17534 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17536         mgetgroups: remove dependency on realloc-gnu
17537         The dependency violates the comment in realloc-gnu, which
17538         says that tests can't depend on realloc-gnu; some tests depend
17539         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
17540         Problem reported by Daniel Richard G. in
17541         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
17542         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
17543         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
17544         not realloc-gnu.
17546 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
17548         regex-tests: port to HP-UX 11.11
17549         Problem reported by Daniel Richard G. in
17550         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
17551         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
17553 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17555         verify: document some 'assume' pitfalls
17556         * doc/verify.texi (Compile-time Assertions):
17557         Mention that 'assume (E)' can sometimes slow things down.
17558         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
17560 2013-10-10  Eric Blake  <eblake@redhat.com>
17562         strtoumax: fix typo in previous commit.
17563         * modules/strtoumax (Depends-on): Fix typo.
17564         * modules/strtoimax (Depends-on): Likewise.
17566 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17568         strtoumax: port to Solaris 8
17569         This problem was introduced in the recent HP-UX patch.
17570         Reported by Tom G. Christensen in
17571         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
17572         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
17573         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
17575 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
17577         strtoimax, strtoumax: port to HP-UX 11.11
17578         Problem reported by Daniel Richard G. in
17579         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
17580         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
17581         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
17582         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
17583         REPLACE_STRTOUMAX.
17584         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
17585         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
17586         Replace the function if defined as a macro but not as a function.
17587         * modules/inttypes-incomplete (inttypes.h): Substitute
17588         REPLACE_STRTOUMAX.
17589         * modules/strtoumax (configure.ac): Replace strtoumax if
17590         REPLACE_STRTOUMAX.
17592 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17594         strtoimax: port to HP-UX 11.11
17595         Problem reported by Daniel Richard G.
17596         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
17597         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
17598         they might clash with inttypes.h.
17600 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17602         New module 'count-trailing-zeros'.
17603         * MODULES.html.sh: Mention it.
17604         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
17605         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
17606         * modules/count-trailing-zeros-tests:
17607         * tests/test-count-trailing-zeros.c:
17608         New files.
17610         count-leading-zeros: port to MSC; support types wider than 64 bits
17611         The ideas behind the MSC port are stolen from Emacs.
17612         * lib/count-leading-zeros.h:
17613         Don't include verify.h: it's no longer needed, as types wider than
17614         64 bits are now supported.
17615         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
17616         performance with MSC.  All uses changed.  Do not assume that TYPE
17617         has at most 64 bits.
17618         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
17619         All uses changed.  Fold the subtraction from 31 into the table.
17621         count-one-bits: port to MSC; support types wider than 64 bits
17622         The ideas behind the MSC port are stolen from Emacs.
17623         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
17624         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
17625         Don't include verify.h: it's no longer needed, as types wider than
17626         64 bits are now supported.
17627         (COUNT_ONE_BITS_GENERIC): New macro.
17628         (popcount_supported) [_MSC_VER]: New inline function.
17629         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
17630         performance with MSC.  All uses changed.  Do not assume that TYPE
17631         has at most 64 bits.
17632         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
17634 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
17636         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
17637         * lib/mountlist.c (read_file_system_list): fix leak of directory
17638         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
17640 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17642         tests: improve diagnostic when an assertion fails
17643         * tests/macros.h (ASSERT): Report the assertion that failed.
17645 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17647         verify: new macro 'assume'
17648         This is taken from Emacs, and should be generally useful.
17649         * doc/verify.texi (assume): Document it.
17650         * lib/verify.h (assume): New macro.
17651         (__has_builtin): Expand to 0 if not defined.
17653 2013-09-26  Eric Blake  <eblake@redhat.com>
17655         dup2, dup3: work around another cygwin crasher
17656         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
17657         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
17658         * tests/test-dup2.c (main): Likewise.
17659         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
17660         * lib/dup3.c (dup3): Likewise.
17661         * doc/posix-functions/dup2.texi (dup2): Document it.
17662         * doc/glibc-functions/dup3.texi (dup3): Likewise.
17664         getdtablesize: work around cygwin issue
17665         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
17666         * modules/getdtablesize (configure.ac): Build replacement.
17667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
17668         * modules/unistd (Makefile.am): Expose the witness.
17669         * lib/unistd.in.h (getdtablesize): Declare replacement.
17670         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
17671         * tests/test-getdtablesize.c (main): Test it.
17672         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
17674 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
17676         pmccabe2html: escaping of special characters
17677         Escape all '<', '>', and '&' in HTML output.
17678         * build-aux/pmccabe2html (html_fnc): Call gsub()
17679         instead of sub() to capture all '<', '>', and '&'.
17680         Neither of '<' and '>' is special in a regexp,
17681         so first arguments to gsub() are corrected. Also,
17682         in replacement strings, ampersand must be escaped.
17683         Finally, '&' must be handled first, then '<' and '>'.
17685 2013-09-24  Eric Blake  <eblake@redhat.com>
17687         manywarnings: enable nicer gcc warning messages
17688         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
17689         some -f options for optimal warnings.
17691 2013-09-21  Jim Meyering  <meyering@fb.com>
17693         timespec: use the new TIMESPEC_RESOLUTION in a few more places
17694         * lib/timespec-add.c (timespec_add): Also replace 999999999
17695         with TIMESPEC_RESOLUTION - 1.
17696         * lib/timespec-sub.c (timespec_sub): Likewise.
17698 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17700         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
17701         Problem reported by Dagobert Michelsen via Eric Blake in
17702         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
17703         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
17704         not AC_COMPILE_IFELSE.
17706 2013-09-23  Eric Blake  <eblake@redhat.com>
17708         configmake: support new --runstatedir option
17709         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
17710         even if autoconf was too old to provide the command line option.
17711         * modules/configmake (Makefile.am): Propagate it to .h file.
17713 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17715         ctype, string: depend on extern-inline
17716         This is needed to complete the recent OS X fixes.
17717         Also, fix related documentation as suggested by Eric Blake.
17718         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17719         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
17720         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
17721         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
17722         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
17723         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
17724         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
17725         * doc/posix-functions/toupper.texi:
17726         List the 'ctype' gnulib module.
17727         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
17728         * doc/posix-functions/strncpy.texi:
17729         List the 'string' gnulib module.
17730         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
17731         Add string.
17732         * modules/ctype, modules/string (Depends-on): Add extern-inline.
17734 2013-09-19  Pádraig Brady  <P@draigBrady.com>
17736         userspec: support optional parameters to parse_user_spec()
17737         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
17738         then avoid group processing and treat the full spec as a user.
17739         (parse_with_separator): Allow the USERNAME and GROUPNAME to
17740         be optional params (NULL), in which case they're ignored.
17742 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17744         timespec: new function make_timespec, and new constants
17745         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
17746         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
17747         (make_timespec): New function.
17748         * lib/dtotimespec.c (dtotimespec):
17749         * lib/timespec-add.c (timespec_add):
17750         * lib/timespec-sub.c (timespec_sub):
17751         * lib/utimens.c (validate_timespec):
17752         * lib/utimensat.c (rpl_utimensat):
17753         Use these new constants and functions.
17755         stdio: OS X port of putc_unlocked + extern inline
17756         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
17757         * doc/posix-functions/putc_unlocked.texi:
17758         * doc/posix-functions/putchar_unlocked.texi:
17759         Document this portability problem.
17761         signal: OS X port of sigaddset etc. + extern inline
17762         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
17763         (sigismember): #undef on problematic Apple platforms.
17764         * doc/posix-functions/sigaddset.texi:
17765         * doc/posix-functions/sigdelset.texi:
17766         * doc/posix-functions/sigemptyset.texi:
17767         * doc/posix-functions/sigfillset.texi:
17768         * doc/posix-functions/sigismember.texi:
17769         Document this portability problem.
17771         extern-inline: do not always suppress extern inline on OS X
17772         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
17773         extern inline on Apple only if the particular compile-time
17774         configuration is known to have the problem.
17775         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
17776         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
17777         other Gnulib modules.
17779         extern-inline: document fixes for ctype and wctype macros
17780         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
17781         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
17782         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
17783         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
17784         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
17785         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
17786         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
17787         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
17788         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
17789         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
17790         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
17791         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
17792         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
17793         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
17794         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
17795         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
17796         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
17797         * doc/posix-functions/strncpy.texi:
17798         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
17799         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
17800         Document that Gnulib fixes portability problems with these
17801         functions on OS X 10.8 and earlier when called from plain inline
17802         or extern inline functions.
17804 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
17806         fflush, freadahead, fseeko: Fix for Android
17807         Suggested by Bruno Haible in:
17808         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
17809         * lib/stdio-impl.h: Use local __sfileext definition.
17811 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
17813         pmccabe2html: Portability to other awk versions.
17814         The functions systime() and strftime() are available
17815         in Gawk only.  Properly close two HTML-tags 'style'
17816         and 'span'.
17817         * build-aux/pmccabe2html (BEGIN): Store timing
17818         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
17819         systime() in HTML_COMMENT.
17820         (html_header): Correctly close tag 'style'.
17821         (END): Replace strftime() by CHRONOS_TIME.  Close
17822         tag 'span' correctly, not as 'div'.
17824 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
17826         getgroups: statement without effect
17827         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
17828         Change equality conditional to expected assignment.
17830 2013-09-09  Eric Blake  <eblake@redhat.com>
17832         glob: fix compilation
17833         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
17835 2013-09-07  Eric Blake  <eblake@redhat.com>
17837         glob: fix build for platforms without __THROW
17838         * lib/glob.in.h (__THROW): Add definition again.
17840 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
17842         regex-quote: fix buffer access out of bounds
17843         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
17844         * lib/regex-quote.c (regex_quote_spec_pcre):
17845         Fix typo that resulted in an out-of-bounds read.
17847 2013-09-04  Eric Blake  <eblake@redhat.com>
17849         glob: avoid -Wattribute warnings on glibc
17850         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
17851         __THROWNL, not __THROW, on static functions.
17852         * lib/glob.in.h (__THROW): Adjust...
17853         (__THROWNL): ...accordingly.
17855 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
17857         headers: check that _GL_INLINE_HEADER_BEGIN is defined
17858         Suggested by Bruce Korb in:
17859         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
17860         * doc/extern-inline.texi (extern inline):
17861         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
17862         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
17863         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
17864         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
17865         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
17866         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
17867         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
17868         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
17869         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
17870         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
17871         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
17872         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
17873         * lib/xtime.h:
17874         Check that _GL_INLINE_HEADER_BEGIN is defined.
17876 2013-08-29  Pádraig Brady  <P@draigBrady.com>
17878         bootstrap: remove the --version requirement from ancillary tools
17879         * build-aux/bootstrap (check_exists): A new refactored function to
17880         determine if a command exists.
17881         (find_tool): Use the new function which does not require the
17882         --version option to be supported.
17883         (check_versions): Use the new function.
17885 2013-08-26  Simon Josefsson  <simon@josefsson.org>
17887         gc: support HMAC-SHA256 and HMAC-SHA512.
17888         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
17889         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
17890         functions.
17891         (gc_hmac_md5): Use symbolic constant.
17892         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
17893         (gc_hmac_sha256, gc_hmac_sha512): New functions.
17894         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
17895         * m4/sha256.m4: Protect against empty expansion.
17896         * m4/sha512.m4: Likewise.
17897         * lib/hmac-sha256.c: New file.
17898         * lib/hmac-sha512.c: Likewise.
17899         * m4/gc-hmac-sha256.m4: Likewise.
17900         * m4/gc-hmac-sha512.m4: Likewise.
17901         * m4/gc-sha256.m4: Likewise.
17902         * m4/gc-sha512.m4: Likewise.
17903         * modules/crypto/gc-hmac-sha256: Likewise.
17904         * modules/crypto/gc-hmac-sha256-tests: Likewise.
17905         * modules/crypto/gc-hmac-sha512: Likewise.
17906         * modules/crypto/gc-hmac-sha512-tests: Likewise.
17907         * modules/crypto/hmac-sha256: Likewise.
17908         * modules/crypto/hmac-sha256-tests: Likewise.
17909         * modules/crypto/hmac-sha512: Likewise.
17910         * modules/crypto/hmac-sha512-tests: Likewise.
17911         * tests/test-gc-hmac-sha256.c: Likewise.
17912         * tests/test-gc-hmac-sha512.c: Likewise
17913         * tests/test-hmac-sha256.c: Likewise.
17914         * tests/test-hmac-sha512.c: Likewise
17916 2013-08-24  Daiki Ueno  <ueno@gnu.org>
17918         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
17919         of AC_CHECK_DECLS.
17921 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
17923         selinux-at: omit unnecessary include
17924         * lib/selinux-at.c: Don't include dosname.h; not needed, since
17925         this source file doesn't use its macros, and subsidiary files that
17926         use the macros already include it.
17928 2013-08-21  Eric Blake  <eblake@redhat.com>
17930         d-ino: avoid false negative on symlink
17931         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
17932         Reported by Stephane Chazelas.
17934 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
17936         bootstrap: port to OpenBSD sed
17937         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
17938         does not interpret `-' as a file argument to mean stdin.
17940 2013-08-15  Eric Blake  <eblake@redhat.com>
17942         warnings: minor optimization
17943         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
17945         warnings: check -Wfoo rather than -Wno-foo
17946         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
17947         -Wno-, test if the compiler recognizes the positive form instead.
17949 2013-08-15  Karl Berry  <karl@gnu.org>
17951         * config/srclist-update: add option "doclicense" to placate
17952         pulling *.texi files from Emacs.  Write terse usage
17953         documentation at the top.
17955 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
17957         xvasprintf-tests: port to GCC with hardening flags
17958         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
17959         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
17960         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
17962 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
17964         fpending: port to recent Cygwin change to stdio_ext.h
17965         Reported by LRN in
17966         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
17967         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
17968         just declare __fpending unless it's a macro.
17969         A duplicate decl shouldn't hurt.
17970         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
17971         call compiles and links, instead of separately checking for
17972         decl and lib function.
17973         * modules/fpending (configure-ac):
17974         Adjust to fpending.m4's renaming of shell variable.
17976 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
17978         sys_time: port to OpenBSD
17979         * lib/sys_time.in.h: Simply delegate to the system's header
17980         in the BSDish cases as well.  Problem reported by Mike Miller in
17981         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
17982         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
17983         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
17984         wider than time_t.
17986 2013-08-09  Pádraig Brady  <P@draigBrady.com>
17988         bootstrap: support checksum utils having -c but not --status
17989         * build-aux/bootstrap: Only look for sha1sum if updating po files.
17990         Add sha1 to the list of supported checksum utils since it's now
17991         supported through adjustments below.
17992         (update_po_files): Remove the use of --status
17993         in a way that will suppress all error messages, but since this is
17994         only used to minimize updates, it shouldn't cause an issue.
17995         Exit early if there is a problem updating the po file checksums.
17996         (find_tool): Remove the check for --version support as this
17997         is optional as per commit 86186b17.  Don't even check for the
17998         presence of the command as if that is needed, it's supported
17999         through configuring prerequisites in bootstrap.conf.
18000         Prompt that when a tool isn't found, one can define an environment
18001         variable to add to the hardcoded search list.
18003 2013-08-05  Jim Meyering  <meyering@fb.com>
18005         regex: port to non-glibc/lock-using systems
18006         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
18007         system with GNULIB_LOCK would fail due to absence of the
18008         included "glthread/lock.h".  This would affect any package
18009         for which the "lock" module is used only by the regex module,
18010         and not explicitly used.
18011         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
18012         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
18013         Add a dependency on the "lock" module.
18015 2013-07-20  Daiki Ueno  <ueno@gnu.org>
18017         localecharset: make locale_charset thread-safe on Mac OS X
18018         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
18019         instead of MB_CUR_MAX.
18021 2013-07-20  Daiki Ueno  <ueno@gnu.org>
18023         gettext: update to version 0.18.3
18024         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
18025         require AC_PROG_SED to allow user to specify custom sed command when
18026         generating en@quot PO file.
18028 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
18030         bootstrap: use correct source when copying build-aux files
18031         * build-aux/bootstrap (gnulib_extra_files): This variable is
18032         relative to upstream gnulib layout, not downstream.
18034 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18036         tmpdir: fix bug in VMS port
18037         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
18038         See Steven M. Schweda in
18039         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
18041 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
18043         tmpdir: port to VMS, to // != /, and to long dirs
18044         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
18045         __secure_getenv, so that we're more like the glibc version.
18046         All uses changed.
18047         (path_search): Don't put slash after directory if __VMS.
18048         Problem reported by Steven M. Schweda in
18049         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
18050         Simplify code to add slash; no need for a loop.
18051         Do not remove trailing slash from "//".
18052         Do not assume dlen <= INT_MAX.
18054 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
18056         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
18057         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
18058         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
18059         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
18061         accept4, dup3, pipe2: port to Cygwin
18062         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
18063         * lib/accept4.c (accept4) [O_BINARY]:
18064         * lib/dup3.c (dup3) [O_BINARY]:
18065         * lib/pipe2.c (pipe2) [O_BINARY]:
18066         Use set_binary_mode, not setmode.
18067         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
18068         * modules/binary-io (Depends-on): Remove module indicator.
18069         These last two bits undo the previous change to pipe2 and binary-io.
18071 2013-07-09  Pádraig Brady  <P@draigBrady.com>
18073         mountlist: add support for deallocating returned list entries
18074         * lib/mountlist.c (free_mount_entry): A new exported function
18075         to deallocate a mount list entry.
18076         (read_file_system_list): Refactor to use the new deallocation function.
18077         Suggested by Anton Ovchinnikov.
18079 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
18081         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
18082         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
18083         * lib/stdalign.in.h (_Alignas, _Alignof):
18084         Port to FreeBSD 9.1, and to C11 and C++11.
18085         (_Alignas): Also support ICC.
18086         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
18087         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
18089 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18091         fnmatch: don't goto over declaration
18092         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
18093         undefined behavior for goto over a declaration.
18094         Problem reported by Charlie Brown in
18095         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
18097         pipe2: decouple from binary-io a bit
18098         This is for Emacs, which needs pipe2 but not binary-io.
18099         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
18100         * modules/binary-io (Depends-on): Add module indicator.
18102 2013-07-03  Eric Blake  <eblake@redhat.com>
18104         mgetgroups: relax license to LGPLv2+
18105         * modules/getugroups (License): Change from GPLv3+.
18106         * modules/mgetgroups (License): Likewise.
18107         * modules/getgroups (License): Change from LGPLv3+.
18109         xalloc-oversized: relax license to LGPLv2+
18110         * modules/xalloc-oversized (License): Change from GPLv3+.
18112         nproc: relax license to LGPLv2+
18113         * modules/nproc (License): Change from LGPLv3+.
18115         bootstrap: honor --no-git
18116         * build-aux/bootstrap: Don't even try to use git when user is
18117         pointing to a static checkout.
18119 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
18121         ignore-value: port to gcc -pedantic
18122         * lib/ignore-value.h (ignore_value):
18123         Port to gcc -pedantic, by using __extension__.
18124         Reindent as per usual gnulib style nowadays.
18125         Simplify GCC version check.
18127 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18129         extern-inline: port to gcc -std=c89
18130         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
18131         Do not use __gnu_inline__ if pedantic and pre-C99.
18133 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
18135         doc: document extern-inline
18136         * doc/extern-inline.texi: New file.
18137         * doc/gnulib.texi (alloca-opt): Include it.
18138         * m4/extern-inline.m4: Move some comments to documentation,
18139         and others closer to what they describe.
18141         doc: chatter less
18142         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
18143         (updated-stamp): Use it.  This causes 'make' to output just
18144         one file name rather than zillions.
18146         fflush, fseeko: port to musl cross-compiles
18147         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
18148         on some implementation that (1) is not known to be buggy,
18149         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
18150         cross-compiled to so we can't easily check for lack of
18151         conformance.  This is for cross-compiling to musl.
18152         Reported by Rich Felker in
18153         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
18154         * m4/fclose.m4 (gl_FUNC_FCLOSE):
18155         * m4/fflush.m4 (gl_FUNC_FFLUSH):
18156         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
18157         Adjust to above change.
18158         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
18159         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
18160         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
18161         known not to work, or unknown.
18163 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18165         msvc-inval: port to mingw-w64
18166         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
18167         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
18168         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
18170 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
18172         getcwd-lgpl: port to Tru64
18173         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
18174         Problem reported by Steven M. Schweda in
18175         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
18177         tests: port large-fd POSIX spawn tests to OS X
18178         Problem reported by Daiki Ueno in
18179         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
18180         * tests/test-posix_spawn_file_actions_addclose.c:
18181         * tests/test-posix_spawn_file_actions_adddup2.c:
18182         * tests/test-posix_spawn_file_actions_addopen.c:
18183         Include <limits.h>, for OPEN_MAX, if available.
18184         (big_fd): New static function.
18185         (main): Use it.
18187 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
18189         tests/nap.h: use an adaptive delay to avoid ctime update issues
18190         The recent change in nap.h (5191133e) decreased the probability of lost
18191         races to about a third, however such problems could still be observed
18192         in virtual machines and openSUSE's OBS.
18193         Before, nap() detected the needed time once empirically and then used
18194         that delay (together with a small correction multiplier) in further
18195         calls.  This problem has been reported and discussed several times,
18196         including guesses about possible kernel issues:
18197         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
18198         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
18199         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
18200         http://bugs.gnu.org/12820
18201         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
18202         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
18203         Now, nap() avoids the race alltogether by verifying on a reference
18204         file whether a timestamp difference has happened.
18205         * tests/nap.h (nap_fd): Define file descriptor variable for the
18206         witness file.
18207         (nap_works): Change return value to bool.  Change passing
18208         the old file's status by value instead of by reference as this function
18209         does no longer update that timestamp; rename the function argument from
18210         st to old_st.  Remove the local variables cdiff and mdiff because that
18211         function now returns true/false instead of the precise delay.
18212         (guess_delay): Remove function.
18213         (clear_tmp_file): Add new function to close and unlink the witness file.
18214         (nap): Instead of re-using the delay which has been calculated during
18215         the first call, avoid the race by actually verifying that a timestamp
18216         difference can be observed on the current file system.  Use an adaptive
18217         approach for the delay to minimize execution time.  Assert that the
18218         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
18219         = 2^31 - 1 = 2.1s.
18220         Use atexit to call clear_tmp_file when the process terminates.
18222 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
18224         sig2str: port to C++
18225         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
18226         Reported by Daniel J Sebald in
18227         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
18229 2013-05-30  Eric Blake  <eblake@redhat.com>
18231         docs: mention cygwin shortcoming in <sys/un.h>
18232         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
18234         vasnprintf: silence mingw compiler warning
18235         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
18237 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
18239         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
18240         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
18241         This fixes a porting bug I recently reintroduced in regex, and
18242         some other instances that I discovered while testing the fix.
18243         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
18244         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
18245         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
18246         with an empty argument if this is a pedantic pre-C99 GCC.
18247         * lib/verify.h: Do not use _Static_assert if this is a pedantic
18248         pre-C11 GCC.
18250         regex: adapt to locking regime instead of depending on pthread
18251         Instead of depending on pthread, adapt to whatever thread
18252         modules are in use.  Problem reported by Ludovic Courtès in
18253         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
18254         and by Mats Erik Andersson in
18255         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
18256         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18257         Support either the 'lock' module, or the 'pthread' module, or
18258         no module.
18259         (lock_lock, lock_unlock): New macros.
18260         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
18261         * modules/lock, modules/pthread (configure.ac): Add module indicator.
18262         * modules/regex (Depends-on): Remove pthread.
18264 2013-05-22  Eric Blake  <eblake@redhat.com>
18266         getgroups: document portability issues
18267         * doc/glibc-functions/initgroups.texi (initgroups): Mention
18268         multithread safety.
18269         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
18270         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
18271         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
18272         getugroups.
18273         * doc/posix-functions/getgroups.texi (getgroups): Mention
18274         multithread safety and mgetgroups.
18276 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
18278         test-lchown, test-chown: also skip test if chown fails with EPERM
18279         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
18280         skip this test, to handle FAT file systems.
18281         * tests/test-chown.h (test_chown): Likewise.
18283 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18285         regex: fix dfa race in multithreaded uses
18286         Problem reported by Ludovic Courtès in
18287         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
18288         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
18289         New macros.  All uses of __libc_lock_define, __libc_lock_init
18290         changed to use the first two of these.
18291         (__libc_lock_lock, __libc_lock_unlock): New macros, for
18292         non-glibc platforms.
18293         (struct re_dfa_t): Define the lock unconditionally.
18294         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
18295         '#ifdef _LIBC"s.
18296         * modules/regex (Depends-on): Add pthread, if we use the
18297         included regex.
18299         * lib/regcomp.c: Do actions that are not needed for glibc,
18300         but may be needed elsewhere.
18301         (regfree, re_compile_internal): Destroy the lock.
18302         (re_compile_internal): Check for lock-initialization failure.
18304         malloca: port to compilers that reject size-zero arrays
18305         This fixes a bug introduced in my previous patch.
18306         * lib/malloca.c (struct preliminary_header): Use an int
18307         rather than a character array of size int; that's simpler.
18308         (struct header): Remove, replacing with ...
18309         (union header): New type.  This avoids the need for declaring a
18310         character array of size zero, which is not allowed on some platforms.
18311         All uses changed.
18313 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
18315         parse-datetime, tests: don't use "string" + int
18316         Recent versions of 'clang' complain about C source code that
18317         uses expressions of the form '"string literal" + integer',
18318         I guess on the theory that it's confusing for readers who are
18319         used to C++.  On those grounds I suppose it's OK to make this
18320         minor style change.
18321         * lib/parse-datetime.y (parse_datetime):
18322         * tests/test-fchdir.c (main):
18323         * tests/test-snprintf-posix.h (test_function):
18324         * tests/test-snprintf.c (main):
18325         * tests/test-vasnprintf-posix.c (test_function):
18326         * tests/test-vasnprintf.c (test_function):
18327         * tests/test-vsnprintf.c (main):
18328         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
18329         Rewrite '"str" + E' to '&"str"[E]'.
18331 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
18333         argmatch: port to C++
18334         * lib/argmatch.h [__cplusplus]: Add extern "C".
18336         argp: typo fix
18337         * lib/argp-help.c: Typo in comment.
18339 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
18341         manywarnings: update for GCC 4.8.0
18342         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18343         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
18344         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
18345         -Wmissing-noreturn, as they are duplicates of other warnings.
18346         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
18347         was documented to be flaky in earlier versions of GCC.
18349         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
18350         * tests/test-spawn.c (main):
18351         * tests/test-sys_socket.c (main):
18352         * tests/test-sys_wait.c (main):
18353         Don't have a switch value that isn't covered by a case.
18355         getaddrinfo-tests: port --enable-gcc-warnings to clang
18356         * tests/test-getaddrinfo.c (simple):
18357         Avoid casts from looser to stricter-aligned pointers.
18359         thread: port --enable-gcc-warnings to clang
18360         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
18361         Include <signal.h>, to pacify a warning about pthread_sigmask.
18363         stdio: use __REDIRECT for fwrite, fwrite_unlocked
18364         * lib/stdio.in.h (fwrite):
18365         When working around bug 11959, use __REDIRECT rather than '#define
18366         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
18367         fix the -Wunused-value issue with clang, and it works with GCC too.
18368         Problem with targeting reported by Eric Blake in
18369         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
18370         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
18371         debugging the fwrite issue.
18373         stdio: port --enable-gcc-warnings to clang
18374         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
18375         since the GCC workaround for fwrite does not pacify clang.
18377         sig2str: port --enable-gcc-warnings to clang
18378         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
18380         obstack: port --enable-gcc-warnings to clang
18381         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
18382         Avoid casts from looser to stricter-aligned pointers.
18384         memchr2: port --enable-gcc-warnings to clang
18385         * lib/memchr2.c (memchr2):
18386         Avoid casts from looser to stricter-aligned pointers.
18388         mbsstr: port --enable-gcc-warnings to clang
18389         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
18390         Avoid casts from looser to stricter-aligned pointers.
18392         malloca: port --enable-gcc-warnings to clang
18393         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
18394         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
18396         inttostr: port --enable-gcc-warnings to clang
18397         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
18399         warnings: port to clang
18400         Problem reported by Daniel P. Berrange via Eric Blake in
18401         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
18402         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
18403         (gl_WARN_ADD): Use it.
18405 2013-05-11  Jim Meyering  <meyering@fb.com>
18407         quotearg: do not read beyond end of buffer
18408         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
18409         end of an ARG for which no length was specified.  With an N-byte
18410         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
18411         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
18412         via coreutils' misc/sort-debug-keys.sh test and detected by running
18413         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
18414         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
18415         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
18416         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
18417         characters correctly."
18419 2013-05-11  Daiki Ueno  <ueno@gnu.org>
18421         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
18422         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
18423         compilation target is Mac OS X 10.6.
18424         Problem reported by parafin and Andoni Morales in
18425         <http://savannah.gnu.org/bugs/?37844> and
18426         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
18428 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
18430         mkdir-p: remove assumptions about umask and mode
18431         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
18432         umask is 0, or that MODE is a subset of MODE_BITS.
18434 2013-05-10  Eric Blake  <eblake@redhat.com>
18436         maint.mk: catch more abuse of HAVE_DECL in syntax-check
18437         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
18439 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
18441         deps: require Automake >= 1.9.6 in generated Makefile fragments
18443         That is the same minimal version required in the DEPENDENCIES file.
18444         Moreover, the old code generated a requirement of Automake >= 1.5,
18445         and that is an insanely outdated version.
18447         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
18448         * tests/havelib/rpathlx/Makefile.am: Likewise.
18449         * tests/havelib/rpathly/Makefile.am: Likewise.
18450         * tests/havelib/rpathlyx/Makefile.am: Likewise.
18451         * tests/havelib/rpathlz/Makefile.am: Likewise.
18452         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
18453         * tests/havelib/rpathx/Makefile.am: Likewise.
18454         * tests/havelib/rpathy/Makefile.am: Likewise.
18455         * tests/havelib/rpathz/Makefile.am: Likewise.
18457 2013-05-08  Eric Blake  <eblake@redhat.com>
18459         bootstrap: AC_INIT may have more than four parameters
18460         * build-aux/bootstrap (extract_package_name): Correctly extract
18461         non-empty tarname field.  Avoid range in regex.
18462         Based on a report by Sami Kerola <kerolasa@iki.fi>.
18464 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18466         qacl: port to MS-Windows port of GNU Emacs
18467         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
18468         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
18469         port of GNU Emacs.  Problem reported by Eli Zaretskii in
18470         <http://bugs.gnu.org/14295#14>.
18472 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
18474         acl: include quote.h
18475         * lib/copy-acl.c: Include quote.h.
18476         * lib/set-acl.c: Likewise.
18478 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
18480         fchownat, renameat, unlinkat: update statat dependencies
18481         These modules use statat and lstatat, not fstatat; so depend on
18482         the statat module, which was split out recently from fstatat.
18483         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
18484         * modules/renameat: Likewise.  Also delete fstat.
18485         URL: http://bugs.gentoo.org/468790
18487 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
18489         Assume gnulib is checked out from Git, not CVS
18491         In fact, access to the gnulib repository through CVS has been
18492         disabled, or more precisely, got broken and was never restored; see:
18493         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
18495         Note that support for CVS is not removed completely and unthinkingly
18496         by this change: only support for CVS checkouts of gnulib itself is
18497         removed.  For example, the 'bootstrap' script still cater to .cvsingore
18498         files and CVS directories, for the benefit of those poor gnulib clients
18499         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
18501         * gnulib-tool: Simplify accordingly.
18502         * posix-modules: Likewise.
18503         * MODULES.html.sh: Likewise.
18504         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
18505         repository.
18506         * doc/gnulib-intro.texi: Likewise.
18507         * doc/gnulib-readme.texi: Likewise.
18508         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
18509         sample '.gitignore' file rather than a sample '.cvsignore'.
18510         * NEWS: Update.
18511         * m4/extensions.m4: While at it, remove a comment mistakenly referring
18512         to "CVS Autoconf" rather than "git Autoconf".
18514 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
18516         utimensat-tests, etc.: try to fix some races
18517         Problem reported by Bernhard Voelker in
18518         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
18519         I don't know whether this patch fixes that race condition, but it
18520         fixes *some* race conditions, so it should be a win.
18521         * modules/chown-tests (Depends-on):
18522         * modules/fchownat-tests (Depends-on):
18523         * modules/fdutimensat-tests (Depends-on):
18524         * modules/futimens-tests (Depends-on):
18525         * modules/lchown-tests (Depends-on):
18526         * modules/stat-time-tests (Depends-on):
18527         * modules/utimens-tests (Depends-on):
18528         * modules/utimensat-tests (Depends-on):
18529         Depend on nanosleep, not usleep.
18530         * modules/chown-tests (test_chown_LDADD):
18531         * modules/lchown-tests (test_lchown_LDADD):
18532         * modules/stat-time-tests (test_stat_time_LDADD):
18533         New macro.
18534         * modules/fchownat-tests (test_fchownat_LDADD):
18535         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
18536         * modules/futimens-tests (test_futimens_LDADD):
18537         * modules/utimens-tests (test_utimens_LDADD):
18538         * modules/utimensat-tests (test_utimensat_LDADD):
18539         Add $(LIB_NANOSLEEP).
18540         * modules/stat-time-tests (Files): Add tests/nap.h.
18541         * tests/nap.h: Include <limits.h>, for INT_MAX.
18542         (lt_mtime): Remove.
18543         (diff_timespec): New function.
18544         (get_stat): Rename from get_mtime.  All callers changed.
18545         (nap_works): Determine the needed delay by inspecting the
18546         file system's timestamp jumps; this should be more reliable.
18547         Look at both mtime and ctime, and take the maximum of the two jumps.
18548         (nap_works, guess_delay):
18549         Return a nanosecond count, not a microsecond count.
18550         All callers changed.
18551         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
18552         failure.
18553         (nap): Multiply the guess by 1.125, to accommodate the case where
18554         the file system's clock is a bit slower than nanosleep's clock.
18555         * tests/test-stat-time.c (BASE): New macro.
18556         Include nap.h.
18557         (nap): Remove; nap.h now defines this.  This removes a duplicate
18558         implementation of 'nap'.
18560         utimens, utimensat: work around Solaris UTIME_OMIT bug
18561         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
18562         Linux kernel 2.6.32 does.  Work around it in the same way.
18563         * doc/posix-functions/futimens.texi (futimens):
18564         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
18565         * lib/utimens.c (fdutimens, lutimens):
18566         * lib/utimensat.c (rpl_utimensat): Work around the bug.
18568         gettext: now it's your responsibility to add -I$(top_builddir)/intl
18569         Formerly, it was your responsibility to do this for all Makefile.ams
18570         other than Gnulib's.  Now it's your responsibility to do it for
18571         Gnulib's Makefile.am, too.
18572         * NEWS: Document this.
18573         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
18575         acl: include errno.h to get errno
18576         Reported by Daiki Ueno in
18577         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
18578         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
18580 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
18582         tests: don't assume getdtablesize () <= 10000000
18583         * modules/cloexec-tests:
18584         * modules/dup2-tests:
18585         * modules/dup3-tests:
18586         * modules/nonblocking-tests:
18587         * modules/posix_spawn_file_actions_addclose-tests:
18588         * modules/posix_spawn_file_actions_adddup2-tests:
18589         * modules/posix_spawn_file_actions_addopen-tests:
18590         * modules/unistd-safer-tests:
18591         Depend on the getdtablesize module.
18592         * tests/test-cloexec.c:
18593         * tests/test-dup-safer.c:
18594         * tests/test-dup2.c:
18595         * tests/test-dup3.c:
18596         * tests/test-fcntl.c:
18597         * tests/test-nonblocking.c:
18598         * tests/test-posix_spawn_file_actions_addclose.c:
18599         * tests/test-posix_spawn_file_actions_adddup2.c:
18600         * tests/test-posix_spawn_file_actions_addopen.c:
18601         Don't assume getdtablesize () <= 10000000.
18603 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
18605         extern-inline: work around bug in Sun c99
18606         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18607         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
18609 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
18611         qacl: new module, broken out from the acl module
18612         This is for GNU Emacs, which wants the acl functions but does
18613         not want 'error' invoked when they fail.
18614         * lib/acl-internal.h: Do not include error.h, quote.h.
18615         (ENOSYS, ENOTSUP): Remove; no longer needed.
18616         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
18617         * lib/acl.h: Include <stdbool.h>.
18618         (acl_errno_valid): New function.
18619         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
18620         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
18621         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
18622         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
18623         (ACL_INTERNAL_INLINE): Remove; no longer needed.
18624         * lib/file-has-acl.c (file_has_acl):
18625         * lib/qcopy-acl.c (qcopy_acl):
18626         * lib/qset-acl.c (qset_acl):
18627         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
18628         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
18629         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
18630         lib/file-has-acl.c, m4/acl.m4 to qacl module.
18631         Add lib/set-acl.c.
18632         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
18633         Add qacl.
18634         (configure.ac): Move gl_FUNC_ACL to qacl module.
18635         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
18636         Rename set-mode-acl.c to set-acl.c.
18637         * lib/acl-errno-valid.c: New file.
18638         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
18639         copy_acl function remains in copy-acl.c.
18640         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
18641         (_): Remove; not needed.
18642         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
18643         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
18644         * modules/qacl: New file, moved from the old modules/acl.
18645         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
18646         Remove set-mode-acl.c, copy-acl.c.
18647         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
18649         alignof, intprops, malloca: port better to IBM's C compiler
18650         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
18651         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
18652         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
18654 2013-04-25  Daiki Ueno  <ueno@gnu.org>
18656         wctype-h: fix gettext link error on mingw
18657         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
18658         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
18659         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
18660         rpl_towupper and rpl_towupper.
18662 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
18664         regex-tests, regex: allow glibc re_search behavior
18665         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
18666         re_search input data to make the multi-character collating element
18667         in it clearly visible, and treat re_search return code 0 as valid.
18668         * m4/regex.m4 (gl_REGEX): Likewise.
18670 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18672         stdalign: doc fix
18673         * doc/posix-headers/stdalign.texi (stdalign.h):
18674         Gnulib doesn't support '_Alignof expr'.
18676 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
18678         stdalign: port to stricter ISO C11
18679         ISO C11 says that _Alignof's operand must be a parenthesized type.
18680         Problem reported by Eli Zaretskii in
18681         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
18682         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
18683         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
18685 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
18687         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
18688         Problem reported by Marco Atzeri in
18689         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
18690         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
18691         Simply delegate to the system <sys/select.h> in this case too.
18692         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
18693         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
18694         be needed on Solaris either.
18695         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
18696         Simply delegate to the system <sys/time.h> in this case.
18698 2013-03-19  Karl Berry  <karl@gnu.org>
18700         * build-aux/gnupload: check for erroneous (with gnupload) use of
18701         ftp-upload.gnu.org, tweak help.
18703 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
18705         copy-file, rpmatch: fix problems found by cppcheck
18706         Reported by Arno Onken in
18707         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
18708         * lib/rpmatch.c (try): Fix memory leak.
18709         * lib/copy-file.c: Include "ignore-value.h".
18710         (qcopy_file_preserving): Ignore chown value.
18711         * modules/copy-file (Depends-on): Add ignore-value.
18713 2013-01-27  Jim Meyering  <jim@meyering.net>
18715         prefix-gnulib-mk: give better diagnostics
18716         * build-aux/prefix-gnulib-mk: Don't just "die".
18717         Give better diagnostics upon failure.
18719 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
18721         putenv: port to Solaris 10
18722         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
18723         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
18724         is not what is wanted here.
18725         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
18726         declaration, not for its existence.
18728 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
18730         mktime: fix configure typo
18731         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
18733 2013-03-12  Eric Blake  <eblake@redhat.com>
18735         regex-tests: skip UTF-8 test on mingw
18736         * modules/regex-tests (Depends-on): Add localcharset.
18737         * tests/test-regex.c (main): Use it to skip test on mingw.
18739 2013-03-11  Eric Blake  <eblake@redhat.com>
18741         tests: make it easier to bypass alarm time in debugger
18742         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
18743         * tests/test-memmem.c (main): Likewise.
18744         * tests/test-passfd.c (main): Likewise.
18745         * tests/test-ptsname.c (main): Likewise.
18746         * tests/test-ptsname_r.c (main): Likewise.
18747         * tests/test-strcasestr.c (main): Likewise.
18748         * tests/test-strstr.c (main): Likewise.
18750         regex: port to mingw's recent addition of undeclared alarm
18751         * doc/posix-functions/alarm.texi (alarm): Document that alarm
18752         exists but still doesn't work in newer mingw.
18753         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
18754         not existence.  Ensure SIGALRM is not trapped.
18755         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
18756         * m4/regex.m4 (gl_REGEX): Likewise.
18757         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
18758         * tests/test-regex.c (main): Use correct probe for alarm.
18760         putenv: avoid compilation warning on mingw
18761         * lib/putenv.c (_unsetenv): Protect variable declaration.
18762         (putenv): Fix indentation.
18764 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
18766         unistd: don't prevent Tru64 Unix from using gnulib strtod.
18767         * lib/unistd.in.h: be careful not to include un-needed system
18768         stdlib.h from here, because that prevents gnulib stdlib.h from
18769         defining rpl_strtod correctly.
18771 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
18773         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
18774         changesets, but for the 'precision 0' test.
18775         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18776         round-to-even, since POSIX says rounding is implementation-defined
18777         and OS X 10.8.2 rounds 1.51 to 1 here.
18779         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
18780         changeset.
18781         * tests/test-vasprintf-posix.c (test_function): Don't insist on
18782         round-to-even, since POSIX says rounding is implementation-defined
18783         and OS X 10.8.2 rounds 1.5 to 1 here.
18785 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
18787         vasnprintf-posix-tests: allow rounding 1.5 to 1
18788         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
18789         round-to-even, since POSIX says rounding is implementation-defined
18790         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
18791         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
18793         bootstrap: port to FreeBSD
18794         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
18795         that treat '--' differently.  Reported by Mats Erik Andersson in
18796         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
18798 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
18800         regex: rename remaining __attribute calls to __attribute__.
18801         2012-02-25 changed definition of __attribute, but left some uses
18802         unchanged, preventing compilation of regex module on most non-gcc
18803         environments.
18804         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
18805         (lookup_collation_sequence_value, build_range_exp)
18806         (build_collating_symbol): Set attributes with newly renamed
18807         __attribute__ decorator.
18808         * lib/regex_internal.c (re_string_peek_byte_case)
18809         (re_node_set_compare, re_node_set_contains): Likewise.
18810         * lib/regexec.c (acquire_init_state_context): Likewise.
18812 2013-03-06  Bruno Haible  <bruno@clisp.org>
18814         execute: Revert last change, but use a different condition.
18815         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
18816         on Windows.
18818 2013-03-05  Eric Blake  <eblake@redhat.com>
18820         execute: drop dead code
18821         * lib/execute.c (nonintr_close, nonintr_open): Delete.
18823 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
18825         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
18826         * m4/non-recursive-gnulib-prefix-hack.m4
18827         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
18828         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
18829         <http://bugs.gnu.org/10305#237>.
18831 2013-03-04  Eric Blake  <eblake@redhat.com>
18833         test-getsockopt: avoid compiler warning
18834         * tests/test-getsockopt.c (includes): Ensure close is declared.
18836 2013-03-02  Bruno Haible  <bruno@clisp.org>
18838         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
18839         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
18841 2013-03-02  Bruno Haible  <bruno@clisp.org>
18843         gettext: Update to version 0.18.2.
18844         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
18845         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
18846                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
18848 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
18850         regex: merge patches from libc
18852         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
18853         * lib/regex_internal.h (__attribute__): Rename from __attribute.
18854         All uses changed.
18855         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
18856         (re_string_wchar_at, re_string_elem_size_at):
18857         Mark function as possibly unused.
18859         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
18860         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
18861         elements compare against the byte sequence of it, not its name.
18863 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
18865         putenv: port better to native Windows
18866         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18867         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
18868         (_unsetenv): Use _putenv if available.
18869         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
18870         a bit less likely to cause damage.
18871         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
18872         Fix the wrong value with SetEnvironmentVariable.
18873         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
18874         code better.
18876 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
18878         regex: ignore old-style-definition warnings
18879         * lib/regex.c: Add pragma to ignore these warnings.
18880         Problem reported for GNU tar by Pavel Raiskup.
18882 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
18884         getcwd: support coreutils better
18885         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
18886         but this might not be correct in coreutils, which disables
18887         the raw decl checks.  Problem reported by Nagendra in
18888         <http://bugs.gnu.org/10305#192>.
18889         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
18890         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
18891         Test the getcwd function, not any macro, since getcwd.c wants the
18892         function.
18893         * m4/getcwd.m4 (gl_FUNC_GETCWD):
18894         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
18895         compile, as might happen if there's a macro but no function.
18897         strtod: support coreutils better
18898         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
18899         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
18900         disables the raw decl checks.  This assumes there is an underlying
18901         strtod, but that's a safe assumption these days.
18902         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
18904         mountlist: port to HP NonStop
18905         Reported by Joachim Schmitz in
18906         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
18907         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
18908         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
18910 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
18912         extern-inline: avoid compilation error with HP-UX cc
18913         Reported by Richard Lloyd in
18914         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
18915         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
18916         Suppress extern inline with HP-UX cc.  This should be safe,
18917         though it may hurt performance.  Perhaps someone with some HP-UX
18918         experience can come up with a higher-performance fix.
18920 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
18922         putenv: fix heap corruption with mixed putenv/_putenv
18923         Problem reported by Michael Goffioul in
18924         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
18925         * lib/putenv.c (putenv) [HAVE__PUTENV]:
18926         Rely on _putenv to allocate the new environment.
18927         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18928         * modules/putenv (configure.ac): Use it.
18930 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
18932         unsetenv etc.: port to Solaris 11 + GNU Emacs
18933         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
18934         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
18935         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
18936         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
18937         idea but is too painful to fix right now), and without this gnulib
18938         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
18939         compiling unsetenv.c on Solaris 11.  Fix the problem for
18940         unsetenv.c, and fix other similar occurrences.
18942 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18944         secure_getenv: fix C++ declaration typo
18945         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
18946         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
18947         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
18949 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18951         careadlinkat: stop exporting careadlinkatcwd
18952         Only Emacs used it directly, and Emacs no longer needs it.
18953         * NEWS: Document this simplification.
18954         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
18955         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
18956         for readlink.
18957         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
18958         Don't include stdlib.h; no longer needed.
18959         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
18960         * lib/relocwrapper.c: Adjust comment to match new dependencies.
18961         * modules/areadlink (Depends-on): Add readlink.
18962         (Maintainer): Add self.
18963         * modules/careadlinkat (Depends-on): Remove readlink.
18965         extensions: port better to HP-UX
18966         This is merged from git Autoconf.
18967         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18968         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
18969         so that it's compatible with the value used when compiling.
18971         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
18972         Problem reported by Mats Erik Andersson in
18973         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
18974         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
18975         openpty function exists, not merely when we intend to replace it.
18976         This corrects the 2013-01-31 patch, which mistakenly defined
18977         HAVE_OPENPTY even on hosts that lacked it.
18979 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
18981         secure_getenv: fix include typo
18982         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
18984         secure_getenv: port better to FreeBSD and Solaris
18985         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
18986         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
18987         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
18988         This works better on BSDish platforms.
18989         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
18990         Test for issetugid if __secure_getenv is missing.
18992 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18994         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
18995         Some of these changes are merged in from git Autoconf.
18996         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
18997         When deciding whether to define _XOPEN_SOURCE, inspect the
18998         preprocessor macro __hpux instead of the more-heavyweight
18999         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
19000         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
19001         as the key for __EXTENSIONS__.
19003         unistd: avoid namespace pollution on non-glibc systems
19004         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
19005         This avoids namespace pollution on non-glibc systems, by causing
19006         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
19007         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
19008         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
19010 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
19012         tmpdir: use secure_getenv
19013         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
19014         Define to secure_getenv, not getenv.
19015         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
19016         as that's now secure_getenv's job.
19017         * modules/tmpdir (Depends-on): Add secure_getenv.
19019         tempname: use secure_getenv
19020         * lib/tempname.c (__secure_getenv) [!_LIBC]:
19021         Define to secure_getenv, not getenv.
19022         * modules/tempname (Depends-on):
19023         Add secure_getenv.
19025         secure_getenv: new module
19026         * MODULES.html.sh (Extra functions based on ANSI C 89):
19027         Add secure_getenv.
19028         * doc/glibc-functions/secure_getenv.texi: New file.
19029         * doc/gnulib.texi: Include it.
19030         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
19031         New files.
19032         * lib/stdlib.in.h (secure_getenv): New decl.
19033         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
19034         * modules/stdlib (stdlib.h):
19035         Add secure_getenv checks.
19037 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
19039         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
19040         Reported for OS X 10.8.2 by Assaf Gordon in
19041         <http://bugs.gnu.org/13516>.
19042         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
19043         !HAVE_OPENAT && !HAVE_FDOPENDIR.
19044         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
19045         so that they can be kept in sync more easily.  Avoid PATH_MAX
19046         test on the Hurd.  Sync from test-getcwd.c for errno tests after
19047         mkdir or chdir failure.
19048         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
19049         lib/getcwd.c.
19050         (test_abort_bug): Do not test for the deep directory bug unless we
19051         have openat support.  Avoid PATH_MAX test on the Hurd.
19053         regex-tests, regex: fix bug: memset undeclared
19054         * tests/test-regex.c: Don't include regex.h twice.  Include
19055         string.h, to declare memset.  Christensen's report also mentioned
19056         this issue.
19057         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
19058         test-regex.c, to avoid future problems like this.  Remove
19059         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
19060         twice.
19062         regex-tests: fix link errors on older Solaris
19063         These need to link with @LIBINTL@ to get libintl_gettext.
19064         Problem reported by Tom G. Christensen in
19065         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
19066         * modules/regex-tests (test_regex_LDADD): New macro.
19068 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
19070         regex-tests: new module
19071         * modules/regex-tests, tests/test-regex.c: New files.
19073         regex: fix off-by-one error in configure test
19074         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
19076 2013-01-31  Eric Blake  <eblake@redhat.com>
19078         regex: avoid infinite configure test
19079         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
19081 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
19083         openpty: fix bug where HAVE_OPENPTY wasn't defined
19084         See the thread starting at:
19085         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
19086         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
19087         openpty function exists, not merely when we intend to replace it.
19089 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
19091         sys_time: port to Solaris 2.6
19092         There is a circularity problem on Solaris 2.6, where <time.h> includes
19093         <sys/time.h> for struct timespec.  The include nesting is gnulib
19094         <time.h>, system <time.h>, gnulib <sys/time.h>, system
19095         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
19096         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
19097         <sys/siginfo.h>; the last, innermost file needs struct
19098         timestruc_t, which is defined in <sys/time.h>, which has not been
19099         fully parsed.  Problem reported by Tom G. Christensen in
19100         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
19101         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
19102         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
19103         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
19104         uses split double-inclusion guards.
19106 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19108         regex: test for buffer overrun
19109         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
19110         for the just-fixed regex bug.
19112 2013-01-29  Andreas Schwab  <schwab@suse.de>
19114         regex: fix buffer overrun in regexp matcher [BZ #15078]
19115         * lib/regexec.c (extend_buffers): Add parameter min_len.
19116         (check_matching): Pass minimum needed length.
19117         (clean_state_log_if_needed): Likewise.
19118         (get_subexp): Likewise.
19120 2013-01-28  Pádraig Brady  <P@draigBrady.com>
19122         mountlist: don't consider "devtmpfs" as dummy
19123         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
19124         as there is storage associcated with it.
19126 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
19128         futimens-tests, utimens-tests: Depend on gettext.
19129         This works around a problem introduced in my 2013-01-12 patch,
19130         which added @LIBINTL@ to these modules.
19131         * modules/futimens-tests (Depends-on):
19132         * modules/utimens-tests (Depends-on): Add gettext.
19134 2013-01-26  Eric Blake  <eblake@redhat.com>
19136         test-getpeername: fix typo
19137         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
19139 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
19141         bootstrap: remove the need for a sorted .gitignore file
19142         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
19143         rename to insert_if_absent(), so that we don't need or generate
19144         a sorted .gitignore file.  We do require a .gitignore with no
19145         existing duplicate entries and enforce that.
19146         (sort_patterns): Remove this function as we now use the simpler
19147         technigue of inserting blacklist entries at the top of the file,
19148         assuming gnulib won't be inserting !whitelist entries.
19150 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19152         readlinkat: don't depend on gl_FUNC_OPENAT
19153         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
19154         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
19155         renameat.m4, symlinkat.m4; but one thing at a time.
19157         statat: new module, split out from fstatat
19158         GNU Emacs needs the POSIX-specified fstatat, but not the
19159         gnulib-specified statat and lstat.  Split the latter two into a
19160         new module 'statat'.
19161         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
19162         * lib/openat.h, lib/statat.c (STATAT_INLINE):
19163         Rename from FSTATAT_INLINE. All uses changed.
19164         * modules/fstatat (Files): Remove lib/statat.c.
19165         (gl_MODULE_INDICATOR([fstatat])): Remove.
19166         (lib_SOURCES): Remove.
19167         (Maintainer): Add self.
19168         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
19169         * tests/test-fstatat.c (BASE): Don't define if already defined.
19170         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
19172 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
19174         tests: don't assume fd 99 is closed
19175         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
19176         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
19177         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
19178         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
19179         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
19180         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
19181         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
19182         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
19183         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
19184         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
19185         * tests/test-fwrite.c, tests/test-getpeername.c:
19186         * tests/test-getsockname.c, tests/test-getsockopt.c:
19187         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
19188         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
19189         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
19190         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
19191         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
19192         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
19193         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
19194         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
19195         * tests/test-unlinkat.c, tests/test-unlockpt.c:
19196         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
19197         Close file descriptor 99, instead of assuming it's already closed.
19199 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19201         stpncpy: port to OS X 10.8
19202         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
19203         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
19205 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
19207         unistd: port to recent mingw
19208         * lib/unistd.in.h: Remove special invocation convention for mingw,
19209         which breaks for the latest mingw version.  See John W. Eaton in
19210         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
19212         largefile: port better to Mac OS X 10.5
19213         This patch is backported from Autoconf git.
19214         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
19215         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
19216         with ino_t size being different for configuration time versus
19217         build/run time.  Problem reported by PHO in
19218         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
19220 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
19222         doc: clarify -Werror
19223         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
19224         clarify that it's intended for developers, not for ordinary builds,
19225         and mention --enable-gcc-warnings as one possible use.
19227 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
19229         stdint: fix build with Android's Bionic fox x86
19230         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
19231         was already included as _SSIZE_T_DEFINED_ might also be defined
19232         in include/machine/_types.h, which is included by stdio.h
19234 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
19236         net_if-tests: port to Solaris 7 + GCC 3.4.6
19237         Problem reported by Tom G. Christensen in
19238         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
19239         * tests/test-net_if.c (ni): Move to next the code that uses it,
19240         so that it's declared only if needed.
19242 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
19244         net_if-tests: port to older Solaris
19245         Problem reported by Tom G. Christensen in
19246         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19247         * modules/net_if-tests (NET_IF_LIB): New substitution.
19248         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
19249         (HAVE_IF_NAMEINDEX): New C macro.
19250         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
19252         system-quote-tests: port to older Solaris
19253         Problem reported by Tom G. Christensen in
19254         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19255         * tests/test-system-quote-child.c (fopen, fread): Undef.
19257         c-xvasprintf etc.: fix link errors on older Solaris
19258         These need to link with @LIBINTL@ to get libintl_gettext.
19259         Problem reported by Tom G. Christensen in
19260         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
19261         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
19262         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
19263         * modules/futimens-tests (test_futimens_LDADD):
19264         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
19266 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
19268         locale: port to Solaris 2.6 and 7 + GNU gettext
19269         * lib/locale.in.h: Just include_next <locale.h> when
19270         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
19271         when combining the localename module with GNU gettext 0.18.2.
19272         Problem reported by Tom G. Christensen in
19273         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
19275 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
19277         stdlib: port to Solaris 2.6
19278         Also, the code worked on Solaris 7 through 9 only by accident.
19279         Problem reported by Tom G. Christensen in
19280         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
19281         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
19282         simply include the system stdlib.h.
19283         * lib/getopt.in.h (__need_system_stdlib_h):
19284         * lib/pthread.in.h (__need_system_stdlib_h):
19285         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
19286         Define when including <stdlib.h>, to avoid problems at least for
19287         the pthread case on Solaris 2.6 and 7.  These .h files can get by
19288         with the system stdlib.h.
19290 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
19292         doc: update main copyright year
19293         * doc/gnulib.texi: Update copyright date.
19295         doc: improve ISO 8601 discussion
19296         * doc/parse-datetime.texi (Combined date and time of day items):
19297         Specify more carefully what formats are supported and what is
19298         done with excess precision.
19300 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
19302         doc: avoid small caps
19303         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
19304         they're more trouble than they're worth.  Suggested by Karl Berry
19305         in <http://bugs.gnu.org/13360>.
19307         regex: conform to strict C
19308         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
19309         From Aharon Robbins.
19311         gnulib-tool: fix incompatibility with autopoint 0.18.2
19312         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
19313         Problem reported by Tom G. Christensen in
19314         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
19316 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
19318         fprintftime: bring back and reword fwrite comment
19319         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
19321         stdio: remove now-unnecessary stdio.c
19322         Since stdio.in.h no longer uses inline functions, we no longer
19323         need to compile the extern versions.
19324         * lib/stdio.c: Remove.
19325         * modules/stdio (Files): Remove lib/stdio.c.
19326         (lib_SOURCES): Remove.
19328         unicodeio: depend on stdio, not ignore-value
19329         * lib/unicodeio.c: Do not include ignore-value.h.
19330         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
19331         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
19333         fprintftime: depend on stdio, not ignore-value
19334         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
19335         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
19336         since the stdio module arranges to silence that warning now.
19337         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
19339 2012-10-04  Simon Josefsson  <simon@josefsson.org>
19341         stdint-tests: Fix expanded-before-required-warning.
19342         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
19344 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
19346         fwrite: silence __wur only for older glibc versions
19347         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
19348         This will help us remove this workaround some time in the far future.
19350 2013-01-03  Eric Blake  <eblake@redhat.com>
19352         fwrite: silence __wur without using inline
19353         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
19354         just gcc, and in a way that avoids inline issues.
19355         * modules/stdio (Depends-on): Drop extern-inline.
19357 2013-01-03  Jim Meyering  <jim@meyering.net>
19359         update-copyright: avoid copyright notice date corruption
19360         Given a sequence of copyright year numbers in which the final
19361         one was a two-digit number that happened to be a substring of
19362         a preceding four-digit year number, we would mistakenly update
19363         the substring (from two- to four-digit) rather than the two-digit
19364         number at the end, which, combined with the addition of the current
19365         4-digit year number would yield two 5-digit year numbers, e.g.,
19366         here, it would convert the first "99" to "1999, 2013" rather than
19367         the final one:
19368           1991, 99
19369           11999, 20131, 1999
19370         * build-aux/update-copyright: Tighten a regexp.
19371         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
19372         Reported by Joseph Myers in
19373         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
19375 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
19377         regex: omit needless signed-pointer casts
19378         * lib/regcomp.c (build_charclass, build_charclass_op):
19379         Use char *, not unsigned char *, for class name and extra.
19380         The char values are always nonnegative so there's no need to
19381         insist on unsigned char * here, and using char * removes the need
19382         for casts.  Reported by Aharon Robbins in
19383         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19385         regex: support Gawk, which never uses alloca
19386         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
19387         Do not include in this case.  Gawk doesn't supply a substitute
19388         alloca.h and doesn't need one.
19390         regex: port __libc_lock_define usage to C89
19391         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
19392         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
19393         does not conform to C89, as it has an empty macro argument.
19394         Reported by Aharon Robbins in
19395         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19397 2013-01-01  Eric Blake  <eblake@redhat.com>
19399         maint: update all copyright year number ranges
19400         Run "make update-copyright".
19402         version-etc: bump copyright year reported in --version
19403         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
19405 2012-12-31  Eric Blake  <eblake@redhat.com>
19407         sigprocmask-tests: skip test if pid is unexpectedly large
19408         * tests/test-sigprocmask.c (main): Add range check.
19410         git-version-gen: avoid test -z portability glitch
19411         * build-aux/git-version-gen: Prefer portable test spelling, since
19412         git-version-gen is run on more than just developer machines.
19414 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
19416         git-version-gen: add --fallback option to use if git is not present
19417         * build-aux/git-version-gen: Add support for the new option --fallback,
19418         which comes into play when there is no $tarball_version_file and
19419         git is not working.
19420         (scriptversion): Update.
19422         maint.mk: handle missing git with more grace
19423         * top/maint.mk (no-submodule-changes, public-submodule-commit):
19424         Quietly proceed if git is not present.
19426 2012-12-31  Eric Blake  <eblake@redhat.com>
19428         dup2: work around cygwin bug
19429         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
19430         * lib/dup2.c (rpl_dup2): Work around it.
19431         * doc/posix-functions/dup2.texi (dup2): Document it.
19433 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
19435         regex: remove unnecessary dependency on localcharset.h
19436         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
19437         hasn't been needed for years.
19438         * modules/regex (Depends-on): Remove localcharset.
19440         regex: revert single-byte change
19441         * lib/regexec.c (check_node_accept_bytes): Revert previous change
19442         to this function.  This was alredy fixed in a different way, at
19443         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
19444         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
19445         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
19447         regex: simplify based on Gawk version
19448         * lib/regex_internal.c (re_dfa_add_node): Simplify.
19449         Reported by Aharon Robbins in
19450         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19452 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
19454         regex: check that pattern char is single-byte
19455         Reported by Aharon Robbins in
19456         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19457         * lib/regexec.c (check_node_accept_bytes):
19458         Return 0 if the pattern string has a multibyte character here.
19460         regex: implement rational ranges
19461         Reported by Aharon Robbins in
19462         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19463         * lib/regcomp.c (build_range_exp) [!_LIBC]:
19464         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
19465         Implement rational ranges.
19467         regex: avoid redefining __wctype
19468         Reported by Aharon Robbins in
19469         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19470         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
19471         #undef before defining.
19473         regex: port to hosts where malloc (0) == NULL
19474         Reported by Aharon Robbins in
19475         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19476         * lib/regex_internal.c (re_node_set_alloc):
19477         Don't assume that malloc (0) yields nonnull.
19478         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
19479         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
19480         * modules/regex (Files): Add m4/eealloc.m4.
19482         regex: port to C89
19483         Reported by Aharon Robbins in
19484         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
19485         * lib/regcomp.c (init_word_char): Declaration before statement.
19487         regex: merge glibc changes
19488         Also, copy the license wording from glibc.  This simplifies
19489         merging changes.  gnulib-tool will change the wording to GPL as
19490         appropriate, when importing it to other packages.  The only
19491         glibc change made since the last merge, which needs merging, is:
19492         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
19493         * lib/regex_internal.h (gettext): Remove use of INTUSE.
19495         * users.txt: Add Emacs.
19497         doc: omit mention of version when not needed
19498         * doc/gnulib-intro.texi (Portability and Application Code):
19499         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
19500         Don't mention particular dates or versions when not necessary, so
19501         that the documentation won't go out of date so quickly.
19503         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
19505 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
19507         bootstrap: pass --force to autoreconf.
19508         * build-aux/bootstrap (AUTORECONFFLAGS): New.
19509         Add "--force" so that Automake's ylwrap and other such tools
19510         be updated at each bootstrap invocation.
19511         Use it.
19513 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
19515         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
19516         The earlier patch forgot to update one of the #if conditions, causing
19517         a problem on Debian testing i386 reported by Mats Erik Andersson
19518         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
19519         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
19520         (__argp_fmtstream_puts, argp_fmtstream_puts)
19521         (__argp_fmtstream_write, argp_fmtstream_write)
19522         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
19524         * doc/gnulib-readme.texi: Minor fixups.
19525         (Portability guidelines): Modernize URLs.  Remove some repetition.
19526         (Indent with spaces not TABs): Reword to avoid too-long lines.
19527         Remove some '@ifset standalone' stuff that isn't used.
19529         * doc/gnulib-readme.texi (Portability guidelines):
19530         ctype.h, not ctime.h.
19532         Correct name of POSIX.1-2001.
19533         * doc/posix-functions/fgetc.texi (fgetc):
19534         * doc/posix-functions/fgets.texi (fgets):
19535         * doc/posix-functions/fread.texi (fread):
19536         * doc/posix-functions/fscanf.texi (fscanf):
19537         * doc/posix-functions/getc.texi (getc):
19538         * doc/posix-functions/getchar.texi (getchar):
19539         * doc/posix-functions/scanf.texi (scanf):
19540         POSIX.1-2001, not POSIX-2001.
19542         doc: move README into manual
19543         * README: Move contents to new file doc/gnulib-readme.texi.
19544         Replace with a one-line summary.
19545         * doc/gnulib.texi (Brief Overview): New section,
19546         with old intro preface.  Include gnulib-readme.texi for contents.
19547         (Philosophy): Rename from "Introduction", since this
19548         section no longer introduces the rest.  Write a new preface.
19549         * doc/gnulib-readme.texi: New file, with the old contents of
19550         README texinfo-ized.  This way, the README info appears
19551         in the online and printed manual.
19553 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
19555         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
19556         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
19557         c_vasprintf() prototype.
19559 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
19561         c-vasprintf: Fix "empty declaration" warning reported by GCC.
19562         * lib/c-vasprintf.h: Remove stray semicolon.
19564 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
19566         gettext: avoid obsolete macro AM_PROG_MKDIR_P
19567         It is obsolete and is planned to be removed from Automake 1.14; see
19568         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
19569         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
19570         (installdirs-data, installdirs-data-yes):
19571         Use $(MKDIR_P), not $(mkdir_p).
19572         * m4/intl.m4 (AM_INTL_SUBDIR):
19573         * m4/po.m4 (AM_PO_SUBDIRS):
19574         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
19576 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
19578         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
19579         On this platform, we are not optimizing but we are using
19580         the substitute for extern inlines, so compile as if
19581         C99-style extern inline, or a substitute, is available.
19582         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
19583         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
19584         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
19585         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
19586         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
19587         Declare as ARGP_FS_EI, not as extern.
19588         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
19589         (__option_is_short, _option_is_end, __option_is_end)
19590         [!_LIBC && __USE_EXTERN_INLINES]:
19591         Declare as ARGP_EI, not as extern.
19593 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
19595         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
19596         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
19597         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
19598         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
19599         ...), as the latter is fatal with older Autoconfs.
19600         Problem reported and fix suggested by Eric Blake in thread starting at
19601         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
19603 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
19605         AC_PROG_MKDIR_P: don't workaround if not buggy
19606         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
19607         Define only for Autoconf versions before 2.62.
19608         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
19609         undocumented m4_PACKAGE_VERSION, for consistency with the
19610         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
19611         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
19612         was introduced in 2.62.
19614 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
19616         New 'c-*printf' modules for formatted output in C locale.
19618         New module 'c-vasnprintf'.
19619         * modules/c-vasnprintf: New file.
19620         * lib/c-vasnprintf.c: New file.
19621         * lib/c-vasnprintf.h: New file.
19623         New module 'c-snprintf'.
19624         * modules/c-snprintf: New file.
19625         * modules/c-snprintf-tests: New file.
19626         * lib/c-snprintf.c: New file.
19627         * lib/c-snprintf.h: New file.
19628         * tests/test-c-snprintf.c: New file.
19629         * tests/test-c-snprintf.sh: New file.
19631         New module 'c-vsnprintf'.
19632         * modules/c-vsnprintf: New file.
19633         * modules/c-vsnprintf-tests: New file.
19634         * lib/c-vsnprintf.c: New file.
19635         * lib/c-vsnprintf.h: New file.
19636         * tests/test-c-vsnprintf.c: New file.
19637         * tests/test-c-vsnprintf.sh: New file.
19639         New module 'c-vasprintf'.
19640         * modules/c-vasprintf: New file.
19641         * modules/c-vasprintf-tests: New file.
19642         * lib/c-asprintf.c: New file.
19643         * lib/c-vasprintf.c: New file.
19644         * lib/c-vasprintf.h: New file.
19645         * tests/test-c-vasprintf.c  +: New file.
19646         * tests/test-c-vasprintf.sh: New file.
19648         New module 'c-xvasprintf'.
19649         * modules/c-xvasprintf: New file.
19650         * modules/c-xvasprintf-tests: New file.
19651         * lib/c-xasprintf.c: New file.
19652         * lib/c-xvasprintf.c: New file.
19653         * lib/c-xvasprintf.h: New file.
19654         * tests/test-c-xvasprintf.c: New file.
19655         * tests/test-c-xvasprintf.sh: New file.
19657 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
19659         argp: better 'inline'
19660         Use extern-inline module to declare extern inline functions.
19661         This avoids some bogus warning diagnostics.  Problem discovered
19662         when modifying GNU tar to use the manywarnings module.
19663         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
19664         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
19665         Define based on extern-inline.
19666         * modules/argp (Depends-on): Add extern-inline.
19668 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
19670         filemode, sys_stat: Handle MPX files a la AIX.
19671         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
19672         * lib/sys_stat.in.h (S_ISMPX): New macro.
19673         * tests/test-sys_stat.c: Add tests for MPX files.
19675 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
19677         x-to-1: honor $PERL
19678         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
19679         a chance to use his preferred version of Perl.  This is typically
19680         required by Darwin users whose default /usr/bin/perl does not have all
19681         the libraries required by help2man, and who need to use their MacPorts
19682         installation of Perl instead.
19684 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19686         gnu-web-doc-update: add all the new files, even in new directories
19687         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
19688         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
19689         Use it.
19690         (main): Don't use cvsutils to get the list of unknown files,
19691         just add all the existing files and directories.
19693 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
19695         gnu-web-doc-update: improve --help
19696         * build-aux/gnu-web-doc-update: Move comments into --help.
19698 2012-12-07  Eric Wong  <normalperson@yhbt.net>
19700         mountlist: recognize more "dummy" file systems
19701         * lib/mountlist.c (ME_DUMMY_0):
19702         Add these dummy FS names to the list:
19703         - "debugfs" virtual filesystem for kernel debugging
19704         - "devpts" PTY slave filesystem
19705         - "devtmpfs" device filesystem on top of tmpfs/ramfs
19706         - "fusectl" control filesystem for FUSE
19707         - "mqueue" enumerates POSIX message queues
19708         - "rpc_pipefs" kernel <-> userspace bridge for NFS
19709         - "sysfs" is for exporting kernel objects
19710         - "devfs" device filesystem for Linux 2.4 and FreeBSD
19712 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
19714         extern-inline: avoid incompatibility with Darwin Libc
19715         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
19716         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
19717         Problem reported by Akim Demaille in
19718         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
19720 2012-12-11  Simon Josefsson  <simon@josefsson.org>
19722         gnupload: Work with GnuPG using gpg-agent (for smartcards).
19723         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
19724         let it handle password prompting.
19726 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
19728         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
19729         * lib/canonicalize.c (canonicalize_filename_mode):
19730         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
19731         fetching the current directory.  Don't overrun the beginning of
19732         rpath if there's no slashes after the MS-Windows drive letter.
19734 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
19736         maint.mk: avoid extra forks
19737         * top/maint.mk (_cfg_mk): The GNU make manual documents that
19738         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
19739         So use that instead of "$(shell test -f FILE && echo FILE)".
19741 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
19743         vasnprintf: fix ASCII_ONLY typo
19744         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19745         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19746         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
19747         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
19748         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
19750 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
19752         list, oset, xlist, xoset: fix extern inline issue with C99
19753         This was introduced by my recent changes for 'inline'.
19754         Problem reported for gettext by Daiki Ueno in
19755         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
19756         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
19757         (gl_list_nx_create, gl_list_size, gl_list_node_value)
19758         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
19759         (gl_list_previous_node, gl_list_get_at)
19760         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
19761         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
19762         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
19763         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
19764         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
19765         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
19766         (gl_list_iterator_free, gl_sortedlist_search)
19767         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
19768         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
19769         (gl_sortedlist_remove):
19770         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
19771         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
19772         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
19773         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
19774         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
19775         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
19776         (gl_list_add_at, gl_sortedlist_add):
19777         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
19778         Wrap these extern decls inside "#if 0", because they are implemented
19779         as inline functions, and extern inline is not what's wanted here.
19780         It would simplify these .h files to remove the extern decls entirely,
19781         although a downside would be less-clear separation between
19782         specification and implementation.
19784 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
19786         sys_stat: no 'static inline'
19787         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
19788         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
19790         extern-inline: no 'static inline'
19791         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
19792         Do not require AC_C_INLINE.
19793         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
19794         'static inline', for older compilers.
19796         snippet/warn-on-use: no 'static inline'
19797         * build-aux/snippet/warn-on-use.h:
19798         Remove unnecessary 'inline' in comment.
19800         rbtree-list, rbtreehash-list: no 'static inline'
19801         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
19802         * lib/gl_anytree_list2.h (node_at):
19803         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
19804         (gl_oset_first, add_nodes_to_buckets):
19805         Now static, not static inline.
19807         regex: no 'static inline'
19808         * lib/regex_internal.c (calc_state_hash):
19809         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
19810         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
19811         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
19812         Now static, not static inline.
19813         (inline) [__GNUC__ < 3 && _LIBC]:
19814         Remove macro; no longer needed.
19816         xvasprintf: no 'static inline'
19817         * lib/xvasprintf.c (xstrcat):
19818         Now static, not static inline.
19819         * m4/xvasprintf.m4 (gl_XVASPRINTF):
19820         Do not require AC_C_INLINE.
19822         parse-datetime, parse-duration: no 'static inline'
19823         * lib/parse-datetime.y (to_uchar):
19824         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
19825         (scale_n_add):
19826         Now static, not static inline.
19827         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
19828         * modules/parse-duration (configure.ac):
19829         Do not require AC_C_INLINE.
19831         getaddrinfo: no 'static inline'
19832         * lib/getaddrinfo.c (validate_family):
19833         Now static, not static inline.
19834         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
19835         Do not require AC_C_INLINE.
19837         ftruncate, fts, lstat, openat, raise: no 'static inline'
19838         * lib/ftruncate.c (chsize_nothrow):
19839         * lib/fts.c (opendirat, diropen):
19840         * lib/lstat.c (orig_lstat):
19841         * lib/openat.c (orig_openat):
19842         * lib/raise.c (raise_nothrow):
19843         Now static, not static inline.
19844         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
19845         * m4/fts.m4 (gl_FUNC_FTS_CORE):
19846         * m4/lstat.m4 (gl_PREREQ_LSTAT):
19847         * m4/openat.m4 (gl_PREREQ_OPENAT):
19848         * m4/raise.m4 (gl_PREREQ_RAISE):
19849         Do not require AC_C_INLINE.
19851         fflush, stat: no 'static inline'
19852         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19853         (clear_ungetc_buffer, disable_seek_optimization)
19854         (restore_seek_optimization, update_fpos_cache):
19855         * lib/stat.c (orig_stat):
19856         Now static, not static inline.
19857         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
19858         (update_fpos_cache):
19859         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
19860         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
19861         * m4/stat.m4 (gl_PREREQ_STAT):
19862         Do not require AC_C_INLINE.
19864         error, filevercmp: no 'static inline'
19865         * lib/error.c (is_open, flush_stdout):
19866         * lib/filevercmp.c (order):
19867         Now static, not static inline.
19868         * m4/error.m4 (gl_PREREQ_ERROR):
19869         * modules/filevercmp (configure.ac):
19870         Do not require AC_C_INLINE.
19872         dup, execute, fatal-signal, etc.: no 'static inline'
19873         * lib/dup.c (dup_nothrow):
19874         * lib/execute.c (nonintr_close, nonintr_open):
19875         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
19876         * lib/fopen.c (orig_fopen):
19877         * lib/freadseek.c (freadptrinc):
19878         * lib/freopen.c (orig_freopen):
19879         * lib/fstat.c (orig_fstat, fstat_nothrow):
19880         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
19881         (get_rusage_as_via_iterator):
19882         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
19883         * lib/getdtablesize.c (_setmaxstdio_nothrow):
19884         * lib/isatty.c (_isatty_nothrow):
19885         * lib/open.c (orig_open):
19886         * lib/read.c (read_nothrow):
19887         * lib/sigprocmask.c (signal_nothrow):
19888         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
19889         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
19890         * lib/wait-process.c (unregister_slave_subprocess):
19891         * lib/write.c (write_nothrow):
19892         Now static, not static inline.
19893         * lib/spawn-pipe.c (nonintr_open): Define only if
19894         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
19895         * m4/dup.m4 (gl_PREREQ_DUP):
19896         * m4/execute.m4 (gl_EXECUTE):
19897         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
19898         * m4/fopen.m4 (gl_PREREQ_FOPEN):
19899         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
19900         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
19901         * m4/fstat.m4 (gl_PREREQ_FSTAT):
19902         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
19903         * m4/isatty.m4 (gl_PREREQ_ISATTY):
19904         * m4/open.m4 (gl_PREREQ_OPEN):
19905         * m4/read.m4 (gl_PREREQ_READ):
19906         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
19907         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
19908         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
19909         * m4/wait-process.m4 (gl_WAIT_PROCESS):
19910         * m4/write.m4 (gl_PREREQ_WRITE):
19911         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
19912         Do not require AC_C_INLINE.
19914         c-strtod, memcoll, readutmp: no 'static inline'
19915         * lib/c-strtod.c (c_locale):
19916         * lib/memcoll.c (strcoll_loop):
19917         * lib/readutmp.c (desirable_utmp_entry):
19918         Now static, not static inline.
19919         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
19920         * m4/memcoll.m4 (gl_MEMCOLL):
19921         * m4/readutmp.m4 (gl_READUTMP):
19922         Do not require AC_C_INLINE.
19924         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
19925         * lib/arctwo.c (to_uchar):
19926         * lib/md4.c (set_uint32):
19927         * lib/md5.c (set_uint32):
19928         * lib/sha1.c (set_uint32):
19929         * lib/sha256.c (set_uint32):
19930         * lib/sha512.c (set_uint64):
19931         Now static, not static inline.  This is a bit simpler, and doesn't
19932         affect performance with GCC and default optimization.
19933         * m4/arctwo.m4 (gl_ARCTWO):
19934         * m4/md4.m4 (gl_MD4):
19935         * m4/md5.m4 (gl_MD5):
19936         * m4/sha1.m4 (gl_SHA1):
19937         * m4/sha256.m4 (gl_SHA256):
19938         * m4/sha512.m4 (gl_SHA512):
19939         Do not require AC_C_INLINE.
19941         cond, lock, thread: better 'inline'
19942         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
19943         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
19944         New macros.  Use them instead of static inline, for header functions.
19945         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
19946         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19947         * lib/glthread/lock.c (gl_waitqueue_init)
19948         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
19949         * lib/glthread/thread.c (get_current_thread_handle):
19950         Change 'static inline' to 'inline'.
19951         * lib/glthread/cond.h, lib/glthread/thread.h:
19952         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19953         * m4/cond.m4 (gl_COND):
19954         * m4/lock.m4 (gl_PREREQ_LOCK):
19955         * m4/thread.m4 (gl_THREAD):
19956         Do not require AC_C_INLINE.
19957         * modules/cond, modules/thread (Depends-on): Add extern-inline.
19959         chdir-long, cycle-check, savewd: better 'inline'
19960         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
19961         (find_non_slash):
19962         * lib/cycle-check.c (is_zero_or_power_of_two):
19963         * lib/savewd.c (savewd_delegating):
19964         Change 'static inline' to 'inline'.
19965         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
19966         Replace all remaining uses of 'static inline' with it.
19967         * lib/savewd.h:
19968         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
19969         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
19970         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
19971         * m4/savewd.m4 (gl_SAVEWD):
19972         Do not require AC_C_INLINE.
19973         * modules/savewd (Depends-on): Add extern-inline.
19975         base32, base64: no need for 'inline'
19976         * lib/base32.c (to_uchar, get_8, decode_8):
19977         * lib/base64.c (to_uchar, get_4, decode_4):
19978         Change 'static inline' to 'inline'.
19979         * m4/base32.m4 (gl_PREREQ_BASE32):
19980         * m4/base64.m4 (gl_PREREQ_BASE64):
19981         Do not require AC_C_INLINE.
19983         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
19984         * lib/gl_array_oset.c (gl_array_nx_add_at):
19985         (gl_array_remove_at):
19986         * lib/gl_linkedhash_list.c (hash_resize_after_add)
19987         (add_to_bucket, remove_from_bucket):
19988         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
19989         Change 'static inline' to 'static', as it's simpler to omit
19990         'inline' unless there's a significant performance advantage.
19992         list, oset, xlist, xoset, xsublist: simplify via extern inline
19993         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
19994         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
19995         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
19996         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
19997         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
19998         New macro.  Replace all uses of 'static inline' with it.
19999         [HAVE_INLINE]: Implement functions as *_INLINE functions,
20000         instead of as macros FOO that are defined to static inline
20001         functions FOO_inline.
20002         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
20003         * lib/gl_xsublist.c:
20004         Reimplement from scratch, by defining the corresponding *_INLINE
20005         macro and including the corresponding .h file.  This is simpler.
20006         * modules/list, modules/oset, modules/xlist, modules/xoset:
20007         (Files): Remove m4/gl_list.m4.
20008         (configure.ac): Remove gl_LIST.
20009         * m4/gl_list.m4: Remove.
20010         * modules/list, modules/oset, modules/xlist, modules/xoset:
20011         * modules/xsublist:
20012         (Depends-on): Depend on extern-inline, not inline.
20014         xalloc: better 'inline'
20015         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
20016         New macro.  Replace all uses of 'static inline' with it.
20017         (static_inline): Remove.
20018         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
20019         Let 'extern inline' do the work automatically, instead of doing
20020         it by hand.
20021         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
20022         Remove.  All uses removed.
20023         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
20025         gethrxtime: better 'inline'
20026         * lib/xtime.c: New file.
20027         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
20028         * lib/xtime.h (XTIME_INCLUDE):
20029         New macros.  Replace all uses of 'static inline' with them.
20030         * lib/gethrxtime.c (gethrxtime): Define only if
20031         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
20032         this source file is now always compiled, because of the extern inline.
20033         * lib/gethrxtime.h, lib/xtime.h:
20034         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20035         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
20036         if gethrtime works, as they're not needed in that case.
20037         (gl_XTIME): Do not require AC_C_INLINE.
20038         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
20039         compiled now.  Move the check into gl_GETHRXTIME.
20040         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
20041         (Depends-on): Add extern-inline.
20042         (configure.ac): gethrxtime is always compiled now.
20043         (lib_SOURCES): Add gethrxtime.c.
20045         wctype-h: better 'inline'
20046         * lib/wctype-h.c: New file.
20047         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
20048         New macro.  Replace all uses of 'static inline' with it.
20049         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20050         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
20051         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
20052         (Depends-on): Add extern-inline.
20054         unistd: better 'inline'
20055         * lib/unistd.c: New file.
20056         * lib/unistd.in.h (_GL_UNISTD_INLINE):
20057         New macro.  Replace all uses of 'static inline' with it.
20058         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20059         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
20060         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
20061         (Depends-on): Add extern-inline.
20063         sys_socket: better 'inline'
20064         * lib/sys_socket.c: New file.
20065         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
20066         New macro.  Replace all uses of 'static inline' with it.
20067         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20068         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
20069         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
20070         (Depends-on): Add extern-inline.
20072         stdio: better 'inline'
20073         * lib/stdio.c: New file.
20074         * lib/stdio.in.h (_GL_STDIO_INLINE):
20075         New macro.  Replace all uses of 'static inline' with it.
20076         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20077         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
20078         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
20079         (Depends-on): Add extern-inline.
20081         sigaction: better 'inline'
20082         * lib/sig-handler.c: New file.
20083         * lib/sig-handler.h (SIG_HANDLER_INLINE):
20084         New macro.  Replace all uses of 'static inline' with it.
20085         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20086         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
20087         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
20088         (Depends-on): Add extern-inline.
20090         selinux-h: better 'inline'
20091         * lib/se-context.c, lib/se-selinux.c: New files.
20092         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
20093         * lib/se-context.in.h (SE_CONTEXT_INLINE):
20094         New macro.  Replace all uses of 'static inline' with it.
20095         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20096         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
20097         New macro.  Replace all uses of 'static inline' with it.
20098         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20099         * modules/selinux-h (Files, lib_SOURCES):
20100         Add lib/se-context.c, lib/se-selinux.c.
20101         (Depends-on): Add extern-inline.
20102         (configure.ac): Do not require AC_C_INLINE.
20104         pthread: better 'inline'
20105         * lib/pthread.c: New file.
20106         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
20107         New macro.  Replace all uses of 'static inline' with it.
20108         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20109         * m4/pthread.m4 (gl_PTHREAD_CHECK):
20110         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
20111         * modules/pthread (Files): Add lib/pthread.c.
20112         (Depends-on): Add extern-inline.
20114         math: better 'inline'
20115         * lib/math.c: New file.
20116         * lib/math.in.h (_GL_MATH_INLINE):
20117         New macro.  Replace all uses of 'static inline' with it.
20118         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20119         * m4/math_h.m4 (gl_MATH_H):
20120         Do not require AC_C_INLINE.
20121         * modules/math (Files, lib_SOURCES):
20122         Add lib/math.c.
20123         (Depends-on): Add extern-inline.
20125         count-one-bits: better 'inline'
20126         * lib/count-one-bits.c: New file.
20127         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
20128         New macro.  Replace all uses of 'static inline' with it.
20129         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20130         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
20131         Do not require AC_C_INLINE.
20132         * modules/count-one-bits (Files, lib_SOURCES):
20133         Add lib/count-one-bits.c.
20134         (Depends-on): Add extern-inline.
20136         count-leading-zeros: better 'inline'
20137         * lib/count-leading-zeros.c: New file.
20138         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
20139         New macro.  Replace all uses of 'static inline' with it.
20140         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20141         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
20142         Do not require AC_C_INLINE.
20143         * modules/count-leading-zeros (Files, lib_SOURCES):
20144         Add lib/count-leading-zeros.c.
20145         (Depends-on): Add extern-inline.
20147         bitrotate: better 'inline'
20148         * lib/bitrotate.c: New file.
20149         * lib/bitrotate.h (BITROTATE_INLINE):
20150         New macros.
20151         Replace all uses of 'static inline' with them.
20152         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20153         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
20154         (Depends-on): Add extern-inline.
20155         (configure.ac): Do not require AC_C_INLINE.
20157 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
20159         maint.mk: avoid gratuitous failure
20160         Reported by Stefano Lattarini in
20161         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
20162         * top/maint.mk (public-submodule-commit): Quote more safely.
20164 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
20166         canonicalize, canonicalize-lgpl: support MS-Windows file names
20167         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
20168         for test cases, which it'd be nice to add at some point.
20169         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
20170         * lib/canonicalize.c (canonicalize_filename_mode):
20171         * lib/canonicalize-lgpl.c (__realpath):
20172         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
20173         slash is at the beginning of the file name.  Use ISSLASH, instead
20174         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
20175         the first character with '/'.  Test for
20176         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
20177         with a drive letter.
20178         * lib/canonicalize.c (SLASHES): New macro.
20179         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
20181 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
20183         fts: introduce FTS_VERBATIM
20184         * lib/fts_.h (FTS_VERBATIM): New bit flag.
20185         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
20186         * lib/fts.c (fts_open): Honor it.
20188 2012-11-09  Pádraig Brady  <P@draigBrady.com>
20190         getlogin-tests: allow errno == ENXIO
20191         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20192         with errno == ENXIO (No controlling tty).
20193         getlogin_r-tests: Likewise. Also allow errno == ENOENT
20194         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
20195         with errno == ENOENT.  This was reported to happen in various
20196         situations on GNU/Linux.
20198 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
20200         getlogin-tests: allow errno == ENOENT
20201         * tests/test-getlogin.c (main): Skip tests if getlogin fails
20202         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
20203         when running a test in an Emacs shell buffer.
20205 2012-11-08  Jim Meyering  <jim@meyering.net>
20207         tests/nap.h: avoid warning about unused variable
20208         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
20210         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
20211         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
20212         white space before each of the special-cased file names, to avoid
20213         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
20214         in http://bugs.gnu.org/12830.
20216 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
20218         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
20219         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
20220         fails with errno == EBADF when fd is opened with O_PATH.
20221         Reported by Jim Meyering in
20222         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
20223         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20224         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
20226 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
20228         test-utimens: speed up by taking shorter naps
20229         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
20230         New functions.
20231         (nap): Use them, to do a better job of guessing the delay.
20232         On Fedora 17 with ext4 atop md atop hard disks, this made
20233         test-utimens run 10x faster, because the test napped for
20234         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
20235         <http://bugs.gnu.org/12820#11>.
20237 2012-11-07  Jim Meyering  <jim@meyering.net>
20239         mountlist.c: fix a compilation failure
20240         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
20241         I introduced while transforming commit v0.0-7683-g613bcb6
20243 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20245         errno: port to LynxOS 178 2.2.2
20246         Problem reported by Joel Brobecker in
20247         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
20248         * doc/posix-headers/errno.texi (errno.h): Document this.
20249         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
20250         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
20251         Supply a string for EILSEQ.
20252         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
20254 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20256         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
20257         Linux kernel 2.6.39 introduced O_PATH (see
20258         <http://lwn.net/Articles/433854/>) and this is a better fallback
20259         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
20260         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
20261         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
20262         * lib/fcntl.in.h (O_ACCMODE):
20263         * tests/test-fcntl-h.c (main):
20264         Do not reject O_ACCMODE merely because it has more than the
20265         minimal number of bits, as POSIX allows extensions here.
20267 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
20269         mountlist: do not classify a bind-mounted dir entry as "dummy"
20270         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
20271         the "none"-testing clause.
20272         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
20273         exception for bind-mounted directories.
20275 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
20277         quote: provide a means to escape strings with nul characters
20278         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
20279         (quote, quote_n): Rename formal arguments for consistency with
20280         quotearg.
20282 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
20284         test-raise: don't assume 199 is an invalid signal
20285         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
20287         sh-quote-tests: port to Solaris 9
20288         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
20289         Problem reported by Dagobert Michelsen in
20290         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
20292 2012-10-28  Jim Meyering  <jim@meyering.net>
20294         maint.mk: rename a new configurable variable
20295         * top/maint.mk (_gl_translatable_string_re): Rename from
20296         translation-markers: _gl_ prefix to insulate from user Makefile code,
20297         and the _re suffix to inform that it's a regular expression.
20299 2012-10-26  Eric Blake  <eblake@redhat.com>
20301         maint.mk: let packages tweak sc_po_check pattern
20302         * top/maint.mk (sc_po_check): Add translation-markers, to allow
20303         finding files with other translation markers.
20305 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
20307         euidaccess: speed up 'configure' on GNU hosts
20308         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
20309         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
20310         it's needed only in this case.  Use AC_CHECK_DECLS, not
20311         AC_CHECK_DECLS_ONCE.
20312         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
20313         or AC_REQUIRE for AC_FUNC_GETGROUPS.
20315         * lib/regexec.c (re_search_internal): Fix grammar in comment.
20317 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20319         fchmodat, fchownat, fstatat: port to non-inlining compilers
20320         Problem reported for FreeBSD 9 by Jim Meyering in
20321         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
20322         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
20323         New files, which define FCHMODAT_INLINE etc.
20324         * lib/fchmodat.c (FCHMODAT_INLINE):
20325         * lib/fchownat.c (FCHOWNAT_INLINE):
20326         * lib/fstatat.c (FSTATAT_INLINE):
20327         Remove, as chmodat.c etc. now do this.
20328         * modules/fchmodat (Files): Add lib/chmodat.c.
20329         * modules/fchownat (Files): Add lib/chownat.c.
20330         * modules/fstatat (Files): Add lib/statat.c.
20332 2012-10-15  Jim Meyering  <jim@meyering.net>
20334         fchmodat.c, fchownat.c: compile-impeding typos
20335         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
20336         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
20337         Introduced in commit v0.0-7636-gd202279.
20339 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
20341         fcntl-h: support GNU flags like O_IGNORE_CTTY
20342         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
20343         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
20344         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
20345         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
20346         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
20347         Define to 0 if not already defined.
20348         * tests/test-fcntl-h.c: Test these new flags.
20350 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
20352         faccessat, etc.: support AT_FDCWD-only use
20353         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
20354         this function only if its first argument is AT_FDCWD.
20355         Emacs wants faccessat for AT_EACCESS but not for any first-arg
20356         values other than AT_FDCWD, so it doesn't want all the openat
20357         machinery with fchdir etc.
20358         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
20359         * modules/fstatat, modules/mkdirat, modules/openat (Files):
20360         * modules/unlinkat (Files):
20361         Remove lib/openat-priv.h, as at-internal supplies this file.
20362         Removing this file here allows us to support programs like Emacs
20363         that avoid at-internal.
20365         faccessat: speed up 'configure' on mainstream hosts
20366         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
20367         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
20368         since it's only on unusual platforms that we need to check for
20369         'access', and it's better not to slow 'configure' down on all
20370         platforms.
20372         faccessat: port to Solaris 10
20373         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
20374         Needed on Solaris 10, which doesn't have AT_EACCESS,
20375         so we need the Gnulib fcntl.h, which defines it.
20377 2012-10-14  Pádraig Brady  <P@draigBrady.com>
20378         canonicalize: fix C89 compilation
20379         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
20380         declarations so C89 is supported.  Also remove the comment
20381         referencing memorty allocation as the suggested feature could
20382         not be implemented as suggested.
20383         Reported by Michael Goffioul.
20385 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
20387         group-member: omit unnecessary dependencies
20388         This is for Emacs, which has its own allocator and where we
20389         don't want to use xalloc.
20390         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
20391         since we no longer use xmalloc.  Do not include stdbool.h, since
20392         the changes below happen to remove the only use of bool.
20393         (GROUPBUF_SIZE): New constant.
20394         (struct group_info): Remove n_groups member.  Add groupbuf member.
20395         This lets us get the groups without using malloc, usually.
20396         (free_group_info, get_group_info): Adjust to this.
20397         (get_group_info): Return the number of groups found, or -1 on error.
20398         Use plain malloc not xmalloc, and treat its failure as if there
20399         are no groups, as the user already loses in case of error.
20400         (group_member): Simplify, based on changes to get_group_info.
20401         * modules/group-member (Depends-on): Remove dependencies on
20402         xalloc and stdbool.  Add dependency on xalloc-oversized.
20404 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
20406         gethrxtime: port to C++
20407         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
20409 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
20411         ptsname: fix macro-name typo
20412         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
20414 2012-10-03  Simon Josefsson  <simon@josefsson.org>
20416         inttostr: Relax license.
20417         * modules/inttostr (License): Change from LGPL to LGPLv2+.
20419 2012-10-03  Eric Blake  <eblake@redhat.com>
20421         ptsname_r: support ptys returned by FreeBSD posix_openpt
20422         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
20423         lives in /dev/pts/.
20425 2012-10-02  Eric Blake  <eblake@redhat.com>
20427         pselect: reject invalid file descriptors
20428         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
20429         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
20430         * modules/pselect (Depends-on): Add dup2.
20431         * doc/posix-functions/pselect.texi (pselect): Document this.
20433         select: reject invalid file descriptors
20434         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
20435         * lib/select.c (rpl_select) [!win32]: Work around it.
20436         * modules/select (Depends-on): Add dup2.
20437         * doc/posix-functions/select.texi (select): Document this.
20439         select: enhance test
20440         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
20441         New functions.
20442         (test_function): Enhance test.
20443         (do_select_bad_fd): Avoid any stale errno values.
20445         ptsname: reject invalid file descriptors
20446         http://www.austingroupbugs.net/view.php?id=503
20447         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
20448         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
20449         * modules/stdlib (Makefile.am): Replace witness.
20450         * lib/stdlib.in.h (ptsname): Allow for replacement.
20451         * modules/ptsname (configure.ac): Trigger replacement.
20452         * doc/posix-functions/ptsname.texi (ptsname): Document this.
20454 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
20456         hash-pjw-bare: new module
20457         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
20458         * lib/hash-pjw-bare.h: Likewise.
20459         * modules/hash-pjw-bare: New file.
20460         * MODULES.html.sh (Misc): Add it.
20462 2012-10-02  Eric Blake  <eblake@redhat.com>
20464         manywarnings: cater to more gcc infelicities
20465         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
20466         -Wuninitialized without -O.
20468 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
20470         select, poll tests: Make setsockopt invocation effective.
20471         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
20472         the bind() call.
20473         * tests/test-select.h (open_server_socket): Likewise.
20475 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
20477         sockets, sys_stat: restore AC_C_INLINE
20478         This undoes the 2012-09-22 patch.
20479         * m4/sockets.m4 (gl_SOCKETS):
20480         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20481         Restore AC_C_INLINE, since MSVC requires __inline or _inline
20482         and does not support plain 'inline'.  Reported by Bruno Haible in
20483         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
20485 2012-09-30  Bruno Haible  <bruno@clisp.org>
20487         localeconv tests: Avoid test failure on OpenIndiana.
20488         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
20489         skip the 'grouping' and 'mon_grouping' tests.
20490         Reported by Jim Meyering.
20492 2012-09-30  Bruno Haible  <bruno@clisp.org>
20494         havelib: Follow libtool developments.
20495         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
20496         Suggested by Simon Josefsson.
20498 2012-09-29  Jim Meyering  <meyering@redhat.com>
20500         fstatat.c: fix a compile-impeding typo
20501         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
20502         Introduced in commit v0.0-7636-gd202279.
20503         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
20505 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
20507         extern-inline: provide a -Wundef safe config.h
20508         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
20509         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
20510         to produce a -Wundef warning free config.h.
20512 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
20514         hash-pjw: relax license to LGPLv2+
20515         * modules/hash-pjw (License): Relax, with consent of author.
20517 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20519         maint.mk: fix strict vs. lazy variable issues with RELEASE
20520         * top/maint.mk (_equal): New function.
20521         (member_check): Strip the result to avoid spurious spaces.
20522         (url_dir_list): Do not use ifeq, which is strict, as it will
20523         require RELEASE_TYPE to be defined.
20524         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
20525         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
20526         (announcement_Cc_alpha,announcement_mail_headers_alpha)
20527         (announcement_Cc_beta,announcement_mail_headers_beta)
20528         (announcement_Cc_stable,announcement_mail_headers_stable): these.
20529         (release): Do not depend on $(release-type), as it forces its
20530         evaluation.  Bounce to it.
20532 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
20534         maint.mk: formatting changes
20535         * top/maint.mk: Indent bodies of if's.
20537 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
20539         maint.mk: factor the validation of RELEASE_TYPE
20540         With help from Jim Meyering.
20541         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
20542         * top/maint.mk (_empty, _sp): Move their definition earlier.
20543         (member-check, release-type): New.
20544         Use the latter instead of $(RELEASE_TYPE).
20545         Remove now useless local checks.
20547 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20549         maint.mk: provide "make upload" to ease uploading
20550         See
20551         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
20552         Do not depend simply on the current $(VERSION), as there may have been
20553         new commits since the tarball generation.  Rather, rely on $(RELEASE),
20554         as "make release-commit" already does.
20556         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
20557         "make TYPE".
20559         * top/maint.mk (upload_command, upload, release): New.
20560         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
20561         (VERSION): first word of $(RELEASE) is always right.
20562         (emit_upload_commands): Adjust.
20563         * top/README-release: Update.
20565 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
20567         maint.mk: silent rules
20568         With help from Stefano Lattarini.
20569         * top/maint.mk (writable-files): Use $(AM_V_GEN).
20570         (announcement): Use $(AM_V_at).
20572 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
20574         localename: port gl_locale_name_thread_unsafe to FreeBSD
20575         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
20576         and use the simpler FreeBSD implementation on Mac OS X as well.
20577         Original idea suggested by Ed Maste in
20578         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
20580 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
20582         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
20583         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
20584         * lib/mbuiter.c, lib/xsize.c: New files.
20585         * lib/binary-io.h (BINARY_IO_INLINE):
20586         * lib/eealloc.h (EEALLOC_INLINE):
20587         * lib/mbfile.h (MBFILE_INLINE):
20588         * lib/mbiter.h (MBITER_INLINE):
20589         * lib/mbuiter.h (MBUITER_INLINE):
20590         * lib/xsize.h (XSIZE_INLINE):
20591         New macros.
20592         Replace all uses of 'static inline' with them.
20593         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20594         * m4/eealloc.m4 (gl_EEALLOC):
20595         * m4/mbfile.m4 (gl_MBFILE):
20596         * m4/mbiter.m4 (gl_MBITER):
20597         * m4/xsize.m4 (gl_XSIZE):
20598         Do not require AC_C_INLINE.
20599         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
20600         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
20601         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
20602         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
20603         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
20604         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
20605         * modules/binary-io, modules/eealloc, modules/mbfile:
20606         * modules/mbiter, modules/mbuiter:
20607         (Depends-on): Add extern-inline.
20609         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
20610         * lib/pipe-filter-aux.c: New file.
20611         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
20612         Replace all uses of 'static inline' with it.
20613         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20614         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
20615         (filter_retcode): No real need for inline here.
20616         * modules/pipe-filter-gi, modules/pipe-filter-ii:
20617         (Files): Add lib/pipe-filter-aux.c.
20618         (Depends-on): Add extern-inline.
20619         (configure.ac): Do not require AC_C_INLINE.
20620         (lib_SOURCES): Add pipe-filter-aux.c.
20622         fdutimensat: omit unnecessary AC_C_INLINE
20623         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
20625         fchmodat, fchownat, fstatat: use extern-inline
20626         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
20627         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
20628         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
20629         New macros.
20630         * lib/openat.h:
20631         Replace all uses of 'static inline' with them.
20632         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20633         * modules/fchmodat, modules/fchownat, modules/fstatat:
20634         * modules/openat-h:
20635         (Depends-on):
20636         Add extern-inline.
20637         (configure.ac): Remove AC_C_INLINE.
20639         acl, mbchar, priv-set: use extern-inline
20640         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
20641         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
20642         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
20643         New macros.
20644         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
20645         Replace all uses of 'static inline' with it.
20646         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
20647         * m4/acl.m4 (gl_FUNC_ACL):
20648         * m4/mbchar.m4 (gl_MBCHAR):
20649         * m4/priv-set.m4 (gl_PRIV_SET):
20650         Remove AC_C_INLINE, since 'inline' is no longer used directly.
20651         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
20652         Add extern-inline.
20654         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
20655         * m4/sockets.m4 (gl_SOCKETS):
20656         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
20657         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
20658         environments where it's already guaranteed to work, so we needn't
20659         check for it at 'configure'-time.
20661         tls-tests: omit unnecessary 'inline'
20662         * tests/test-tls.c (perhaps_yield): No longer inline.
20663         Simplicity and portability trump efficiency in test cases.
20665         utimens-tests: avoid unnecessary 'inline'
20666         * modules/fdutimensat-tests (configure.ac):
20667         * modules/futimens-tests (configure.ac):
20668         * modules/utimens-tests (configure.ac):
20669         * modules/utimensat-tests (configure.ac):
20670         Remove AC_C_INLINE.
20671         * tests/test-utimens-common.h (ctime_compare):
20672         No longer inline.  Simplicity and portability trump efficiency here.
20674         misc: don't limit commentary to inline functions
20675         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
20676         * lib/xalloc-oversized.h, lib/xsize.h:
20677         Contrast macros to functions in general, not just to inline functions,
20678         when the commentary does not apply only to inline functions.
20680 2012-09-20  Jim Meyering  <meyering@redhat.com>
20682         non-recursive-gnulib-prefix-hack: new module
20683         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
20684         the file that originated in Bison.
20685         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
20686         largely copied from a snippet that resided in bison's configure.ac.
20687         * modules/non-recursive-gnulib-prefix-hack: New file.
20688         * MODULES.html.sh (Support for maintaining and releasing projects):
20689         Add it.
20691 2012-09-18  Jim Meyering  <meyering@redhat.com>
20693         maint.mk: generalize _gl_tight_scope for non-recursive make
20694         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
20695         that *.h would describe additional .h files in the directory
20696         specified by $(_gl_TS_dir).  I.e., add this...
20697         (_gl_TS_other_headers): New variable.
20699         maint.mk: exempt trailing blanks found in "binary" files
20700         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
20701         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
20702         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20704 2012-09-17  Jim Meyering  <meyering@redhat.com>
20706         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
20707         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
20708         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
20709         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20711 2012-09-17  Jim Meyering  <meyering@redhat.com>
20713         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
20714         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
20715         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
20716         It is not in the same category as "exit (0)" or "exit (1)", and
20717         besides, I know of no symbolic name for that 77.  Reported by
20718         Richard W.M. Jones in
20719         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20721 2012-09-17  Jim Meyering  <meyering@redhat.com>
20723         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
20724         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
20725         all uses of #define, not just those that start in column 1.
20726         Richard W.M. Jones reported a false positive in
20727         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
20729 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
20731         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
20732         * lib/localcharset.c (locale_charset) [DARWIN7]:
20733         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
20734         as these two values are incompatible.  Problem reported by Max Horn.
20735         For more discussion, please see
20736         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
20738         doc: document sticky-EOF issue
20739         * doc/posix-functions/fgetc.texi (fgetc):
20740         * doc/posix-functions/fgets.texi (fgets):
20741         * doc/posix-functions/fread.texi (fread):
20742         * doc/posix-functions/fscanf.texi (fscanf):
20743         * doc/posix-functions/getc.texi (getc):
20744         * doc/posix-functions/getchar.texi (getchar):
20745         * doc/posix-functions/scanf.texi (scanf):
20746         Mention that glibc and default Solaris do not conform to
20747         C99 and POSIX-2001 or later, with respect to how getchar
20748         etc. behave when feof reports nonzero.
20750 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20752         poll: fix poll(0, NULL, msec)
20753         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
20754         but nfd is 0.  In that case poll should behave like select.
20756 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
20757             Paolo Bonzini  <bonzini@gnu.org>
20759         poll: fix for systems that can't recv() on a non-socket
20760         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
20761         is readable.  In this case POLLHUP will not be supported.
20762         * doc/posix-functions/poll.texi: Document this.
20764 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
20766         poll/select: document portability problems not fixed by Gnulib.
20767         * doc/posix-functions/poll.texi: poll does not work well on
20768         pipes under Windows.  It has the same limitations as select on
20769         BeOS.
20770         * doc/posix-functions/select.texi: select does not work well
20771         on pipes under Windows.
20773 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
20775         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
20776         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
20777         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
20778         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
20780 2012-09-06  Eric Blake  <eblake@redhat.com>
20782         net_if: give more details about the bug being fixed
20783         * doc/posix-headers/net_if.texi: Add clarification.
20785 2012-09-05  Eric Blake  <eblake@redhat.com>
20787         net_if: new module
20788         * modules/net_if: New module, borrowing ideas from netinet_in.
20789         * m4/net_if_h.m4: New file.
20790         * lib/net_if.in.h: Likewise.
20791         * doc/posix-headers/net_if.texi (net/if.h): Document it.
20792         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20793         * tests/test-net_if.c: Make function checks conditional.
20794         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
20796 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
20798         readutmp: fix non-portable UT_PID use
20799         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
20800         Use `UT_PID (u) > 0' as absolute condition.
20802 2012-09-04  Jim Meyering  <meyering@redhat.com>
20804         fts: reduce two or more trailing spaces to just one, usually
20805         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
20806         or more slashes, trim all but the final one.  But if a name consists
20807         solely of two slashes, don't modify it.  If it consists solely of
20808         three or more slashes, strip all but one.
20810         This is part of the solution to a minor problem with rm:
20811         it would print a bogus ELOOP diagnostic when failing to remove
20812         the slash-decorated name of a symlink-to-directory:
20814             $ mkdir d && ln -s d s && env rm -r s/
20815             rm: cannot remove 's': Too many levels of symbolic links
20817         With the change below and a trivial don't-trim-trailing-slashes
20818         adjustment to remove.c, it does this:
20820             $ env rm -r s/
20821             rm: cannot remove 's/': Not a directory
20823         Improved by: Eric Blake
20825         fts: when there is no risk of overlap, use memcpy, not memmove
20826         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
20828 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
20830         stdbool: be more compatible with mixed C/C++ compiles
20831         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
20832         Define to bool, true, false, respectively, as GCC's builtin
20833         stdbool.h does.  Problem reported by Michael Goffioul in
20834         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
20836 2012-08-28  Jim Meyering  <meyering@redhat.com>
20838         revert last change: it was not needed
20839         * tests/test-vc-list-files-git.sh: There's already a test for
20840         a working git, just below.
20842 2012-08-28  Jim Meyering  <meyering@redhat.com>
20844         tests: test-vc-list-files-git.sh: skip if git is not available
20845         * tests/test-vc-list-files-git.sh: Skip this test when git is
20846         not available.
20848 2012-08-26  Bruno Haible  <bruno@clisp.org>
20850         gnulib-tool: Remove no-op option --no-changelog.
20851         * gnulib-tool (func_usage): Don't mention --no-changelog.
20852         (do_changelog): Remove variable.
20853         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20855 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20857         doc: remove fdl-1.2.texi
20858         It is no longer used or maintained, and its use of @acronym
20859         is problematic.  See the thread containing
20860         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
20861         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
20862         * doc/old-licenses/fdl-1.2.texi: Remove.
20864         execinfo: port to FreeBSD
20865         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
20866         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
20867         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
20868         * modules/execinfo (Link): Add $(LIB_EXECINFO).
20870 2012-08-23  Jim Meyering  <meyering@redhat.com>
20872         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
20873         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
20874         to placate gcc's -Wold-style-declaration.
20876 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
20878         doc: do not use @acronym
20879         * doc/inet_ntoa.texi (inet_ntoa):
20880         * doc/parse-datetime.texi (Seconds since the Epoch)
20881         (Specifying time zone rules):
20882         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
20883         Don't use @acronym.  Problem reported by John Darlington in
20884         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
20886 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
20888         stdnoreturn: port to newer GCCs
20889         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
20890         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
20891         Problem reported by Jim Meyering in
20892         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
20893         Also, rename the 'test' function to a void a clash with the
20894         already-supplied 'main' function; this fixes a bug that incorrectly
20895         rejected GCC 4.7.1's <stdnoreturn.h>.
20896         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
20897         Document GCC problem.
20899 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
20901         pipe-filter: fix comment typo
20902         * lib/pipe-filter.h: Mention correct function.
20904 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
20906         execinfo: new module
20907         This is for Emacs.  Currently, it provides a no-effect stub
20908         on all platforms where it does not already work.
20909         It already works on glibc-based systems, and on Solaris 11.
20910         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
20911         New files.
20912         * doc/glibc-headers/execinfo.texi (execinfo.h):
20913         * MODULES.html.sh (Misc): Document it.
20915 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
20917         extern-inline: support old GCC 'inline'
20918         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
20919         if available.  This applies to GCC versions 2.7 through 4.2, or
20920         when newer GCC is using -fgnu89-inline.  The goal is to address
20921         some of the performance issues mentioned by Bruno Haible in
20922         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
20924 2012-08-20  Eric Blake  <eblake@redhat.com>
20926         maint.mk: avoid redundant file name in message
20927         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20928         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
20929         (sc_makefile_path_separator_check): Remove bogus $(ME).
20931 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
20933         timer-time: fix link order when static linking on glibc
20934         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
20935         _after_ -lrt so that it's significant.
20937 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
20939         timespec: omit unnecessary AC_C_INLINE
20940         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
20942         stat-time: omit unnecessary AC_C_INLINE
20943         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
20944         Do not require AC_C_INLINE.
20946         ignore-value: omit unnecessary AC_C_INLINE
20947         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
20949         sys_select: avoid 'static inline'
20950         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
20952         mktime: avoid 'static inline'
20953         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
20954         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
20956 2012-08-19  Bruno Haible  <bruno@clisp.org>
20958         gnulib-tool: Improve coding style.
20959         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
20960         func_emit_lib_Makefile_am.
20961         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20963 2012-08-19  Bruno Haible  <bruno@clisp.org>
20965         gnulib-tool: Fix indentation.
20966         * gnulib-tool (func_import): Fix indentation.
20968 2012-08-19  Bruno Haible  <bruno@clisp.org>
20970         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
20971         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
20972         on the list of removed files.
20974 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
20976         test-parse-datetime: avoid glibc leap-second glitch
20977         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
20978         with the 2012 rules.  Problem reported by Bruce Dubbs in
20979         <http://bugs.gnu.org/12206>.
20981 2012-08-14  Bruno Haible  <bruno@clisp.org>
20983         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
20984         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
20985         from argument.
20986         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
20988 2012-08-14  Eric Blake  <eblake@redhat.com>
20990         ldexp: relax license
20991         * modules/ldexp (License): Trivial relax, since the module only
20992         provides a permissively licensed m4 file.
20994 2012-08-13  Bruno Haible  <bruno@clisp.org>
20996         gnulib-tool: Fix persistence of --witness-c-macro option.
20997         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
20998         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
21000 2012-08-11  Eric Blake  <eblake@redhat.com>
21002         count-leading-zeros: use a lookup table on non-gcc compilers
21003         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
21004         alternate implementation, suggested by Jim Meyering.
21006 2012-08-10  Eric Blake  <eblake@redhat.com>
21008         count-leading-zeros: new module
21009         * modules/count-leading-zeros: New module.
21010         * m4/count-leading-zeros.m4: New file.
21011         * lib/count-leading-zeros.h: Likewise.
21012         * modules/count-leading-zeros-tests: New test.
21013         * tests/test-count-leading-zeros.c: New file.
21014         * MODULES.html.sh (Integer arithmetic functions): Document it.
21016 2012-08-07  Simon Josefsson  <simon@josefsson.org>
21017             Jim Meyering  <meyering@redhat.com>
21019         maintainer-makefile: Fix syntax error with dash.
21020         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
21021         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
21023 2012-08-05  Jim Meyering  <meyering@redhat.com>
21025         extern-inline: also ignore -Wmissing-declarations
21026         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
21027         required with gcc-4.8.0-to-be.
21029         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
21030         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
21031         for /error ?([^,]*)/.  This avoids false-positives for strings like
21032         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
21034 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
21036         gnumakefile: better interaction with Automake-NG
21037         * modules/gnumakefile [Makefile.am]: The makefiles generated by
21038         Automake-NG always contain a definition of VPATH, even in non-VPATH
21039         builds (its value being simply '.' in that case).  So, in the
21040         'clean-GNUmakefile' rule, to determine whether running under a
21041         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
21042         '$(VPATH)' expands to the empty string.
21044 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
21046         base64: Use extern C scope in header file, for C++.
21047         * lib/base64.h: Add C++ namespace protection.
21049 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21051         stat-time, timespec, u64: support naive out-of-dir builds
21052         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
21053         Use '#include "foo.h"', not '#include <foo.h>', when including
21054         one's own interface.  This works better when configuring with
21055         out-of-directory builds, since packages need not add an
21056         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
21058 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
21060         utimens: use extern-inline
21061         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
21062         * lib/utimens.h: Add copyright notice, since this is now large enough
21063         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21064         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
21065         * modules/utimens (Depends-on): Add extern-inline.
21067         u64: use extern-inline
21068         * lib/u64.c: New file.
21069         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21070         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
21071         * modules/u64 (Files): Add lib/u64.c.
21072         (Depends-on): Add extern-inline.
21073         (configure.ac): No need to require AC_C_INLINE, since extern-inline
21074         does that now.
21075         (lib_SOURCES): Add u64.c.
21077         timespec: use extern-inline
21078         * lib/timespec.c: New file.
21079         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21080         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
21081         * modules/timespec (Files): Add lib/timespec.c.
21082         (Depends-on): Add extern-inline.
21083         (lib_SOURCES): Add timespec.c.
21085         stat-time: use extern-inline
21086         * lib/stat-time.c: New file.
21087         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
21088         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
21089         * modules/stat-time (Files): Add lib/stat-time.c.
21090         (Depends-on): Add extern-inline.
21091         (lib_SOURCES): Add stat-time.c.
21093         extern-inline: new module
21094         * modules/extern-inline, m4/extern-inline.m4: New files.
21095         This is for better support of 'extern inline' a la ISO C99,
21096         with a portable alternative on compilers that do not support
21097         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
21098         of the Emacs executable, when compiled with debugging disabled,
21099         which is a typical way that Emacs is built while developing.
21101 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
21103         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
21104         * build-aux/do-release-commit-and-tag: Move variable definitions
21105         together.
21106         ($branch): Instead of defaulting to "master", default to the current
21107         branch (as gnu-web-doc-update does).
21108         (help): Display the current values of the option arguments.
21109         * top/maint.mk (release-commit): New.
21110         * top/README-release: Simplify the corresponding step.
21112 2012-07-30  Eric Blake  <eblake@redhat.com>
21114         passfd: fix comment on recvfd
21115         * lib/passfd.c (recvfd): Fix comment.
21116         Reported by Jann Horn <jannhorn@googlemail.com>.
21118 2012-07-30  Jim Meyering  <meyering@redhat.com>
21120         maint.mk: avoid a sub-shell
21121         * top/maint.mk (release-prep): Remove unneeded sub-shell.
21123 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21125         maint.mk: use silent-rules support from Automake
21126         * top/maint.mk (news-check, vc-diff-check, announcement)
21127         (no-submodule-changes, alpha beta stable, release-prep)
21128         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
21130 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21132         maint.mk: provide a web-manual-update target
21133         * top/maint.mk: here.
21134         * top/README-release: Use it to simplify the web manual update step.
21136 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21138         README-release: shorten the circuit to post a news
21139         * top/README-release: Point directly to the news submission form.
21141 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21143         gnu-web-doc-update: fix --help
21144         * build-aux/gnu-web-doc-update: The information "top level" was written
21145         twice.
21147 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
21149         maint.mk: absolute VPATH issue
21150         * top/maint.mk (release-prep): Help Git find .git/.
21151         From Jim Meyering.
21153 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21155         gitlog-to-changelog: fix previous change
21156         * build-aux/gitlog-to-changelog: Fix condition.
21157         Add missing ";".
21159 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21161         gitlog-to-changelog: don't expect .git to be in $srcdir
21162         Reported by Bruno Haible.
21163         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
21164         * build-aux/gitlog-to-changelog (&git_dir_option): New.
21165         Use it.
21167 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
21169         maint.mk: absolute VPATH build fix
21170         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
21171         $(srcdir) is not a parent of $(builddir).
21173 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
21175         clean-temp: Fix memory leak.
21176         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
21177         'files' members of tmpdir.
21179 2012-07-27  Jim Meyering  <meyering@redhat.com>
21181         maint.mk: new rule: refresh-gnulib-patches
21182         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
21183         Use this rule to refresh them.
21184         * top/maint.mk (refresh-gnulib-patches): New rule.
21186 2012-07-24  Bruno Haible  <bruno@clisp.org>
21188         gnulib-tool: Fix handling of inctests variable.
21189         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
21190         Reported by Nick Bowler <nbowler@elliptictech.com>.
21192 2012-07-22  Bruno Haible  <bruno@clisp.org>
21194         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
21195         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
21196         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21197         Remove exemption for getpass.h.
21198         Suggested by Eric Blake.
21200 2012-07-20  Eric Blake  <eblake@redhat.com>
21202         verify: document conflict with -Wnested-externs
21203         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
21205         maint.mk: forbid exit(-1)
21206         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
21208 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
21210         fsusage: port back to Solaris
21211         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
21212         error (fsd not declared) on Solaris 10.  Reported privately by
21213         Andrew Borodin.
21215 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
21217         gnu-web-doc-update: fix error messages
21218         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
21220         gnu-web-doc-update: check the requirements.
21221         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
21222         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
21223         * build-aux/bootstrap (find_tool): Comment change.
21225 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
21227         maint.mk: minor simplication.
21228         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
21229         for default values.
21231 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
21233         gitlog-to-changelog: VPATH build issues
21234         If builddir is not a subdirectory of srcdir, running git from it will
21235         fail.
21236         * build-aux/gitlog-to-changelog (--srcdir): New option.
21238 2012-07-15  Bruno Haible  <bruno@clisp.org>
21240         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
21241         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
21242         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
21243         Remove exemption for fpending.h.
21244         Suggested by Eric Blake.
21246 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
21248         pthread_sigmask: fix bug on FreeBSD 9
21249         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
21250         Include string.h.
21251         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
21252         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
21253         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
21254         but pthread_sigmask (1729, NULL, NULL) returns zero.
21255         See <http://bugs.gnu.org/11884>.
21256         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
21257         by inspecting whether the main call changed the old mask.
21259 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
21261         README-release: make it more legible
21262         * top/README-release: Improve typography slightly.
21264 2012-07-15  Jim Meyering  <meyering@redhat.com>
21266         maint: require that each sc_... command start with "@"
21267         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
21268         "make sc_maint" helps us avoid this nit.
21270 2012-07-15  Jim Meyering  <meyering@redhat.com>
21272         maint.mk: add leading "@" to quiet new "make syntax-check" rule
21273         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
21275 2012-07-13  Eric Blake  <eblake@redhat.com>
21277         maint.mk: new syntax check for HAVE_DECL checks
21278         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
21279         * cfg.mk
21280         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
21281         Exempt some false positives.
21282         Based on a report by Karel Zak.
21284         argp: make HAVE_DECL usage consistent
21285         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
21286         macros, not whether they are defined.
21287         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
21288         convention with other declaration checks.
21289         Reported by Karel Zak, with suggestions from Paul Eggert.
21291         stat-time: relax license to LGPLv2+
21292         * modules/stat-time (License): Relax, with consent of all authors.
21294         strndup: fix m4 usage error
21295         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
21296         defined, to either 0 or 1.
21297         Reported by Karel Zak.
21299 2012-07-11  Jim Meyering  <meyering@redhat.com>
21301         maint: enable the sc_avoid_if_before_free syntax-check rule
21302         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
21303         (if_before_free_offenders_): Define.
21304         (if_before_free_basename_re_): Define.
21305         Exempt current files with useless if-before-free.
21307 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
21309         gettext: do not assume '#define ... defined ...' behavior
21310         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
21311         Do not use '#define FOO ... defined BAR ...', as the C standard says
21312         it's not portable to expect that this works after macro expansion.
21313         Problem reported for gzip by Steven M. Schweda in
21314         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
21316 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
21318         getloadavg: clean out old Emacs and Autoconf cruft
21319         See Glenn Morris in <http://bugs.gnu.org/11905>.
21320         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
21321         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
21322         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
21323         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
21325 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
21327         bootstrap: let warn be like tests/init.sh's warn_
21328         Reported by Jim Meyering.
21329         * build-aux/bootstrap (warn): Remove, replaced by...
21330         (warnf_, warn_): these.
21331         Adjust callers.
21332         Shorten messages that no longer fit in 80 columns.
21334 2012-07-09  Bruno Haible  <bruno@clisp.org>
21336         getopt: Simplify after Emacs changed.
21337         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
21338         (gl_GETOPT_IFELSE): Remove macro.
21340 2012-07-09  Jim Meyering  <meyering@redhat.com>
21342         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
21343         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
21345         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
21346         Bugs in both of those conspired to make the
21347         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
21348         _sc_search_regexp's handling of non-empty $in_files would filter
21349         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
21350         choice of in_files value meant there would be no match in most
21351         projects, due to the presence of two or more Makefile.in files.
21352         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
21353         Fix a bug in how a non-empty $$in_files was processed:
21354         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
21355         in spite of the name, it's a regexp, not a list of file names.
21357 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
21359         getloadavg, getopt: fix commentary re configure.in
21360         Autoconf is deprecating the name 'configure.in', so change it to
21361         to the new name 'configure.ac' in a couple of places.
21362         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
21363         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
21364         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
21365         Emacs has renamed it to configure.ac, and it no longer refers
21366         to these macros anyway.
21368         timespec: mark functions with const attributes
21369         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
21370         Mark with _GL_ATTRIBUTE_CONST.
21372 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21374         canonicalize[-lgpl]: handle "guessing" values when cross-building
21375         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
21376         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
21377         matches "*yes" instead of just "yes".  Regression introduced in commit
21378         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
21380 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
21381             Bruno Haible  <bruno@clisp.org>
21383         canonicalize: make the right guess when cross-compiling to GNU
21384         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
21385         determine whether cross-compiling to glibc systems, so as to
21386         include GNU/Hurd.
21388 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
21390         timespec-sub: avoid duplicate include
21391         * lib/timespec-sub.c: Do not include <config.h> twice.
21392         Reported by Juanma Barranquero.
21394 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
21396         bootstrap: use a more consistent error reporting scheme
21397         * build-aux/bootstrap (warn, die): New.
21398         Use them.
21400 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
21402         sys_time: allow too-wide tv_sec
21403         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
21404         timeval even if tv_sec is wider than time_t.  This allows
21405         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
21406         as without this patch gnulib replaces struct timeval
21407         and OpenBSD futimes therefore has a type mismatch.
21408         * doc/posix-headers/sys_time.texi: Mention this.
21410         pthread: check for both pthread_create and pthread_join
21411         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
21412         alter the check so that it tests for both pthread_create and
21413         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
21414         Suggested by Bruno Haible and Richard Yao in
21415         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
21417         parse-datetime: doc tuneup
21418         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
21419         spacing issues.
21421 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
21423         do-release-commit-and-tag: fix the previous commit
21424         * build-aux/do-release-commit-and-tag: Actually the test was right,
21425         but the comment and the error message were misleading.
21426         Fix comment, and improve error message.
21427         Perform check first, so that NEWS is not modified uselessly.
21429         do-release-commit-and-tag: fix typo
21430         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
21431         _not_ start with a stub.
21433 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
21435         pthread: check for pthread_create, not pthread_join
21436         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
21437         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
21438         pthread_join in libc.  I hope this removes the need for all the
21439         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
21440         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
21442 2012-07-04  Jim Meyering  <meyering@redhat.com>
21444         parse-datetime: fix failure to diagnose invalid input
21445         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
21446         rather than diagnosing the invalid input.  Now it reports this:
21447         date: invalid date '\260'
21448         * lib/parse-datetime.y (to_uchar): Define.
21449         (yylex): Don't sign-extend "other" bytes.
21450         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
21451         Thanks to Bruno Haible for the patch to this file.
21452         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
21453         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
21455 2012-07-03  Jim Meyering  <meyering@redhat.com>
21457         bootstrap: do not require now-removed build-aux/missing
21458         Now that build-aux/missing is, er, missing, bootstrap would
21459         silently fail.
21460         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
21461         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
21462         no longer part of gnulib.
21463         Diagnose the failure.
21465 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
21467         alloca: add support for HP NonStop TNS/E native
21468         * lib/alloca.in.h (alloca): Support the new host.
21469         From a suggestion by Joachim Schmitz in
21470         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
21472 2012-07-02  Pádraig Brady  <P@draigBrady.com>
21474         fsusage: remove code not needed on non GNU/Linux systems.
21476         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21477         Don't include headers no longer needed in this case.
21478         * lib/fsusage.c [STAT_STATVFS &&
21479         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
21480         STAT_STATFS2_FRSIZE to exclude code not used in this case.
21482 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
21484         fsusage: include files needed for glibc 2.6 fallback
21485         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
21486         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
21487         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
21488         Problem reported by Ludovic Courtès in
21489         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
21491         fsusage: avoid needless check on GNU/Linux
21492         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
21493         on GNU/Linux systems, since it can't possibly work.
21495 2012-07-01  Bruno Haible  <bruno@clisp.org>
21497         log: Fix an autoconf >= 2.64 warning.
21498         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
21499         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21501 2012-06-28  Bruno Haible  <bruno@clisp.org>
21503         log10f: Fix possible configuration problem.
21504         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
21505         $LOGF_LIBM.
21506         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21508 2012-06-28  Bruno Haible  <bruno@clisp.org>
21510         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
21511         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
21512         not gl_cv_func_unlink_works.
21513         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
21515 2012-06-27  Eric Blake  <eblake@redhat.com>
21517         config: drop scripts that automake says are not independent
21518         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
21519         * build-aux/elisp-comp: Delete.
21520         * build-aux/missing: Likewise.
21521         * build-aux/ylwrap: Likewise.
21522         * modules/elisp-comp: Likewise.
21523         * MODULES.html.sh: Drop mention of elisp-comp.
21524         * NEWS: Mention this.
21526 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
21528         root-uid: new module
21529         This is for portability to Tandem's NonStop Kernel.
21530         * lib/root-uid.h, modules/root-uid: New files.
21531         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
21532         * lib/write-any-file.c, tests/test-sethostname2.c:
21533         Include "root-uid.h".
21534         * lib/euidaccess.c (euidaccess):
21535         * lib/pt_chown.c (main):
21536         * lib/unlinkdir.c (cannot_unlink_dir):
21537         * lib/write-any-file.c (can_write_any_file):
21538         * m4/mknod.m4 (gl_FUNC_MKNOD):
21539         * tests/test-sethostname2.c (geteuid, main):
21540         Don't assume ROOT_UID == 0.
21541         * modules/euidaccess (Depends-on):
21542         * modules/pt_chown (Depends-on):
21543         * modules/sethostname-tests (Depends-on):
21544         * modules/unlinkdir (Depends-on):
21545         * modules/write-any-file (Depends-on):
21546         Add root-uid.
21548         regex: use locale-independent comparison for codeset name
21549         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
21550         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
21551         for codeset name.
21552         * lib/regex_internal.h: Do not include <strings.h>, since we
21553         no longer use strcasecmp.
21554         * modules/regex (Depends-on): Remove strcase.
21556 2012-06-23  Bruno Haible  <bruno@clisp.org>
21558         getopt-posix: No longer guarantee that option processing is resettable.
21559         * doc/posix-functions/getopt.texi: Drop description of problem with
21560         internal state. Fix info about mingw and msvc9.
21561         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
21562         option processing by getopt(). Run three test programs instead of one.
21563         Simplify cross-compilation guess.
21564         * NEWS: Mention the change.
21565         Reported by Rich Felker <dalias@aerifal.cx>.
21567 2012-06-26  Bruno Haible  <bruno@clisp.org>
21569         argp, regex: Ensure strcasecmp gets declared.
21570         * lib/argp-help.c: Include <strings.h>.
21571         * lib/regex_internal.h: Likewise.
21572         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
21574 2012-06-24  Bruno Haible  <bruno@clisp.org>
21576         ptsname_r: Make it consistent with ptsname on AIX.
21577         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
21578         implementation as for OSF/1.
21579         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
21580         a pty master.
21582         ptsname_r: Make it consistent with ptsname on OSF/1.
21583         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21584         OSF/1.
21586 2012-06-24  Bruno Haible  <bruno@clisp.org>
21588         ttyname_r: Fix result on OSF/1, Solaris.
21589         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
21591 2012-06-24  Bruno Haible  <bruno@clisp.org>
21593         ptsname_r: Add support for Solaris.
21594         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
21595         Solaris.
21597         ptsname_r: Fix test failure on native Windows.
21598         * modules/ptsname_r (Depends-on): Add isatty.
21600         ptsname_r: Fix test failures on IRIX, Solaris.
21601         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
21602         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
21603         accordingly.
21604         * lib/ptsname_r.c: Include <fcntl.h>.
21605         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
21606         set errno if fd is invalid.
21607         * tests/test-isatty.c (main): Update comments.
21609 2012-06-24  Bruno Haible  <bruno@clisp.org>
21611         ptsname test: Extend test.
21612         * tests/test-ptsname.c: Include <errno.h>.
21613         (main): Test behaviour with invalid file descriptor.
21615 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
21617         time: fix obsolete comment
21618         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
21619         reference to HAVE_STRUCT_TIMESPEC in comment.
21621 2012-06-23  Bruno Haible  <bruno@clisp.org>
21623         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
21624         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
21625         does not handle abbreviated long options with equivalent
21626         disambiguations, set gl_replace_getopt to yes.
21627         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
21629 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
21631         time_r: fix typo that always overrode localtime_r decl
21632         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
21633         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
21634         not in a standard include.
21636 2012-06-22  Bruno Haible  <bruno@clisp.org>
21638         Write "Mac OS X" instead of "MacOS X".
21639         * README: Write "Mac OS X" instead of "MacOS X".
21640         * build-aux/bootstrap: Likewise.
21641         * build-aux/install-reloc: Likewise.
21642         * lib/acl-internal.h: Likewise.
21643         * lib/acl_entries.c: Likewise.
21644         * lib/argp-ba.c: Likewise.
21645         * lib/argp-pv.c: Likewise.
21646         * lib/config.charset: Likewise.
21647         * lib/copy-acl.c: Likewise.
21648         * lib/csharpexec.c: Likewise.
21649         * lib/euidaccess.c: Likewise.
21650         * lib/fbufmode.c: Likewise.
21651         * lib/fflush.c: Likewise.
21652         * lib/file-has-acl.c: Likewise.
21653         * lib/filemode.h: Likewise.
21654         * lib/fpurge.c: Likewise.
21655         * lib/freadable.c: Likewise.
21656         * lib/freadahead.c: Likewise.
21657         * lib/freading.c: Likewise.
21658         * lib/freadptr.c: Likewise.
21659         * lib/freadseek.c: Likewise.
21660         * lib/fseeko.c: Likewise.
21661         * lib/fseterr.c: Likewise.
21662         * lib/fsusage.c: Likewise.
21663         * lib/fwritable.c: Likewise.
21664         * lib/fwriting.c: Likewise.
21665         * lib/get-rusage-as.c: Likewise.
21666         * lib/get-rusage-data.c: Likewise.
21667         * lib/getdomainname.c: Likewise.
21668         * lib/idpriv-drop.c: Likewise.
21669         * lib/idpriv-droptemp.c: Likewise.
21670         * lib/localcharset.c: Likewise.
21671         * lib/locale.in.h: Likewise.
21672         * lib/localename.c: Likewise.
21673         * lib/mbsrtowcs-state.c: Likewise.
21674         * lib/nproc.c: Likewise.
21675         * lib/passfd.c: Likewise.
21676         * lib/posix_openpt.c: Likewise.
21677         * lib/printf-parse.c: Likewise.
21678         * lib/progreloc.c: Likewise.
21679         * lib/safe-read.h: Likewise.
21680         * lib/safe-write.h: Likewise.
21681         * lib/sched.in.h: Likewise.
21682         * lib/set-mode-acl.c: Likewise.
21683         * lib/signal.in.h: Likewise.
21684         * lib/stdint.in.h: Likewise.
21685         * lib/stdio-impl.h: Likewise.
21686         * lib/stdlib.in.h: Likewise.
21687         * lib/strtod.c: Likewise.
21688         * lib/sys_select.in.h: Likewise.
21689         * lib/tcgetsid.c: Likewise.
21690         * lib/unistd.in.h: Likewise.
21691         * lib/unlockpt.c: Likewise.
21692         * lib/vasnprintf.c: Likewise.
21693         * lib/vma-iter.c: Likewise.
21694         * lib/wcsrtombs-state.c: Likewise.
21695         * m4/acl.m4: Likewise.
21696         * m4/acosl.m4: Likewise.
21697         * m4/asinl.m4: Likewise.
21698         * m4/atanl.m4: Likewise.
21699         * m4/c-stack.m4: Likewise.
21700         * m4/cosl.m4: Likewise.
21701         * m4/expl.m4: Likewise.
21702         * m4/extensions.m4: Likewise.
21703         * m4/fdatasync.m4: Likewise.
21704         * m4/fmal.m4: Likewise.
21705         * m4/frexp.m4: Likewise.
21706         * m4/frexpf.m4: Likewise.
21707         * m4/frexpl.m4: Likewise.
21708         * m4/fsusage.m4: Likewise.
21709         * m4/getdomainname.m4: Likewise.
21710         * m4/getloadavg.m4: Likewise.
21711         * m4/getopt.m4: Likewise.
21712         * m4/gettext.m4: Likewise.
21713         * m4/gnulib-common.m4: Likewise.
21714         * m4/intdiv0.m4: Likewise.
21715         * m4/intlmacosx.m4: Likewise.
21716         * m4/largefile.m4: Likewise.
21717         * m4/ldexpl.m4: Likewise.
21718         * m4/link-follow.m4: Likewise.
21719         * m4/locale-ar.m4: Likewise.
21720         * m4/locale-fr.m4: Likewise.
21721         * m4/locale-ja.m4: Likewise.
21722         * m4/locale-tr.m4: Likewise.
21723         * m4/locale-zh.m4: Likewise.
21724         * m4/locale_h.m4: Likewise.
21725         * m4/lock.m4: Likewise.
21726         * m4/logl.m4: Likewise.
21727         * m4/mathfunc.m4: Likewise.
21728         * m4/minus-zero.m4: Likewise.
21729         * m4/mktime.m4: Likewise.
21730         * m4/mmap-anon.m4: Likewise.
21731         * m4/multiarch.m4: Likewise.
21732         * m4/nanosleep.m4: Likewise.
21733         * m4/nocrash.m4: Likewise.
21734         * m4/poll.m4: Likewise.
21735         * m4/printf-frexpl.m4: Likewise.
21736         * m4/printf.m4: Likewise.
21737         * m4/signbit.m4: Likewise.
21738         * m4/sinl.m4: Likewise.
21739         * m4/sqrtl.m4: Likewise.
21740         * m4/strerror_r.m4: Likewise.
21741         * m4/tanl.m4: Likewise.
21742         * m4/threadlib.m4: Likewise.
21743         * m4/ttyname_r.m4: Likewise.
21744         * m4/unlink.m4: Likewise.
21745         * m4/visibility.m4: Likewise.
21746         * m4/wcwidth.m4: Likewise.
21747         * tests/minus-zero.h: Likewise.
21748         * tests/test-alloca-opt.c: Likewise.
21749         * tests/test-copy-acl.sh: Likewise.
21750         * tests/test-copy-file.sh: Likewise.
21751         * tests/test-fdatasync.c: Likewise.
21752         * tests/test-file-has-acl.sh: Likewise.
21753         * tests/test-flock.c: Likewise.
21754         * tests/test-fsync.c: Likewise.
21755         * tests/test-localename.c: Likewise.
21756         * tests/test-malloca.c: Likewise.
21757         * tests/test-nonblocking-pipe.h: Likewise.
21758         * tests/test-nonblocking-socket.h: Likewise.
21759         * tests/test-openpty.c: Likewise.
21760         * tests/test-posix_openpt.c: Likewise.
21761         * tests/test-ptsname.c: Likewise.
21762         * tests/test-ptsname_r.c: Likewise.
21763         * tests/test-sameacls.c: Likewise.
21764         * tests/test-select.h: Likewise.
21765         * tests/test-set-mode-acl.sh: Likewise.
21766         * tests/test-snprintf-posix.h: Likewise.
21767         * tests/test-sprintf-posix.h: Likewise.
21768         * tests/test-strtod.c: Likewise.
21769         * tests/test-time.c: Likewise.
21770         * tests/test-vasnprintf-posix.c: Likewise.
21771         * tests/test-vasprintf-posix.c: Likewise.
21772         * doc/acl-resources.txt: Likewise.
21773         * doc/**/*.texi: Likewise.
21774         Reported by Max Horn <max@quendi.de>.
21776 2012-06-22  Bruno Haible  <bruno@clisp.org>
21778         grantpt: Relax requirement regarding invalid file descriptors.
21779         * lib/grantpt.c: Don't include <fcntl.h>.
21780         (grantpt): Don't verify the validity of the file descriptor.
21781         * modules/grantpt (Depends-on): Remove fcntl-h.
21782         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
21783         file descriptors.
21784         * doc/posix-functions/grantpt.texi: Document more platforms on which
21785         grantpt succeeds for invalid file descriptors.
21786         Reported by Rich Felker <dalias@aerifal.cx>.
21788 2012-06-22  Bruno Haible  <bruno@clisp.org>
21790         fbufmode test: Don't test unportable behaviour.
21791         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
21792         (main): Invoke it three times.
21793         Reported by Szabolcs Nagy <nsz@port70.net>
21794         and Rich Felker <dalias@aerifal.cx>.
21796 2012-06-21  Bruno Haible  <bruno@clisp.org>
21798         gnulib-tool: Refactor inctests variable.
21799         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
21800         (func_modules_transitive_closure,
21801         func_modules_transitive_closure_separately,
21802         func_import, func_create_testdir): Update.
21804         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
21805         * gnulib-tool: Accept option --without-tests.
21806         (func_usage): Document --without-tests option. Rearrange.
21807         (inctests): Normalize according to the mode.
21808         * NEWS: Mention the change.
21809         Suggested by Simon Josefsson.
21811 2012-06-21  Bruce Korb  <bkorb@gnu.org>
21813         parse-duration test: Avoid spurious output.
21814         * tests/test-parse-duration.sh: Reindent with leading tabs.
21816 2012-06-21  Jim Meyering  <meyering@redhat.com>
21818         maint: disable the strncpy prohibition
21819         * cfg.mk: Do not prohibit strncpy here.
21821 2012-06-21  Bruno Haible  <bruno@clisp.org>
21823         nonblocking: Avoid compilation error on mingw64.
21824         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
21825         fscanf.
21826         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
21827         * modules/vfscanf (configure.ac): Likewise.
21828         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
21829         definition only if stdio.h has prepared it.
21830         Reported by Daniel P. Berrange <berrange@redhat.com>.
21832 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
21834         gnulib-tool: Use readlink if it is available.
21835         * gnulib-tool (func_readlink): Choose function more appropriately.
21837 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
21839         posixtm-tests: port to buggy compiler
21840         Problem reported by Simon Josefsson in
21841         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
21842         * modules/posixtm-tests (Depends-on): Add stdint.
21843         * tests/test-posixtm.c (struct posixtm_test.t_expected):
21844         Now of type int_least64_t, not int64_t, both because that's
21845         what INT64_C returns and because int_least64_t works even
21846         on 72-bit hosts.
21847         (T): Use INT64_C on constants outside the traditional int range,
21848         to work around compiler bug noted by Simon.
21850         mktime: fix integer overflow in 'configure'-time test
21851         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
21852         after integer overflow.  Problem reported by Rich Felker in
21853         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
21854         Also, don't look for further instances of a bug if we've already
21855         found one instance; this helps 'configure' run faster.
21857 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
21859         tmpfile, clean-temp: Fix invocation of GetVersionEx.
21860         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
21861         GetVersionEx correctly.
21862         * lib/clean-temp.c (supports_delete_on_close): Likewise.
21864 2012-06-20  Bruno Haible  <bruno@clisp.org>
21866         fdopen: Allow implementations that don't reject invalid fd arguments.
21867         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
21868         succeeds.
21869         Reported by Rich Felker <dalias@aerifal.cx>.
21871 2012-06-20  Simon Josefsson  <simon@josefsson.org>
21873         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
21874         bring in LIBINTL.
21876 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
21878         init.sh: do not rely on autoupated PWD
21879         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
21880         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
21881         Although Nelson's bug was not necessarily fixed by this patch,
21882         it seems wise to make the change for safety.
21883         * tests/init.sh (path_prepend_): Do not rely on PWD updating
21884         automagically after 'cd'; this is not reliable on older shells.
21885         (setup_): Fail if we cannot cd to temporary directory.
21887 2012-06-19  Bruno Haible  <bruno@clisp.org>
21889         stat, fstat: Avoid warnings on mingw64.
21890         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
21891         redefining.
21892         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
21893         Reported by Daniel P. Berrange <berrange@redhat.com>.
21895 2012-06-19  Bruno Haible  <bruno@clisp.org>
21897         stdioext: Add support for musl libc.
21899         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
21900         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
21902         * m4/fseterr.m4: New file.
21903         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
21904         function exists.
21905         * modules/fseterr (Files): Add m4/fseterr.m4.
21906         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
21907         __fseterr does not exist.
21908         (Makefile.am): Remove fseterr.c from lib_SOURCES.
21910         * lib/freadable.h: Update comment.
21912         * lib/fwritable.h: Update comment.
21914         * lib/freading.h: Update comment.
21916         * lib/fwriting.h: Update comment.
21918         * m4/freadahead.m4: New file.
21919         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
21920         that function exists.
21921         * modules/freadahead (Files): Add m4/freadahead.m4.
21922         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
21923         __freadahead does not exist.
21924         (Makefile.am): Remove freadahead.c from lib_SOURCES.
21926         * m4/freadptr.m4: New file.
21927         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
21928         function exists.
21929         * modules/freadptr (Files): Add m4/freadptr.m4.
21930         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
21931         __freadptr does not exist.
21932         (Makefile.am): Remove freadptr.c from lib_SOURCES.
21934         * m4/freadseek.m4: New file.
21935         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
21936         exists.
21937         * modules/freadseek (Files): Add m4/freadseek.m4.
21938         (configure.ac): Invoke gl_FUNC_FREADSEEK.
21940         * lib/fpurge.c (fpurge): Update comment.
21942         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
21944 2012-06-19  Bruno Haible  <bruno@clisp.org>
21946         *printf-posix: Put more info into config.log.
21947         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
21948         exit code into config.log.
21950 2012-06-19  Bruno Haible  <bruno@clisp.org>
21952         getopt-gnu: Fix exit code overflow in autoconf test.
21953         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
21954         to keep them below < 128.
21956 2012-06-17  Jim Meyering  <meyering@redhat.com>
21958         maint.mk: fix typo in code to derive GPG key at release time
21959         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
21961 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
21963         regex: avoid warning when pointers are not long
21964         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
21965         and uintptr_t, not long, for portability to hosts where pointers and
21966         long have different sizes.  Issue noted by Daniel P. Berrange in
21967         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
21968         and fix suggested by Bruno Haible in
21969         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
21971 2012-06-17  Bruno Haible  <bruno@clisp.org>
21973         dummy: Relicense into the public domain.
21974         * modules/dummy (License): Set to "public domain".
21975         Suggested by Reuben Thomas.
21977 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21979         announce-gen: VPATH issues
21980         * build-aux/announce-gen (--srcdir): New option, used to trim the
21981         $srcdir part of the path from $builddir to NEWS.
21982         * top/maint.mk (announcement): Adjust.
21984 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
21986         gnu-web-doc-update: VPATH builds
21987         * build-aux/gnu-web-doc-update (--builddir): New option.
21988         Revamp the handling of options.
21989         Prefer $(...) to `...`.
21990         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
21991         the template, and it is GNU mktemp specific.
21992         Prefer set -e to long series of &&.
21993         Restore the initial git branch, not "master".
21994         Properly initialize submodules (don't rely only on bootstrap).
21995         Do not reconfigure blindly, use config.status.
21996         * top/README-release: Update instructions for gnu-web-doc-update.
21998 2012-06-11  Jim Meyering  <meyering@redhat.com>
22000         maint.mk: revert most of the previous change re "all these"
22001         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
22002         For rationale, see the discussion at
22003         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
22005 2012-06-10  Karl Berry  <karl@gnu.org>
22007         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
22009         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
22011 2012-06-10  Bruce Korb  <bkorb@gnu.org>
22013         parse-duration: Relicense under LGPLv2+.
22014         * modules/parse-duration (License): Change to LGPLv2+.
22016 2012-06-10  Jim Meyering  <meyering@redhat.com>
22018         maint.mk: prohibit common grammar error: "all these"
22019         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
22020         the list of prohibited word sequences.  It should be "all of these".
22021         * lib/tempname.c (__gen_tempname): Fix one of them.
22023 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22025         do-release-commit-and-tag: support VPATH builds
22026         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
22027         (noteworthy): Defined earlier to factor its value.
22028         (noteworthy_stub): New.
22029         Use it to factor.
22030         (help_version): Split into...
22031         (help, version): these.
22032         Adjust the option processing part.
22033         Support "--option=value" in addition to "--option value".
22034         (builddir): New.
22035         (--builddir): New option.
22036         * top/README-release: Document this.
22037         Reword slightly so that the reader cannot understand that he
22038         has to do these steps before calling do-release-commit-and-tag.
22040 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22042         readme-release: also require announce-gen and maintainer-makefile
22043         * modules/readme-release (Depends-on): here.
22044         * modules/announce-gen, modules/do-release-commit-and-tag,
22045         modules/gnu-web-doc-update, modules/maintainer-makefile
22046         (Description): Point to readme-release.
22048 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
22050         maint.mk: fix VPATH issues.
22051         * top/maint.mk (news-check): GNU Make understand $< very well.
22052         (release-prep): NEWS is in $(srcdir).
22054 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
22056         readme-release: require the promoted modules.
22057         * modules/readme-release (Depends-on): Add
22058         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
22059         in this text.
22061 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22062             Bruno Haible  <bruno@clisp.org>
22064         error, strerror-override: Support mingw64 from Fedora 17.
22065         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
22066         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
22067         EINPROGRESS.
22068         * lib/strerror-override.h (strerror_override): Test it.
22069         * lib/strerror-override.c (strerror_override): Likewise.
22070         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
22072 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22073             Bruno Haible  <bruno@clisp.org>
22075         error, strerror-override: Support mingw64 from Fedora 17.
22076         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
22077         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
22078         * lib/strerror-override.h (strerror_override): Test it.
22079         * lib/strerror-override.c (strerror_override): Likewise.
22081 2012-06-03  Bruno Haible  <bruno@clisp.org>
22083         error, strerror-override: Support new errno values from POSIX:2008.
22084         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
22085         ENOTRECOVERABLE.
22086         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
22087         platforms.
22088         * lib/strerror-override.c (strerror_override): Conditionalize the
22089         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
22090         * lib/strerror-override.h (strerror_override): Declare also if
22091         GNULIB_defined_EOWNERDEAD is defined.
22092         * tests/test-errno.c (e130, e131): New variables.
22093         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
22094         ENOTRECOVERABLE.
22095         Reported by Paolo Bonzini.
22097 2012-05-31  Jim Meyering  <meyering@redhat.com>
22099         savewd: add missing dependency on sys_wait module
22100         * modules/savewd (Depends-on): Add sys_wait, needed at least
22101         for MSVC.  Report and suggested change by Michael Goffioul.
22103 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
22105         system-quote-tests: port to CentOS 5
22106         Problem reported by Tom G. Christensen in
22107         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
22108         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
22110 2012-05-29  Jim Meyering  <meyering@redhat.com>
22112         maint: fix typos in comments and ChangeLog
22113         Culprits identified and fixed mostly automatically using these commands:
22114         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
22115         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
22116         using http://github.com/lyda/misspell-check
22117         * ChangeLog: Fix typos.
22118         * doc/solaris-versions: Likewise.
22119         * lib/regexec.c (re_search_stub): Likewise.
22120         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22122 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
22124         manywarnings: remove duplicate -Wmultichar entry
22125         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
22126         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
22127         so keep the entry marked as documented.
22129 2012-05-27  Karl Berry  <karl@gnu.org>
22131         * config/srclist.txt (mktime.c): remove last libc sync,
22132         perhaps just temporarily.
22134 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
22136         regex: don't assume uint64_t or uint32_t
22137         * lib/regcomp.c (init_word_char): Don't assume that the types
22138         uint64_t and uint32_t exist.  The C standard doesn't guarantee
22139         them, and on some 32-bit compilers there is no uint64_t.
22140         Problem reported by Gianluigi Tiesi in
22141         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
22143 2012-05-25  Jim Meyering  <meyering@redhat.com>
22145         maint.mk: add strncpy-prohibiting syntax-check rule
22146         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
22148 2012-05-24  Jim Meyering  <meyering@redhat.com>
22150         maint.mk: compute $(gpg_key_ID) more portably
22151         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
22152         That use of sed is not portable to some fringe systems.
22153         Reported by Paul Eggert in
22154         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
22156 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
22158         mktime: sync from glibc
22159         * config/srclist.txt: Uncomment mktime.c.
22160         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
22161         First, indent with tabs, since glibc uses tabs and doesn't want to
22162         change and we'd rather be identical to glibc.  Also, two small
22163         coding changes:
22164         (isdst_differ): Use &&, not &, as && is the usual style.
22165         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
22166         for clarity.
22168 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22170         announce-gen: du -h is more portable than du --human
22171         * build-aux/announce-gen (sizes): Invoke du with -h instead
22172         of --human.  Accept leading white space in its output.
22174 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22176         announce-gen: Improve diagnostics.
22177         * build-aux/announce-gen: When parsing command line options,
22178         prefer "announce-gen: option --release-type requires an argument"
22179         to "Option release-type requires an argument".
22181 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
22183         maint.mk: gpg_key_ID: use sed more portably
22184         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
22185         the closing brace.
22186         (refresh-po): Fuse two sed invocations into one.
22188 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
22190         gitlog-to-changelog: support the log message format used in Bison.
22191         * build-aux/gitlog-to-changelog: Support --strip-tab and
22192         --strip-cherry-picked.
22194 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
22196         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
22197         the rest of the current time slice to another thread in the current
22198         process. So if the thread that feeds the file decscriptor we're
22199         polling is not in the current process, we get busy-waiting.
22200         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
22201         Patch from Theodore Leblond.
22202         * lib/select.c: Split polling out of the loop that sets the output
22203         fd_sets.  Check for zero result and loop if the wait timeout is
22204         infinite.
22206 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22208         select: Fix build error on IRIX 6.5.
22209         * lib/select.c: Include stddef.h for NULL.
22211 2012-05-21  Simon Josefsson  <simon@josefsson.org>
22213         gc: fix libgcrypt detection on older machines.
22214         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
22215         copyright years because the file has been distributed every year
22216         since it was created.
22218 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
22220         crypto: fix bug in large buffer handling
22221         Problem reported by Serge Belyshev for glibc in
22222         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
22223         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
22224         * lib/md4.c (md4_process_block):
22225         * lib/md5.c (md5_process_block):
22226         * lib/sha1.c (sha1_process_block):
22227         * lib/sha256.c (sha256_process_block):
22228         Don't assume the buffer length is less than 2**32.
22229         * lib/sha512.c (sha512_process_block): Likewise.
22230         Here, the bug is present only in the rare case where the host does
22231         not support uint64_t or where size_t is wider than 64 bits.
22232         Use u64size to work around the problems.
22233         * lib/u64.h (u64size): New macro.
22235 2012-05-15  Pádraig Brady  <P@draigBrady.com>
22237         fsusage: fix block size returned on older Linux 2.6
22239         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
22240         which is available since Linux 2.6.
22241         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
22242         when the member is available so it can be used as a fallback.
22243         * doc/posix-functions/statvfs.texi: Mention the hang issue
22244         on Linux < 2.6.36.
22246 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
22248         bootstrap: suppress stderr chatter
22249         * build-aux/bootstrap (insert_sorted_if_absent, main program):
22250         Omit unnecessary chatter to stderr.  The main program chatter
22251         was there only inadvertantly.
22253         bootstrap: .gitignore files created by autopoint, libtool
22254         I ran into this problem when bootstrapping the latest diffutils.
22255         After './bootstrap', 'git status' reported lots of untracked files
22256         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
22257         autopoint and do not need to be version-controlled.
22258         * build-aux/bootstrap: Put into .gitignore the files that
22259         autopoint and libtool create, by keeping track of files that exist
22260         after but not before these programs are run.
22261         (version_controlled_file): Move up.  2nd arg is now full file
22262         name, not base name; this is more convenient.  Put CVS at the end,
22263         as it's now somewhat deprecated.
22265 2012-05-14  Jim Meyering  <meyering@redhat.com>
22267         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
22268         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
22269         definition.  Reported by Bruno Haible.
22271 2012-05-13  Bruno Haible  <bruno@clisp.org>
22272             Paul Eggert  <eggert@cs.ucla.edu>
22274         binary-io: Define set_binary_mode function.
22275         * lib/binary-io.h (set_binary_mode): New function.
22276         (SET_BINARY): Define in terms of set_binary_mode.
22277         * modules/binary-io (configure.ac): Require AC_C_INLINE.
22278         * tests/test-binary-io.c (main): Accept an argument, and test either
22279         set_binary_mode or SET_BINARY depending on the argument.
22280         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
22281         argument. Clean up also t-bin-out0.tmp.
22283 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
22285         bootstrap: take advantage of POSIX shell features
22287         The 'bootstrap' script offered by Gnulib script already uses POSIX
22288         shell features (like $((...)) arithmetic expansions) that are not
22289         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
22290         means that bootstrap must already be run using a proper POSIX shell,
22291         which will thus provide more features, like ${var#pattern} parameter
22292         expansion or inversion of a command exit status with '!'.  We can
22293         thus use these features to improve the clarity and the performances
22294         of the bootstrap script.
22296         Suggested by Eric Blake.
22298         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
22299         of sed/expr plus command substitutions, to save some forks.  While
22300         we are at it, prefer the POSIX $(...) form of command substitution,
22301         rather than the legacy form `...` (since the former is visually
22302         clearer and interacts better with quoting), and prefer the idiom:
22303           "if ! CMD; then ACTION ..."
22304         over the idiom:
22305           "if CMD; then :; else ACTION ..."
22306         which was required by legacy Bourne shells not supporting '!'.
22308 2012-05-12  Bruno Haible  <bruno@clisp.org>
22310         system-quote: Add more comments.
22311         * lib/system-quote.h: Add more comments about wilcards and limitations.
22312         Suggested by Eli Zaretskii <eliz@gnu.org>.
22314         sh-quote, system-quote: Add comments about wildcards.
22315         * lib/sh-quote.h: Clarify what happens with wildcard characters.
22316         * lib/system-quote.h: Likewise.
22317         Reported by Eli Zaretskii <eliz@gnu.org>.
22319 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
22321         fsusage: check for GNU/Linux statvfs problem dynamically
22322         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
22323         Define STAT_STATFS2_BSIZE too, since in this case the code now
22324         checks dynamically whether statvfs is reliable, falling back on
22325         Linux-style statfs otherwise.
22326         (statvfs_works): New function, for dynamically testing statvfs.
22327         (get_fs_usage) [STAT_STATVFS]: Use it.
22328         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
22329         statvfs on GNU/Linux hosts, since it's now done dynamically.
22331 2012-05-10  Bruno Haible  <bruno@clisp.org>
22333         system-quote, execute, spawn-pipe: Escape '?' on Windows.
22334         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
22335         '?' character.
22336         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
22337         * tests/test-system-quote-main.c (check_all): Check also strings like
22338         "??????????".
22339         Reported by Eli Zaretskii <eliz@gnu.org>.
22341 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
22343         _Noreturn: port config.h to gcc -Wundef
22344         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
22345         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
22346         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
22348 2012-05-10  Bruno Haible  <bruno@clisp.org>
22350         system-quote: Refactor.
22351         * lib/system-quote.h (system_quote_copy): Fix comment.
22352         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
22353         New functions, extracted from system_quote_copy.
22354         (system_quote_length, system_quote_copy): Use these functions.
22355         Reported by Paul Eggert.
22357 2012-05-08  Bruno Haible  <bruno@clisp.org>
22359         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
22360         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
22362 2012-05-08  Bruno Haible  <bruno@clisp.org>
22364         Tests for module 'system-quote'.
22365         * modules/system-quote-tests: New file.
22366         * tests/test-system-quote.sh: New file.
22367         * tests/test-system-quote-main.c: New file.
22368         * tests/test-system-quote-child.c: New file.
22370         New module 'system-quote'.
22371         * lib/system-quote.h: New file.
22372         * lib/system-quote.c: New file.
22373         * modules/system-quote: New file.
22375 2012-05-08  Bruno Haible  <bruno@clisp.org>
22377         sh-quote: Make C++ safe and allow multiple inclusion.
22378         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
22379         declarations in extern "C".
22381 2012-05-08  Bruno Haible  <bruno@clisp.org>
22383         sh-quote tests: Make tests stricter.
22384         * tests/test-sh-quote.c (check_one): Check the return value of
22385         shell_quote_copy.
22386         (main): Check a string with a CR character. Check a string that
22387         contains UCHAR_MAX.
22389 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
22391         warnings.m4: provide a means to specify the program to compile.
22392         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
22393         (gl_WARN_ADD): here.
22394         Use gl_AS_VAR_APPEND.
22395         Support an argument to specify the program to compile.
22396         (gl_WARN_ADD): Accept an argument to specify the program to compile.
22397         AC_SUBST the WARN_CFLAGS when they are used.
22398         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
22399         leave this to gl_WARN_ADD.
22401 2012-05-08  Eric Blake  <eblake@redhat.com>
22403         doc: recommendations on gettext version
22404         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
22405         choice between versions.
22406         * DEPENDENCIES (gettext): Cover both approaches.
22408 2012-05-08  Jim Meyering  <meyering@redhat.com>
22410         init.sh: explain why EXEEXT support uses aliases rather than functions
22411         * tests/init.sh: Add a comment.
22413         init.sh: don't let bash aliases interfere with tests
22414         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
22415         is bash.  This avoids problems for those who alias standard commands to
22416         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
22417         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
22419 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
22421         stdint: be more consistent with glibc, SunOS libc
22422         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
22423         (gl_int_fast16_t, gl_uint_fast16_t)
22424         (gl_int_fast32_t, gl_uint_fast32_t)
22425         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
22426         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
22427         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
22428         Be consistent with glibc by default, and with SunOS 5.10 and later
22429         if __sun is defined.  This lessens the likelihood of clashes if
22430         code compiled for older hosts is combined with code compiled for
22431         newer ones.  Problem reported by Niels Möller in
22432         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
22434 2012-05-07  Eric Blake  <eblake@redhat.com>
22436         isatty: relax license to LGPLv2+
22437         * modules/isatty (License): Relax license.
22439 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22441         stat-size: comment fix
22442         * lib/stat-size.h: Remove obsolete comment about indenting.
22444 2012-05-06  Bruno Haible  <bruno@clisp.org>
22446         Tests for module 'sh-quote'.
22447         * modules/sh-quote-tests: New file.
22448         * tests/test-sh-quote.c: New file.
22450 2012-05-06  Bruno Haible  <bruno@clisp.org>
22452         sh-quote: Improve shell_quote_argv's signature.
22453         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
22454         * lib/sh-quote.c (shell_quote_argv): Likewise.
22456 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
22458         stdint: document issues with int_fast8_t etc.
22459         * doc/posix-headers/stdint.texi (stdint.h): Say that other
22460         stdint.h substitutes may define these types differently.  See
22461         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
22463 2012-05-05  Bruno Haible  <bruno@clisp.org>
22465         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
22466         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
22467         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
22468         or 'guessing no (mishandles large arguments)'.
22470 2012-05-05  Bruno Haible  <bruno@clisp.org>
22472         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
22473         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
22474         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22475         set gl_cv_func_link_follows_symlink to "guessing no".
22477 2012-05-05  Bruno Haible  <bruno@clisp.org>
22479         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
22480         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
22481         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
22482         "guessing no".
22483         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
22485 2012-05-05  Bruno Haible  <bruno@clisp.org>
22487         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
22488         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
22489         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
22490         set gl_cv_struct_dirent_d_ino to "guessing yes".
22492 2012-05-05  Bruno Haible  <bruno@clisp.org>
22494         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
22495         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
22496         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
22497         "guessing yes".
22499 2012-05-05  Bruno Haible  <bruno@clisp.org>
22501         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
22502         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
22503         compiling to a glibc system, set gl_cv_func_signbit and
22504         gl_cv_func_signbit_gcc to "guessing yes".
22506 2012-05-05  Bruno Haible  <bruno@clisp.org>
22508         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
22509         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
22510         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
22511         to "guessing yes".
22512         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
22513         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
22515 2012-05-05  Bruno Haible  <bruno@clisp.org>
22517         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
22518         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
22519         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
22520         gl_cv_func_realpath_works to "guessing yes".
22522 2012-05-05  Bruno Haible  <bruno@clisp.org>
22524         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
22525         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
22526         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
22528 2012-05-04  Bruno Haible  <bruno@clisp.org>
22530         Tweak last commit.
22531         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
22532         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22534 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
22536         unistd_h: make it easier to avoid sys_types_h
22537         This is useful for Emacs, which has its own method of porting to
22538         Windows, and which therefore does not need the sys_types_h module.
22539         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
22540         code moved here from gl_SYS_TYPES_H.
22541         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
22542         using the code directly.
22543         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
22544         gl_SYS_TYPES_H.
22545         * modules/sys_types (Files):
22546         * modules/unistd (Files): Add m4/off_t.m4.
22548 2012-05-03  Bruno Haible  <bruno@clisp.org>
22550         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
22551         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
22552         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
22553         "guessing yes" or "guessing no".
22554         (gl_FUNC_LSTAT): Update.
22555         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
22556         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
22557         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
22559 2012-05-03  Bruno Haible  <bruno@clisp.org>
22561         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
22562         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
22563         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
22564         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
22565         cross-compiling, choose the first alternative on glibc systems.
22566         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
22568 2012-05-03  Bruno Haible  <bruno@clisp.org>
22570         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
22571         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
22572         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
22574 2012-05-03  Bruno Haible  <bruno@clisp.org>
22576         chown: Avoid "guessing no" when cross-compiling to glibc systems.
22577         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
22579 2012-05-03  Bruno Haible  <bruno@clisp.org>
22581         Avoid "guessing no" guesses when cross-compiling to glibc systems.
22582         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
22583         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
22584         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
22585         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
22586         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
22587         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
22588         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
22589         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
22590         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
22591         compiling to glibc systems, set gl_cv_func_chown_slash_works,
22592         gl_cv_func_chown_ctime_works to "guessing yes".
22593         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
22594         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
22595         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
22596         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
22597         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
22598         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
22599         compiling to glibc systems, set gl_cv_func_open_directory_works to
22600         "guessing yes".
22601         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
22602         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
22603         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
22604         "guessing yes".
22605         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
22606         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
22607         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
22608         compiling to glibc systems, set gl_cv_func_floorf_ieee to
22609         "guessing yes".
22610         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
22611         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
22612         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
22613         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
22614         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
22615         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
22616         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
22617         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
22618         "guessing yes".
22619         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
22620         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
22621         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
22622         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
22623         "guessing yes".
22624         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
22625         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
22626         "guessing yes".
22627         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
22628         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
22629         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
22630         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
22631         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
22632         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
22633         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
22634         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
22635         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
22636         compiling to glibc systems, set gl_cv_func_log10f_ieee to
22637         "guessing yes".
22638         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
22639         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
22640         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
22641         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
22642         "guessing yes".
22643         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
22644         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
22645         "guessing yes".
22646         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
22647         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
22648         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
22649         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
22650         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
22651         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
22652         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
22653         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
22654         compiling to glibc systems, set gl_cv_func_mkfifo_works to
22655         "guessing yes".
22656         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
22657         compiling to glibc systems, set gl_cv_func_mknod_works to
22658         "guessing yes".
22659         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
22660         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
22661         "guessing yes".
22662         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
22663         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
22664         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
22665         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
22666         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
22667         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
22668         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
22669         compiling to glibc systems, set gl_cv_func_svid_putenv to
22670         "guessing yes".
22671         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
22672         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
22673         "guessing yes".
22674         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
22675         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
22676         "guessing yes".
22677         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
22678         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
22679         to "guessing yes".
22680         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
22681         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
22682         to "guessing yes".
22683         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
22684         compiling to glibc systems, set gl_cv_func_rmdir_works to
22685         "guessing yes".
22686         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
22687         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
22688         gl_cv_func_unlink_parent_fails to "guessing yes".
22689         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
22690         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
22691         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
22692         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
22693         gl_cv_func_rename_dest_works to "guessing yes".
22694         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
22695         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
22696         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
22697         compiling to glibc systems, set gl_cv_func_roundf_ieee to
22698         "guessing yes".
22699         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
22700         compiling to glibc systems, set gl_cv_func_roundl_ieee to
22701         "guessing yes".
22702         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
22703         compiling to glibc systems, set gl_cv_func_setenv_works to
22704         "guessing yes".
22705         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
22706         compiling to glibc systems, set gl_cv_func_unsetenv_works to
22707         "guessing yes".
22708         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
22709         compiling to glibc systems, set gl_cv_func_sleep_works to
22710         "guessing yes".
22711         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
22712         compiling to glibc systems, set gl_cv_func_stat_file_slash to
22713         "guessing yes".
22714         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
22715         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
22716         "guessing yes".
22717         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
22718         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
22719         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
22720         compiling to glibc systems, set gl_cv_func_truncf_ieee to
22721         "guessing yes".
22722         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
22723         compiling to glibc systems, set gl_cv_func_truncl_ieee to
22724         "guessing yes".
22725         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
22726         compiling to glibc systems, set gl_cv_func_usleep_works to
22727         "guessing yes".
22728         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
22729         compiling to glibc systems, set gl_cv_func_futimesat_works to
22730         "guessing yes".
22732 2012-05-03  Bruno Haible  <bruno@clisp.org>
22734         Say "guessing yes" or "guessing no" when cross-compiling.
22735         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
22736         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
22737         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
22738         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
22739         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
22740         am_cv_func_working_getline to "guessing yes" or "guessing no".
22741         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
22742         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
22743         (gl_FUNC_MEMMEM): When cross-compiling, set
22744         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
22745         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
22746         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
22747         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
22748         set gl_cv_func_strcasestr_works_always to "guessing yes" or
22749         "guessing no".
22750         (gl_FUNC_STRCASESTR): When cross-compiling, set
22751         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
22752         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
22753         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
22754         (gl_FUNC_STRSTR): When cross-compiling, set
22755         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
22756         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
22757         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
22758         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
22759         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
22761 2012-05-01  Bruno Haible  <bruno@clisp.org>
22763         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
22764         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
22765         * build-aux/reloc-ldflags: Likewise.
22766         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
22768 2012-05-01  Bruno Haible  <bruno@clisp.org>
22770         gnulib-tool: Remove transitional code.
22771         * gnulib-tool: Don't warn about --import with 0 arguments any more.
22772         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
22774 2012-05-01  Bruno Haible  <bruno@clisp.org>
22776         getcwd: Fix misindentation.
22777         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
22779 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
22781         exclude: process exclude and include directives in order
22782         This restores the pre-2009 behavior, and is part of a fix of a
22783         grep bug reported by Quentin Arce in
22784         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
22785         * lib/exclude.c (struct exclude): Remove 'tail' member.
22786         (new_exclude_segment): Prepend the new segment instead of appending.
22787         Return void, since that's now more convenient.
22788         (file_pattern_matches): Renamed from excluded_file_pattern_p.
22789         (file_name_matches): Renamed from excluded_file_name_p.
22790         (file_pattern_matches, file_name_matches):
22791         Return true if the pattern matches, not if it excludes.
22792         All callers changed.
22793         (excluded_file_name): Process the list in reverse order;
22794         since the list is now reversed this restores the pre-2009 behavior.
22795         (add_exclude): Adjust to new reversed-order list.  Use local var
22796         rather than macro, for clarity.
22797         * tests/test-exclude7.sh: Adjust to corrected behavior.
22799         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
22800         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
22801         it's not possible here.  Handle the case of \ at end of pattern
22802         without dumping core.
22803         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
22805         _Noreturn: future-proof non-GNU and non-MSVC compilers
22806         * build-aux/snippet/_Noreturn.h (_Noreturn):
22807         * m4/gnulib-common.m4 (gl_COMMON_BODY):
22808         Do not define _Noreturn if __STDC_VERSION__ indicates this is
22809         C11 or later.  This is more likely to work with random future C
22810         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
22811         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
22813         exclude: handle wildcards with FNM_EXTMATCH
22814         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
22815         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
22816         comment that "has wildcards" really means "has or may have
22817         wildcards".  Simplify by avoiding the need to call strcspn.
22819 2012-04-29  Bruno Haible  <bruno@clisp.org>
22821         gnulib-tool: Fix list of authors.
22822         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
22824 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
22826         bootstrap: support Automake-NG in $buildreq
22827         * bootstrap (check_versions): Handle automake and aclocal from
22828         Automake-NG specially.  They can be specified as respectively
22829         the "automake-ng" and "aclocal-ng" requirements.
22831 2012-04-25  Eric Blake  <eblake@redhat.com>
22833         bootstrap: only force latest Makefile.in.in for gettext module
22834         * build-aux/bootstrap (with_gettext): Only install latest
22835         Makefile.in.in for projects requesting bleeding edge gettext.
22837 2012-04-22  Bruno Haible  <bruno@clisp.org>
22839         doc: Mention reason for replacement on glibc/Linux systems.
22840         * doc/posix-functions/dprintf.texi: Mention the problem with special
22841         'long double' values.
22842         * doc/posix-functions/fprintf.texi: Likewise.
22843         * doc/posix-functions/printf.texi: Likewise.
22844         * doc/posix-functions/snprintf.texi: Likewise.
22845         * doc/posix-functions/sprintf.texi: Likewise.
22846         * doc/posix-functions/vdprintf.texi: Likewise.
22847         * doc/posix-functions/vfprintf.texi: Likewise.
22848         * doc/posix-functions/vprintf.texi: Likewise.
22849         * doc/posix-functions/vsnprintf.texi: Likewise.
22850         * doc/posix-functions/vsprintf.texi: Likewise.
22851         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
22852         platforms with F_DUPFD_CLOEXEC problems.
22853         * doc/posix-functions/glob.texi: Mention which platforms are affected
22854         by the problem with symbolic links.
22855         * doc/posix-functions/linkat.texi: Mention the problem with
22856         AT_SYMLINK_FOLLOW on Linux.
22858 2012-04-22  Bruno Haible  <bruno@clisp.org>
22860         pwrite: Don't replace on all platforms.
22861         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
22863 2012-04-22  Bruno Haible  <bruno@clisp.org>
22865         rint* tests: Avoid gcc warnings.
22866         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
22867         * tests/test-rintf.c (INFINITY, NAN): Likewise.
22868         * tests/test-rintl.c (INFINITY, NAN): Likewise.
22870 2012-04-21  Bruno Haible  <bruno@clisp.org>
22872         users.txt: Update.
22873         * users.txt: Add freedink, wdiff. Update URLs for projects that have
22874         switched from CVS to git, bzr, or svn.
22876 2012-04-21  Bruno Haible  <bruno@clisp.org>
22878         Large File Support for native Windows platforms.
22880         * m4/largefile.m4 (gl_LARGEFILE): New macro.
22881         * modules/largefile (configure.ac): Require gl_LARGEFILE.
22883         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
22884         type.
22885         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
22886         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
22887         * doc/posix-headers/sys_types.texi: Mention the effect of the
22888         'largefile' module.
22890         * lib/fcntl.in.h: Add comments about off_t.
22891         * modules/fcntl-h (Depends-on): Add sys_types.
22893         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
22894         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
22895         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
22896         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
22897         * modules/unistd (Depends-on): Add sys_types.
22898         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
22900         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
22901         instead of lseek.
22902         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
22903         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
22904         * modules/lseek (Depends-on): Add sys_types.
22906         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
22907         msvc-nothrow.h.
22908         (SetFileSize): New function.
22909         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
22910         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
22911         if Large File Support is requested.
22912         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
22913         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
22915         * lib/stdio.in.h: Add comments about off_t.
22916         * modules/stdio (Depends-on): Add sys_types.
22918         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
22919         instead of ftello.
22920         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
22921         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
22922         (gl_PREREQ_FTELLO): New macro.
22923         * modules/ftello (Depends-on): Add sys_types.
22924         (configure.ac): Incoke gl_PREREQ_FTELLO.
22926         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
22927         instead of fseeko.
22928         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
22929         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
22930         (gl_PREREQ_FSEEKO): New macro.
22931         * modules/fseeko (Depends-on): Add sys_types.
22932         (configure.ac): Invoke gl_PREREQ_FSEEKO.
22934         * lib/sys_stat.in.h: Add comments about off_t.
22935         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
22936         64-bit integer for st_size in 'struct stat'.
22937         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
22938         Define _GL_WINDOWS_64_BIT_ST_SIZE.
22939         * modules/sys_stat (Depends-on): Add sys_types.
22940         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
22942         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
22943         instead of stat or _stat.
22945         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
22946         'struct _stati64' instead of fstat and 'struct stat'.
22947         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
22948         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
22950         Reported by Ray Satiro <raysatiro@yahoo.com>.
22952 2012-04-19  Eric Blake  <eblake@redhat.com>
22954         bootstrap: accommodate older libtool
22955         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
22956         Reported by Daniel P. Berrange.
22958 2012-04-19  Jim Meyering  <meyering@redhat.com>
22960         announce-gen: avoid failure due to lack of Digest::SHA1
22961         Even with the preferred Digest::SHA available, this script
22962         would fail when the backup module, Digest::SHA1, was not installed.
22963         * build-aux/announce-gen: Quote the conditional use of "use".
22964         Reported by Reuben Thomas in:
22965         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
22967         bootstrap: don't let a user's CDPATH setting affect this script
22968         When CDPATH is set, cd will sometimes generate output.
22969         When "cd" is run in a subshell whose output matters, that
22970         surprising-to-some output can cause malfunction.
22971         Unsetting CDPATH turns off this shell "feature."
22972         * build-aux/bootstrap (CDPATH): Unset.
22973         Reported by Reuben Thomas in:
22974         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
22975         and inspired by his patch here:
22976         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
22978 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
22979         and Jim Meyering  <meyering@redhat.com>
22981         maint.mk: catch "see @xref{}" and similar
22982         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
22983         prohibit "See also @xref{", "Also see @pxref{", and similar.
22985 2012-04-16  Jim Meyering  <meyering@redhat.com>
22987         bootstrap: really use gnulib's po/Makefile.in.in
22988         * build-aux/bootstrap: Correct the source file name in previous change.
22989         Reported by Akim Demaille.
22991         configmake: correct minor inconsistency in Makefile rule
22992         * modules/configmake (Makefile.am): All other rules like this one
22993         run the final "mv -f ..." in the same backslash-continued command
22994         as the one that does everything else.  This one put the mv -f ...
22995         command on a separate, non-backslash-continued line.
22996         Make it like the others.
22998         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
22999         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
23000         the one from gettext.  Reported by Akim Demaille.
23002 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
23004         Fix recursion of install-* into po directories.
23005         Bison's install-pdf bug reported by Hans Aberg at
23006         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
23007         * build-aux/po/Makefile.in.in (install-dvi, install-html)
23008         (install-info, install-pdf, install-ps): New targets.
23010 2012-04-16  Jim Meyering  <meyering@redhat.com>
23012         maint: avoid spurious "make sc_maint" failure
23013         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
23014         exempt all *.class file names, for lib/javaversion.class.
23016 2012-04-15  Bruno Haible  <bruno@clisp.org>
23018         lseek: Make configure test independent of environment.
23019         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
23020         Windows, we know that lseek() on pipes is broken; skip the runtime
23021         test.
23023 2012-04-14  Bruno Haible  <bruno@clisp.org>
23025         stat: Bypass buggy override in mingw64.
23026         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
23027         * lib/stat.c (stat) [mingw64]: Define to _stat.
23028         * doc/posix-functions/stat.texi: Mention mingw64 bug.
23030 2012-04-14  Bruno Haible  <bruno@clisp.org>
23032         pathmax: Fix compilation error on MSVC 9.
23033         * modules/pathmax (Depends-on): Add unistd.
23035 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
23037         README: document pointer comparison assumption
23038         * README (Portability guidelines): Document assumption about
23039         pointer comparisons, in response to a recent bug-gnulib comment by
23040         Jeffrey Kegler.
23042 2012-04-12  Bruno Haible  <bruno@clisp.org>
23044         Tests for module 'getrusage'.
23045         * modules/getrusage-tests: New file.
23046         * tests/test-getrusage.c: New file.
23048         New module 'getrusage'.
23049         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
23050         warn-on-use.h.
23051         (getrusage): New declaration.
23052         * lib/getrusage.c: New file.
23053         * m4/getrusage.m4: New file.
23054         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
23055         is declared.
23056         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
23057         HAVE_GETRUSAGE.
23058         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
23059         snippet/c++defs, snippet/warn-on-use.
23060         (Makefile.am): Update generation of sys/resource.h. Substitute
23061         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
23062         * modules/getrusage: New file.
23063         * doc/posix-functions/getrusage.texi: Mention the new module.
23065 2012-04-12  Bruno Haible  <bruno@clisp.org>
23067         Tests for module 'sys_resource'.
23068         * modules/sys_resource-tests: New file.
23069         * tests/test-sys_resource.c: New file.
23071         New module 'sys_resource'.
23072         * lib/sys_resource.in.h: New file.
23073         * m4/sys_resource_h.m4: New file.
23074         * modules/sys_resource: New file.
23075         * doc/posix-headers/sys_resource.texi: Mention the new module.
23077 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
23079         ioctl: Fix compilation error on mingw.
23080         * lib/ioctl.c: Include <windows.h>.
23081         Also reported by Ray Satiro <raysatiro@yahoo.com>.
23083 2012-04-04  Jim Meyering  <meyering@redhat.com>
23085         regex: correct #pragma guard expression
23086         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
23087         not 4.3.  Correct its cpp guard expression.
23089 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
23091         regex: remove unnecessary type punning
23092         Problem reported by Vladimir Serbinenko in
23093         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
23094         * lib/regex.h (struct re_pattern_buffer): Change the type of
23095         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
23096         Fix comment to match code.
23097         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
23098         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
23099         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
23100         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
23101         (set_regs):
23102         Omit no-longer-necessary casts.
23104 2012-04-03  Bruno Haible  <bruno@clisp.org>
23106         Tests for module 'ilogbl'.
23107         * modules/ilogbl-tests: New file.
23108         * tests/test-ilogbl.c: New file.
23110         New module 'ilogbl'.
23111         * lib/math.in.h (ilogbl): New declaration.
23112         * lib/ilogbl.c: New file.
23113         * m4/ilogbl.m4: New file.
23114         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
23115         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
23116         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
23117         Split sed invocation, to avoid the limit of 100 substitutions of
23118         HP-UX 'sed'.
23119         * modules/ilogbl: New file.
23120         * tests/test-math-c++.cc: Check the declaration of ilogbl.
23121         * doc/posix-functions/ilogbl.texi: Mention the new module.
23123 2012-04-03  Bruno Haible  <bruno@clisp.org>
23125         Tests for module 'ilogbf'.
23126         * modules/ilogbf-tests: New file.
23127         * tests/test-ilogbf.c: New file.
23129         New module 'ilogbf'.
23130         * lib/math.in.h (ilogbf): New declaration.
23131         * lib/ilogbf.c: New file.
23132         * m4/ilogbf.m4: New file.
23133         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
23134         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
23135         REPLACE_ILOGBF.
23136         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
23137         REPLACE_ILOGBF.
23138         * modules/ilogbf: New file.
23139         * tests/test-math-c++.cc: Check the declaration of ilogbf.
23140         * doc/posix-functions/ilogbf.texi: Mention the new module.
23142 2012-04-03  Bruno Haible  <bruno@clisp.org>
23144         Tests for module 'ilogb'.
23145         * modules/ilogb-tests: New file.
23146         * tests/test-ilogb.c: New file.
23147         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
23148         tests/test-logb-ieee.h.
23150         New module 'ilogb'.
23151         * lib/math.in.h (ilogb): New declaration.
23152         * lib/ilogb.c: New file.
23153         * m4/ilogb.m4: New file.
23154         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
23155         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
23156         REPLACE_ILOGB.
23157         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
23158         REPLACE_ILOGB.
23159         * modules/ilogb: New file.
23160         * tests/test-math-c++.cc: Check the declaration of ilogb.
23161         * doc/posix-functions/ilogb.texi: Mention the new module.
23163 2012-04-03  Bruno Haible  <bruno@clisp.org>
23165         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
23166         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
23167         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
23168         (main): Check their values.
23169         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
23170         problem.
23172 2012-04-03  Bruno Haible  <bruno@clisp.org>
23174         Tests for module 'logbl-ieee'.
23175         * modules/logbl-ieee-tests: New file.
23176         * tests/test-logbl-ieee.c: New file.
23178         New module 'logbl-ieee'.
23179         * modules/logbl-ieee: New file.
23181         Tests for module 'logb-ieee'.
23182         * modules/logb-ieee-tests: New file.
23183         * tests/test-logb-ieee.c: New file.
23185         New module 'logb-ieee'.
23186         * modules/logb-ieee: New file.
23188         Tests for module 'logbf-ieee'.
23189         * modules/logbf-ieee-tests: New file.
23190         * tests/test-logbf-ieee.c: New file.
23191         * tests/test-logb-ieee.h: New file.
23193         New module 'logbf-ieee'.
23194         * modules/logbf-ieee: New file.
23196 2012-04-03  Bruno Haible  <bruno@clisp.org>
23198         Tests for module 'logbl'.
23199         * modules/logbl-tests: New file.
23200         * tests/test-logbl.c: New file.
23202         New module 'logbl'.
23203         * lib/math.in.h (logbl): New declaration.
23204         * lib/logbl.c: New file.
23205         * m4/logbl.m4: New file.
23206         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
23207         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
23208         REPLACE_LOGBL.
23209         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
23210         REPLACE_LOGBL.
23211         * modules/logbl: New file.
23212         * tests/test-math-c++.cc: Check the declaration of logbl.
23213         * doc/posix-functions/logbl.texi: Mention the new module.
23215 2012-04-02  Bruno Haible  <bruno@clisp.org>
23217         Tests for module 'logbf'.
23218         * modules/logbf-tests: New file.
23219         * tests/test-logbf.c: New file.
23221         New module 'logbf'.
23222         * lib/math.in.h (logbf): New declaration.
23223         * lib/logbf.c: New file.
23224         * m4/logbf.m4: New file.
23225         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
23226         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
23227         REPLACE_LOGBF.
23228         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
23229         REPLACE_LOGBF.
23230         * modules/logbf: New file.
23231         * tests/test-math-c++.cc: Check the declaration of logbf.
23232         * doc/posix-functions/logbf.texi: Mention the new module.
23234 2012-04-02  Bruno Haible  <bruno@clisp.org>
23236         logb tests: More tests.
23237         * tests/test-logb.h: New file, based on tests/test-logb.c and
23238         tests/test-frexp.h.
23239         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
23240         (main): Just invoke test_function.
23241         * modules/logb-tests (Files): Add tests/test-logb.h,
23242         tests/minus-zero.h, tests/randomd.c.
23243         (Makefile.am): Add randomd.c to test_logb_SOURCES.
23245         logb: Provide replacement and workarounds.
23246         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
23247         is 1.
23248         * lib/logb.c: New file.
23249         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
23250         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
23251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
23252         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
23253         * modules/logb (Files): Add lib/logb.c.
23254         (Depends-on): Add isfinite, frexp, isnand.
23255         (configure.ac): Compile the replacement code logb.c if needed.
23256         * tests/test-math-c++.cc: Check the declaration of logb.
23257         * doc/posix-functions/logb.texi: Mention the replacement and the bug
23258         with subnormal numbers.
23260 2012-04-02  Bruno Haible  <bruno@clisp.org>
23262         log10* tests: Speed up.
23263         * tests/test-log10.h (test_function): Reduce amount of random numbers
23264         to test.
23266 2012-04-01  Bruno Haible  <bruno@clisp.org>
23268         logf-ieee: Fix test whether logf works.
23269         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
23271 2012-04-01  Bruno Haible  <bruno@clisp.org>
23273         log10l: Work around log10l-ieee test failure on IRIX 6.5.
23274         * lib/log10l.c: Include <float.h>
23275         (log10l): On IRIX, normalize the +Infinity value.
23276         * modules/log10l (Depends-on): Add 'float'.
23277         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
23278         +Infinity.
23280         log10f-ieee: Work around test failure on NetBSD 5.1.
23281         * m4/log10f-ieee.m4: New file.
23282         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
23283         test whether log10f works with a negative argument. Replace it if not.
23284         * lib/log10f.c (log10f): For negative arguments, return NaN.
23285         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
23286         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
23287         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
23289         log10f-ieee: Work around test failure on Solaris 9.
23290         * modules/log10f-ieee (Depends-on): Add log10-ieee.
23291         (configure.ac): Require gl_FUNC_LOG10F.
23293         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
23294         * m4/log10-ieee.m4: New file.
23295         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
23296         whether log10 works with a negative argument. Replace it if not.
23297         * lib/log10.c (log10): For negative arguments, return NaN.
23298         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
23299         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
23300         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
23302         Tests for module 'log10l-ieee'.
23303         * modules/log10l-ieee-tests: New file.
23304         * tests/test-log10l-ieee.c: New file.
23306         New module 'log10l-ieee'.
23307         * modules/log10l-ieee: New file.
23309         Tests for module 'log10-ieee'.
23310         * modules/log10-ieee-tests: New file.
23311         * tests/test-log10-ieee.c: New file.
23313         New module 'log10-ieee'.
23314         * modules/log10-ieee: New file.
23316         Tests for module 'log10f-ieee'.
23317         * modules/log10f-ieee-tests: New file.
23318         * tests/test-log10f-ieee.c: New file.
23319         * tests/test-log10-ieee.h: New file.
23321         New module 'log10f-ieee'.
23322         * modules/log10f-ieee: New file.
23324 2012-04-01  Bruno Haible  <bruno@clisp.org>
23326         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
23327         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
23328         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
23329         workaround.
23330         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
23331         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
23332         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
23333         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
23334         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
23335         (Depends-on): Update conditions.
23336         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
23337         IRIX 6.5, OSF/1 5.1 problems.
23339 2012-04-01  Bruno Haible  <bruno@clisp.org>
23341         log10f: Work around OSF/1 5.1 bug.
23342         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
23343         * lib/log10f.c (log10f): If logf exists, use it and provide just the
23344         workaround.
23345         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
23346         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
23347         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
23348         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
23349         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
23350         (Depends-on): Update conditions.
23351         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
23353 2012-04-01  Bruno Haible  <bruno@clisp.org>
23355         log10: Work around OSF/1 5.1 bug.
23356         * lib/math.in.h (log10): New declaration.
23357         * lib/log10.c: New file.
23358         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
23359         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
23360         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
23361         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
23362         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
23363         * modules/log10 (Files): Add lib/log10.c.
23364         (Depends-on): Add math.
23365         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
23366         * tests/test-math-c++.cc: Check the declaration of log10.
23367         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
23369 2012-03-31  Bruno Haible  <bruno@clisp.org>
23371         log10l tests: More tests.
23372         * modules/log10l-tests (Files): Add tests/test-log10l.h,
23373         tests/minus-zero.h, tests/randoml.c.
23374         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
23375         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
23376         (main): Invoke test_function.
23378         log10f tests: More tests.
23379         * modules/log10f-tests (Files): Add tests/test-log10.h,
23380         tests/minus-zero.h, tests/randomf.c.
23381         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
23382         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
23383         (main): Invoke test_function.
23385         log10 tests: More tests.
23386         * tests/test-log10.h: New file.
23387         * modules/log10-tests (Files): Add tests/test-log10.h,
23388         tests/minus-zero.h, tests/randomd.c.
23389         (Makefile.am): Add randomd.c to test_log10_SOURCES.
23390         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
23391         (main): Invoke test_function.
23393 2012-03-31  Simon Josefsson  <simon@josefsson.org>
23395         fflush: Fix syntax error.
23396         * lib/fflush.c: Include unused-parameter.h, needed for
23397         _GL_UNUSED_PARAMETER.
23398         * modules/fflush (Depends-on): Add snippet/unused-parameter.
23400 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23402         regex: pacify GCC when compiling GRUB
23403         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
23404         a diagnostic.  Reported by Vladimir Serbinenko in
23405         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
23407 2012-03-29  Eric Blake  <eblake@redhat.com>
23409         stdio: don't assume gets any more
23410         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
23411         support.
23412         * modules/stdio (Makefile.am): Likewise.
23413         * lib/stdio-read.c (gets): Likewise.
23414         * tests/test-stdio-c++.cc: Likewise.
23415         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
23416         * lib/stdio.in.h (gets): Make warning occur in more places.
23417         * doc/posix-functions/gets.texi (gets): Update documentation.
23418         Reported by Christer Solskogen.
23420         maint.mk: fix syntax checks without exclusions
23421         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
23422         Reported by Daniel P. Berrange.
23424         strerror_r: avoid compiler warning
23425         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
23426         level.
23428         fflush: avoid compiler warning
23429         * lib/fflush.c (update_fpos_cache): Mark variables that are
23430         potentially unused.
23432 2012-03-25  Bruno Haible  <bruno@clisp.org>
23434         Tests for module 'localeconv'.
23435         * modules/localeconv-tests: New file.
23436         * tests/test-localeconv.c: New file.
23438         New module 'localeconv'.
23439         * lib/locale.in.h (localeconv): New declaration.
23440         * lib/localeconv.c: New file.
23441         * m4/localeconv.m4: New file.
23442         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
23443         REPLACE_LOCALECONV.
23444         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
23445         REPLACE_LOCALECONV.
23446         * modules/localeconv: New file.
23447         * modules/nl_langinfo (Depends-on): Add localeconv.
23448         * modules/human (Depends-on): Likewise.
23449         * doc/posix-functions/localeconv.texi: Mention the new module.
23451 2012-03-25  Bruno Haible  <bruno@clisp.org>
23453         locale: Provide a complete 'struct lconv'.
23454         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23455         'struct lconv' does not contain int_p_cs_precedes.
23456         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23457         * doc/posix-headers/locale.texi: Update.
23459         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
23460         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
23461         * doc/posix-headers/locale.texi: Update.
23463         locale: Provide a working 'struct lconv'.
23464         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
23465         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
23466         'struct lconv' does not even contain decimal_point.
23467         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
23468         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
23469         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
23470         * doc/posix-headers/locale.texi: Mention the problems with
23471         'struct lconv'.
23472         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
23474 2012-03-24  Bruno Haible  <bruno@clisp.org>
23476         Enable common subexpression optimization in GCC.
23477         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
23478         macros.
23479         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
23480         GCC attribute 'const'.
23481         (uc_locale_language): Declare with GCC attribute 'pure'.
23482         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
23483         with GCC attribute 'const'.
23484         * lib/unictype.in.h (uc_is_general_category_withtable,
23485         uc_combining_class, uc_combining_class_name,
23486         uc_combining_class_long_name, uc_bidi_class_name,
23487         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
23488         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
23489         uc_decimal_value, uc_digit_value, uc_numeric_value,
23490         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
23491         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
23492         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
23493         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
23494         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
23495         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
23496         Declare with GCC attribute 'const'.
23497         (uc_general_category_name, uc_general_category_long_name,
23498         uc_general_category_byname, uc_general_category,
23499         uc_is_general_category, uc_combining_class_byname,
23500         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
23501         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
23502         Declare with GCC attribute 'pure'.
23503         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
23504         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
23505         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
23506         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
23507         with GCC attribute 'pure'.
23508         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
23509         'const'.
23510         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
23511         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
23512         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
23513         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
23514         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
23515         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
23516         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
23517         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
23518         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
23519         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
23520         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
23521         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
23522         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
23523         GCC attribute 'pure'.
23524         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
23525         'const'.
23526         * lib/uniwidth.in.h (uc_width): Simplify declaration.
23527         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
23528         u32_strwidth): Declare with GCC attribute 'pure'.
23530         Enable common subexpression optimization in GCC.
23531         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23532         (alphasort): Declare with GCC attribute 'pure'.
23533         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23534         (atoll): Declare with GCC attribute 'pure'.
23535         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
23536         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
23537         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
23538         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
23539         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
23540         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
23541         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
23543 2012-03-24  Bruno Haible  <bruno@clisp.org>
23545         gnulib-tool: Avoid unintended error output from 'cmp'.
23546         * gnulib-tool (func_add_file, func_update_file, func_import): Use
23547         "cmp -s", not "cmp > /dev/null".
23549 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
23551         gnulib-tool: fix imprecise comments w.r.t. an automake bug
23553         It's not just Automake versions < 1.9b that creates an empty
23554         pkgdatadir at installation time if pkgdata_DATA is specified
23555         to empty; modern automake versions do this as well, at least
23556         until automake 1.11.4 (not yet released at the moment of writing,
23557         but soon to appear).  That behaviour was generally considered a
23558         feature rather than a bug, at least until this discussion:
23559         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
23561         See also automake bugs #10997 and #11030.
23563         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
23564         reference to relevant automake bug numbers.
23565         (func_emit_tests_Makefile_am): Likewise.
23567 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23569         announce-gen: use Digest::SHA when possible
23570         * build-aux/announce-gen: Use Digest::SHA when possible, falling
23571         back to Digest::SHA1 if necessary.
23573 2012-03-20  Jim Meyering  <meyering@redhat.com>
23575         tests: avoid gcc warnings about argv vs. const initializers
23576         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
23577         warnings about discarding 'const' qualifier from pointer target type.
23578         * tests/test-posix_spawn2.c (main): Likewise.
23580 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
23582         README-release: simplify slightly
23583         * top/README-release: Run "git checkout master" only once.
23585 2012-03-15  Mark Wielaard  <mark@klomp.org>
23587         git-merge-changelog: add specific example on how to use with hg.
23588         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
23590 2012-03-18  Mark Wielaard  <mark@klomp.org>
23592         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
23594 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
23596         git-version-gen: don't let "prefix" envvar cause trouble
23597         * build-aux/git-version-gen (prefix): Initialize properly,
23598         so as not to use a value specified via the environment.
23599         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
23601 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23603         regex: diagnose too-large repeat counts in EREs
23604         Previously, the code did not diagnose the too-large repeat count
23605         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
23606         as if it were 'b\{1000000000}', which is unexpected.
23607         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
23608         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
23609         is a reasonable one for this problem.  Another option would be to
23610         create a new REG_OVERFLOW error for repeat counts that are too large.
23611         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
23612         count is too large, so that the caller can distinguish the two cases.
23613         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
23614         "Too large" return code, and that repeat counts are one example of this.
23616 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
23618         doc: some glibc x32 integer width issues
23619         * doc/posix-headers/sys_types.texi (sys/types.h):
23620         * doc/posix-headers/time.texi (time.h):
23621         Mention that glibc x32 does not conform to POSIX in a couple of
23622         areas related to integer widths.
23624 2012-03-15  Bruno Haible  <bruno@clisp.org>
23626         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
23627         * lib/fma.c (VOLATILE): New macro.
23628         (FUNC): Use it to work around a GCC compiler bug.
23630 2012-03-13  Bruno Haible  <bruno@clisp.org>
23632         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23633         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
23634         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
23635         REPLACE_HYPOTL to 1.
23636         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
23638 2012-03-13  Bruno Haible  <bruno@clisp.org>
23640         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23641         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
23642         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
23643         REPLACE_REMAINDERL to 1.
23644         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
23645         bug.
23647 2012-03-13  Bruno Haible  <bruno@clisp.org>
23649         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23650         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
23651         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
23652         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
23653         too big rounding errors.
23654         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
23655         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
23656         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
23657         (Depends-on): Update conditions.
23658         * tests/test-sqrtl.c (my_ldexpl): New function.
23659         (main): Add test of a particular value.
23660         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23662 2012-03-13  Pádraig Brady  <P@draigBrady.com>
23664         doc: Update timer_* platform portability notes.
23665         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
23666         that always return ENOSYS.
23667         * doc/posix-functions/timer_delete.texi: Likewise.
23668         * doc/posix-functions/timer_gettime.texi: Likewise.
23669         * doc/posix-functions/timer_settime.texi: Likewise.
23671 2012-03-13  Bruno Haible  <bruno@clisp.org>
23673         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
23674         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
23675         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
23676         REPLACE_CBRTL to 1.
23677         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
23679 2012-03-13  Bruno Haible  <bruno@clisp.org>
23681         remainderl: Avoid compilation error on AIX >= 5.2.
23682         * lib/math.in.h (remainderl): Undefine macro from the system header.
23684 2012-03-13  Bruno Haible  <bruno@clisp.org>
23686         Avoid compilation errors with MSVC option -fp:strict.
23687         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
23688         * lib/cbrtf.c: Likewise.
23689         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
23691 2012-03-12  Bruno Haible  <bruno@clisp.org>
23693         uninorm: Don't crash in out-of-memory conditions.
23694         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
23695         gracefully.
23696         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
23697         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
23699 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
23701         quote: fix syntax-check
23702         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
23703         also exports quote_quoting_options.
23705 2012-03-12  Simon Josefsson  <simon@josefsson.org>
23707         Collapse list of copyright years to ranges.  See
23708         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
23709         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
23710         build-aux/csharpexec.sh.in, build-aux/gnupload,
23711         build-aux/install-reloc, build-aux/javacomp.sh.in,
23712         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
23713         build-aux/move-if-change, build-aux/reloc-ldflags,
23714         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
23716 2012-03-11  Bruno Haible  <bruno@clisp.org>
23718         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23719         * m4/log2f-ieee.m4: New file.
23720         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
23721         whether log2f works with a minus zero argument. Replace it if not.
23722         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
23723         (Depends-on): Add log2-ieee.
23724         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
23725         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
23727         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
23728         * m4/log2-ieee.m4: New file.
23729         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
23730         whether log2 works with a minus zero argument. Replace it if not.
23731         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
23732         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
23733         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
23735         Tests for module 'log2l-ieee'.
23736         * modules/log2l-ieee-tests: New file.
23737         * tests/test-log2l-ieee.c: New file.
23739         New module 'log2l-ieee'.
23740         * modules/log2l-ieee: New file.
23742         Tests for module 'log2-ieee'.
23743         * modules/log2-ieee-tests: New file.
23744         * tests/test-log2-ieee.c: New file.
23746         New module 'log2-ieee'.
23747         * modules/log2-ieee: New file.
23749         Tests for module 'log2f-ieee'.
23750         * modules/log2f-ieee-tests: New file.
23751         * tests/test-log2f-ieee.c: New file.
23752         * tests/test-log2-ieee.h: New file.
23754         New module 'log2f-ieee'.
23755         * modules/log2f-ieee: New file.
23757 2012-03-11  Bruno Haible  <bruno@clisp.org>
23759         Tests for module 'log2l'.
23760         * modules/log2l-tests: New file.
23761         * tests/test-log2l.c: New file.
23763         New module 'log2l'.
23764         * lib/math.in.h (log2l): New declaration.
23765         * lib/log2l.c: New file.
23766         * m4/log2l.m4: New file.
23767         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
23768         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
23769         REPLACE_LOG2L.
23770         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
23771         REPLACE_LOG2L.
23772         * modules/log2l: New file.
23773         * tests/test-math-c++.cc: Check the declaration of log2l.
23774         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
23775         and OSF/1 problems.
23777 2012-03-11  Bruno Haible  <bruno@clisp.org>
23779         Tests for module 'log2f'.
23780         * modules/log2f-tests: New file.
23781         * tests/test-log2f.c: New file.
23783         New module 'log2f'.
23784         * lib/math.in.h (log2f): New declaration.
23785         * lib/log2f.c: New file.
23786         * m4/log2f.m4: New file.
23787         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
23788         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
23789         REPLACE_LOG2F.
23790         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
23791         REPLACE_LOG2F.
23792         * modules/log2f: New file.
23793         * tests/test-math-c++.cc: Check the declaration of log2f.
23794         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
23795         and OSF/1 and Cygwin problems.
23797 2012-03-11  Bruno Haible  <bruno@clisp.org>
23799         Tests for module 'log2'.
23800         * modules/log2-tests: New file.
23801         * tests/test-log2.c: New file.
23802         * tests/test-log2.h: New file.
23804         New module 'log2'.
23805         * lib/math.in.h (log2): New declaration.
23806         * lib/log2.c: New file.
23807         * m4/log2.m4: New file.
23808         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
23809         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
23810         REPLACE_LOG2.
23811         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
23812         REPLACE_LOG2.
23813         * modules/log2: New file.
23814         * tests/test-math-c++.cc: Check the declaration of log2.
23815         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
23816         and OSF/1 and Cygwin problems.
23818 2012-03-11  Bruno Haible  <bruno@clisp.org>
23820         exp2* tests: More tests.
23821         * tests/test-exp2.h (test_function): Test all integral arguments that
23822         don't need to overflow or denormalized numbers.
23823         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
23824         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
23825         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
23827 2012-03-10  Bruno Haible  <bruno@clisp.org>
23829         log1pl-ieee: Work around test failure on AIX 7.1.
23830         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
23832         log1pl-ieee: Work around test failure on IRIX 6.5.
23833         * m4/log1pl-ieee.m4: New file.
23834         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
23835         test whether log1pl works with a minus zero argument. Replace it if
23836         not.
23837         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
23838         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
23839         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
23840         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
23841         (Depends-on): Update conditions.
23842         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23843         m4/signbit.m4.
23844         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
23845         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
23847         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
23848         * m4/log1pf-ieee.m4: New file.
23849         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
23850         test whether log1pf works with a minus zero argument. Replace it if
23851         not.
23852         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
23853         m4/signbit.m4.
23854         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
23855         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
23857         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
23858         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
23859         (configure.ac): Require gl_FUNC_LOG1PF.
23861         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
23862         * m4/log1p-ieee.m4: New file.
23863         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
23864         whether log1p works with a minus zero argument. Replace it if not.
23865         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
23866         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
23867         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
23868         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
23869         (Depends-on): Update conditions.
23870         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
23871         m4/signbit.m4.
23872         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
23873         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
23875         Tests for module 'log1pl-ieee'.
23876         * modules/log1pl-ieee-tests: New file.
23877         * tests/test-log1pl-ieee.c: New file.
23879         New module 'log1pl-ieee'.
23880         * modules/log1pl-ieee: New file.
23882         Tests for module 'log1p-ieee'.
23883         * modules/log1p-ieee-tests: New file.
23884         * tests/test-log1p-ieee.c: New file.
23886         New module 'log1p-ieee'.
23887         * modules/log1p-ieee: New file.
23889         Tests for module 'log1pf-ieee'.
23890         * modules/log1pf-ieee-tests: New file.
23891         * tests/test-log1pf-ieee.c: New file.
23892         * tests/test-log1p-ieee.h: New file.
23894         New module 'log1pf-ieee'.
23895         * modules/log1pf-ieee: New file.
23897 2012-03-10  Bruno Haible  <bruno@clisp.org>
23899         Tests for module 'log1pl'.
23900         * modules/log1pl-tests: New file.
23901         * tests/test-log1pl.c: New file.
23903         New module 'log1pl'.
23904         * lib/math.in.h (log1pl): New declaration.
23905         * lib/log1pl.c: New file.
23906         * m4/log1pl.m4: New file.
23907         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
23908         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
23909         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
23910         * modules/log1pl: New file.
23911         * tests/test-math-c++.cc: Check the declaration of log1pl.
23912         * doc/posix-functions/log1pl.texi: Mention the new module.
23914 2012-03-10  Bruno Haible  <bruno@clisp.org>
23916         Tests for module 'log1pf'.
23917         * modules/log1pf-tests: New file.
23918         * tests/test-log1pf.c: New file.
23920         New module 'log1pf'.
23921         * lib/math.in.h (log1pf): New declaration.
23922         * lib/log1pf.c: New file.
23923         * m4/log1pf.m4: New file.
23924         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
23925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
23926         REPLACE_LOG1PF.
23927         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
23928         REPLACE_LOG1PF.
23929         * modules/log1pf: New file.
23930         * tests/test-math-c++.cc: Check the declaration of log1pf.
23931         * doc/posix-functions/log1pf.texi: Mention the new module.
23933 2012-03-10  Bruno Haible  <bruno@clisp.org>
23935         log1p tests: More tests.
23936         * tests/test-log1p.h: New file.
23937         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
23938         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
23939         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
23940         (main): Invoke test_function.
23942         log1p: Provide replacement for Minix and MSVC.
23943         * lib/math.in.h (log1p): New declaration.
23944         * lib/log1p.c: New file.
23945         * m4/log1p.m4: New file.
23946         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
23947         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
23948         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
23949         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
23950         (Depends-on): Add math, isnand, log, round.
23951         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
23952         HAVE_LOG1P is 0.
23953         * tests/test-math-c++.cc: Check the declaration of log1p.
23954         * doc/posix-functions/log1p.texi: Mention the replacement.
23956 2012-03-10  Bruno Haible  <bruno@clisp.org>
23958         math tests: Small simplification.
23959         * tests/test-exp.h (test_function): Use the same err_bound for
23960         'double' on platforms with sizeof (long double) == sizeof (double)
23961         than on platforms with sizeof (long double) > sizeof (double).
23962         * tests/test-exp2.h (test_function): Likewise.
23963         * tests/test-expm1.h (test_function): Likewise.
23964         * tests/test-log.h (test_function): Likewise.
23966 2012-03-10  Bruno Haible  <bruno@clisp.org>
23968         Fix some comments.
23969         * lib/expl.c: Fix an ambiguous comment.
23970         * lib/expm1.c: Likewise.
23971         * lib/expm1l.c: Likewise.
23972         * lib/exp2.c: Likewise.
23973         * lib/exp2l.c: Likewise.
23975 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
23977         regex: allow inclusion of <regex.h> before <limits.h>
23978         Without this patch, portable programs had to include <limits.h> before
23979         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
23980         I ran into this problem with a test version of GNU grep on Solaris 8.
23981         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
23982         This is done conditionally so that this change can be merged
23983         back to glibc.
23984         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
23985         using the included regex.
23987         fts: depend on fdopendir
23988         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
23989         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
23990         problem was introduced when fdopendir was split out.
23992 2012-03-10  Bruno Haible  <bruno@clisp.org>
23994         Remove unused variables.
23995         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
23996         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
23998 2012-03-10  Bruno Haible  <bruno@clisp.org>
24000         isnanf-nolibm: Fix last commit.
24001         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
24003         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
24004         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
24006 2012-03-10  Bruno Haible  <bruno@clisp.org>
24008         logf-ieee: Work around test failure on NetBSD 5.1.
24009         * m4/logf-ieee.m4: New file.
24010         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
24011         whether logf works with a negative argument. Replace it if not.
24012         * lib/logf.c (logf): For negative arguments, return NaN.
24013         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
24014         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
24015         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
24017         logf-ieee: Work around test failure on Solaris 9.
24018         * modules/logf-ieee (Depends-on): Add log-ieee.
24019         (configure.ac): Require gl_FUNC_LOGF.
24021         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
24022         * m4/log-ieee.m4: New file.
24023         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
24024         log works with a negative argument. Replace it if not.
24025         * lib/log.c (log): For negative arguments, return NaN.
24026         * modules/log-ieee (Files): Add m4/log-ieee.m4.
24027         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
24028         * doc/posix-functions/log.texi: Mention the log-ieee module.
24030         Tests for module 'logl-ieee'.
24031         * modules/logl-ieee-tests: New file.
24032         * tests/test-logl-ieee.c: New file.
24034         New module 'logl-ieee'.
24035         * modules/logl-ieee: New file.
24037         Tests for module 'log-ieee'.
24038         * modules/log-ieee-tests: New file.
24039         * tests/test-log-ieee.c: New file.
24041         New module 'log-ieee'.
24042         * modules/log-ieee: New file.
24044         Tests for module 'logf-ieee'.
24045         * modules/logf-ieee-tests: New file.
24046         * tests/test-logf-ieee.c: New file.
24047         * tests/test-log-ieee.h: New file.
24049         New module 'logf-ieee'.
24050         * modules/logf-ieee: New file.
24052 2012-03-10  Bruno Haible  <bruno@clisp.org>
24054         log: Fix bug introduced on 2012-03-09.
24055         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
24057 2012-03-10  Pádraig Brady  <P@draigBrady.com>
24059         timer-time: link explicitly with pthreads on glibc
24060         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
24061         to support static linking, when newer glibc is
24062         detected, as that contains pthread emulation of
24063         POSIX timer functions where required.
24064         * modules/timer-time: Depend on threadlib to
24065         pull in the appropriate library to link.
24067 2012-03-10  Bruno Haible  <bruno@clisp.org>
24069         log* tests: More tests.
24070         * tests/test-log.h: New file.
24071         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
24072         (main): Invoke test_function.
24073         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
24074         (main): Invoke test_function.
24075         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
24076         (main): Invoke test_function.
24077         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24078         tests/randomd.c.
24079         (Makefile.am): Add randomd.c to test_log_SOURCES.
24080         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24081         tests/randomf.c.
24082         (Makefile.am): Add randomf.c to test_logf_SOURCES.
24083         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
24084         tests/randoml.c.
24085         (Depends-on): Add 'float'.
24086         (Makefile.am): Add randoml.c to test_logl_SOURCES.
24088 2012-03-09  Bruno Haible  <bruno@clisp.org>
24090         logl: Work around OSF/1 5.1 bug.
24091         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
24092         * lib/logl.c (logl): If logl exists, use it and provide just the
24093         workaround.
24094         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
24095         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
24096         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
24097         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
24098         * modules/logl (configure.ac): Consider REPLACE_LOGL.
24099         (Depends-on): Update conditions.
24100         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
24102 2012-03-09  Bruno Haible  <bruno@clisp.org>
24104         logf: Work around OSF/1 5.1 bug.
24105         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
24106         * lib/logf.c (logf): If logf exists, use it and provide just the
24107         workaround.
24108         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
24109         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
24110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
24111         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
24112         * modules/logf (configure.ac): Consider REPLACE_LOGF.
24113         (Depends-on): Update conditions.
24114         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
24116 2012-03-09  Bruno Haible  <bruno@clisp.org>
24118         log: Work around OSF/1 5.1 bug.
24119         * lib/math.in.h (log): New declaration.
24120         * lib/log.c: New file.
24121         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
24122         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
24123         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
24124         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
24125         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
24126         * modules/log (Files): Add lib/log.c.
24127         (Depends-on): Add math.
24128         (configure.ac): If REPLACE_LOG is 1, compile an override.
24129         * tests/test-math-c++.cc: Check the declaration of log.
24130         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
24132 2012-03-09  Jim Meyering  <meyering@redhat.com>
24134         readtokens.c: adjust wording in a comment
24135         * lib/readtokens.c: Insert omitted "that" in a comment.
24137 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24139         modechange: add notations +40, 00440, etc.
24140         * lib/modechange.c (mode_compile): Support new notations
24141         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
24143 2012-03-08  Bruno Haible  <bruno@clisp.org>
24145         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
24146         * m4/exp2l-ieee.m4: New file.
24147         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
24148         test whether exp2l works with a NaN argument and with a negative
24149         infinity argument. Replace it if not.
24150         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
24151         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
24152         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
24153         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
24154         (Depends-on): Update conditions.
24155         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
24156         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
24157         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
24159         Tests for module 'exp2l-ieee'.
24160         * modules/exp2l-ieee-tests: New file.
24161         * tests/test-exp2l-ieee.c: New file.
24163         New module 'exp2l-ieee'.
24164         * modules/exp2l-ieee: New file.
24166         Tests for module 'exp2-ieee'.
24167         * modules/exp2-ieee-tests: New file.
24168         * tests/test-exp2-ieee.c: New file.
24170         New module 'exp2-ieee'.
24171         * modules/exp2-ieee: New file.
24173         Tests for module 'exp2f-ieee'.
24174         * modules/exp2f-ieee-tests: New file.
24175         * tests/test-exp2f-ieee.c: New file.
24176         * tests/test-exp2-ieee.h: New file.
24178         New module 'exp2f-ieee'.
24179         * modules/exp2f-ieee: New file.
24181 2012-03-08  Bruno Haible  <bruno@clisp.org>
24183         Tests for module 'exp2l'.
24184         * modules/exp2l-tests: New file.
24185         * tests/test-exp2l.c: New file.
24187         New module 'exp2l'.
24188         * lib/math.in.h (exp2l): New declaration.
24189         * lib/exp2l.c: New file.
24190         * lib/expl-table.c: New file, extracted from lib/expl.c.
24191         * lib/expl.c (gl_expl_table): New declaration.
24192         (expl): Remove expl_table. Update reference.
24193         * m4/exp2l.m4: New file.
24194         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
24195         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
24196         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
24197         * modules/exp2l: New file.
24198         * modules/expl (Files): Add lib/expl-table.c.
24199         (configure.ac): Compile also expl-table.c.
24200         * tests/test-math-c++.cc: Check the declaration of exp2l.
24201         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
24202         problem.
24204 2012-03-08  Bruno Haible  <bruno@clisp.org>
24206         Tests for module 'exp2f'.
24207         * modules/exp2f-tests: New file.
24208         * tests/test-exp2f.c: New file.
24210         New module 'exp2f'.
24211         * lib/math.in.h (exp2f): New declaration.
24212         * lib/exp2f.c: New file.
24213         * m4/exp2f.m4: New file.
24214         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
24215         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
24216         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
24217         * modules/exp2f: New file.
24218         * tests/test-math-c++.cc: Check the declaration of exp2f.
24219         * doc/posix-functions/exp2f.texi: Mention the new module and the
24220         IRIX problem.
24222 2012-03-08  Bruno Haible  <bruno@clisp.org>
24224         Tests for module 'exp2'.
24225         * modules/exp2-tests: New file.
24226         * tests/test-exp2.c: New file.
24227         * tests/test-exp2.h: New file.
24229         New module 'exp2'.
24230         * lib/math.in.h (exp2): New declaration.
24231         * lib/exp2.c: New file.
24232         * m4/exp2.m4: New file.
24233         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
24234         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
24235         REPLACE_EXP2.
24236         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
24237         REPLACE_EXP2.
24238         * modules/exp2: New file.
24239         * tests/test-math-c++.cc: Check the declaration of exp2.
24240         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
24241         and OpenBSD problems.
24243 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
24245         savedir: fix comment typo
24246         * lib/savedir.c (savedirstream): Fix typo in comment.
24248 2012-03-08  Bruno Haible  <bruno@clisp.org>
24250         test-readtokens.c: use const; remove unwarranted cast
24251         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
24253 2012-03-08  Bruno Haible  <bruno@clisp.org>
24255         fmal: Avoid compilation error on AIX.
24256         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
24257         AIX 5.2..7.1.
24259 2012-03-08  Bruno Haible  <bruno@clisp.org>
24261         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
24262         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
24263         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
24264         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
24265         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
24266         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
24267         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
24269 2012-03-08  Bruno Haible  <bruno@clisp.org>
24271         remainderf: Override buggy system function on IRIX 6.5.
24272         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
24273         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
24274         when it exists.
24275         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
24277 2012-03-08  Jim Meyering  <meyering@redhat.com>
24279         test-readtokens.c: avoid const-related compilation warnings
24280         * tests/test-readtokens.c: Avoid const-related compilation warnings.
24282 2012-03-07  Jim Meyering  <meyering@redhat.com>
24283             Bruno Haible  <bruno@clisp.org>
24285         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
24286         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
24287         tests/randomd.c.
24288         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
24289         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
24290         tests/randoml.c.
24291         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
24293 2012-03-07  Bruno Haible  <bruno@clisp.org>
24295         expm1l: Avoid compilation error on AIX.
24296         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
24297         AIX 5.2..7.1.
24299 2012-03-07  Bruno Haible  <bruno@clisp.org>
24301         expm1l: Don't override undeclared system function on IRIX 6.5.
24302         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
24303         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
24304         it exists. Set HAVE_DECL_EXPM1L.
24305         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
24306         HAVE_EXPM1L.
24307         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
24308         HAVE_EXPM1L.
24309         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
24311 2012-03-07  Bruno Haible  <bruno@clisp.org>
24313         remainderl: Don't override undeclared system function on IRIX 6.5.
24314         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
24315         HAVE_REMAINDERL.
24316         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
24317         declared when it exists. Set HAVE_DECL_REMAINDERL.
24318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
24319         not HAVE_REMAINDERL.
24320         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
24321         HAVE_REMAINDERL.
24322         * doc/posix-functions/remainderl.texi: Mention missing declaration
24323         problem.
24325 2012-03-07  Bruno Haible  <bruno@clisp.org>
24327         rintf: Don't override undeclared system function on IRIX 6.5.
24328         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
24329         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
24330         exists. Set HAVE_DECL_RINTF.
24331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
24332         HAVE_RINTF.
24333         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
24334         HAVE_RINTF.
24335         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
24337 2012-03-07  Bruno Haible  <bruno@clisp.org>
24339         roundl: Avoid compilation error on AIX.
24340         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
24341         AIX 5.2..7.1.
24343 2012-03-07  Bruno Haible  <bruno@clisp.org>
24345         roundl: Don't override undeclared system function on IRIX 6.5.
24346         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
24347         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
24348         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24349         * modules/roundl (configure.ac): For replacement code, test
24350         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
24351         (Depends-on): Update conditions.
24352         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
24354 2012-03-07  Bruno Haible  <bruno@clisp.org>
24356         roundf: Don't override undeclared system function on IRIX 6.5.
24357         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
24358         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
24359         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24360         * modules/roundf (configure.ac): For replacement code, test
24361         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
24362         (Depends-on): Update conditions.
24363         * modules/roundf-ieee (Depends-on): Update conditions.
24364         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
24366 2012-03-07  Bruno Haible  <bruno@clisp.org>
24368         round: Don't override undeclared system function on IRIX 6.5.
24369         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
24370         argument.
24371         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
24372         also when it is not declared. Set HAVE_ROUND. For replacement code,
24373         test HAVE_ROUND, not HAVE_DECL_ROUND.
24374         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
24375         not HAVE_DECL_ROUND.
24376         (Depends-on): Update conditions.
24377         * modules/round-ieee (Depends-on): Update conditions.
24378         * doc/posix-functions/round.texi: Mention the IRIX problem.
24380 2012-03-07  Bruno Haible  <bruno@clisp.org>
24382         copysignf: Don't override undeclared system function on IRIX 6.5.
24383         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
24384         HAVE_COPYSIGNF.
24385         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
24386         declared when it exists. Set HAVE_DECL_COPYSIGNF.
24387         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
24388         not HAVE_COPYSIGNF.
24389         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
24390         HAVE_COPYSIGNF.
24391         * doc/posix-functions/copysignf.texi: Mention missing declaration
24392         problem.
24394 2012-03-07  Jim Meyering  <meyering@redhat.com>
24396         readtokens: add tests
24397         * modules/readtokens-tests: New file.
24398         * tests/test-readtokens.c: New file.
24400 2012-03-07  Jim Meyering  <meyering@redhat.com>
24402         quotearg: the module must now include quote.h
24403         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
24404         So must the module.
24405         * modules/quotearg (Files): Add quote.h.
24407 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
24409         readtokens: avoid core dumps with unusual calling patterns
24410         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
24411         * lib/readtokens.c: Include limits.h.
24412         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
24413         (readtoken): Don't cache the delimiters; the cache code was buggy
24414         if !delim && saved_delim, or if the new n_delim differs from the old.
24415         Also, it wasn't thread-safe.
24417 2012-03-07  Bruno Haible  <bruno@clisp.org>
24419         quote: Adhere to common module description layout.
24420         * modules/quote (Makefile.am): Add back empty section.
24422 2012-03-06  Akim Demaille  <demaille@gostai.com>
24424         quote: fuse into quotearg
24425         This patch is made for the benefit of Bison.
24426         quote does not leave the choice of the quoting style to the user.
24427         quoting_style provides poor customizability, yet quoting_options,
24428         which is very rich, is hidden inside quotearg.c.  So in order to
24429         allow quote customization, move its implementation to quotearg.c.
24430         * lib/quote.c: Remove.
24431         * modules/quote: Adjust.
24432         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
24433         warning: provide all the members of literal structs.
24434         (quote_quoting_options): New.
24435         (quote, quote_n): Import implementation from quote.c.
24436         * lib/quote.h: Import the comments from quote.c.
24437         (quote_quoting_options): New.
24439 2012-03-06  Bruno Haible  <bruno@clisp.org>
24441         Tests for module 'expm1l-ieee'.
24442         * modules/expm1l-ieee-tests: New file.
24443         * tests/test-expm1l-ieee.c: New file.
24445         New module 'expm1l-ieee'.
24446         * modules/expm1l-ieee: New file.
24448         Tests for module 'expm1f-ieee'.
24449         * modules/expm1f-ieee-tests: New file.
24450         * tests/test-expm1f-ieee.c: New file.
24452         New module 'expm1f-ieee'.
24453         * modules/expm1f-ieee: New file.
24455         Tests for module 'expm1-ieee'.
24456         * modules/expm1-ieee-tests: New file.
24457         * tests/test-expm1-ieee.c: New file.
24458         * tests/test-expm1-ieee.h: New file.
24460         New module 'expm1-ieee'.
24461         * modules/expm1-ieee: New file.
24462         * m4/expm1-ieee.m4: New file.
24463         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
24464         whether expm1 works with a minus zero argument. Replace it if not.
24465         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
24466         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
24467         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
24468         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
24469         (Depends-on): Update conditions.
24470         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
24471         AIX problem.
24473 2012-03-06  Bruno Haible  <bruno@clisp.org>
24475         Work around expm1f bug on IRIX 6.5.
24476         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
24477         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
24478         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
24479         not work.
24480         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
24481         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
24482         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
24483         (Depends-on): Update conditions.
24484         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
24486 2012-03-06  Bruno Haible  <bruno@clisp.org>
24488         Tests for module 'expm1l'.
24489         * modules/expm1l-tests: New file.
24490         * tests/test-expm1l.c: New file.
24492         New module 'expm1l'.
24493         * lib/math.in.h (expm1l): New declaration.
24494         * lib/expm1l.c: New file.
24495         * m4/expm1l.m4: New file.
24496         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
24497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
24498         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
24499         * modules/expm1l: New file.
24500         * tests/test-math-c++.cc: Check the declaration of expm1l.
24501         * doc/posix-functions/expm1l.texi: Mention the new module.
24503 2012-03-06  Bruno Haible  <bruno@clisp.org>
24505         Tests for module 'expm1f'.
24506         * modules/expm1f-tests: New file.
24507         * tests/test-expm1f.c: New file.
24509         New module 'expm1f'.
24510         * lib/math.in.h (expm1f): New declaration.
24511         * lib/expm1f.c: New file.
24512         * m4/expm1f.m4: New file.
24513         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
24514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
24515         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
24516         * modules/expm1f: New file.
24517         * tests/test-math-c++.cc: Check the declaration of expm1f.
24518         * doc/posix-functions/expm1f.texi: Mention the new module.
24520 2012-03-06  Bruno Haible  <bruno@clisp.org>
24522         Tests for module 'expm1'.
24523         * modules/expm1-tests: New file.
24524         * tests/test-expm1.c: New file.
24525         * tests/test-expm1.h: New file.
24527         New module 'expm1'.
24528         * lib/math.in.h (expm1): New declaration.
24529         * lib/expm1.c: New file.
24530         * m4/expm1.m4: New file.
24531         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
24532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
24533         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
24534         * modules/expm1: New file.
24535         * tests/test-math-c++.cc: Check the declaration of expm1.
24536         * doc/posix-functions/expm1.texi: Mention the new module.
24538 2012-03-06  Bruno Haible  <bruno@clisp.org>
24540         math: Ensure declarations of math functions.
24541         * modules/acosf (Depends-on): Add 'extensions'.
24542         * modules/asinf (Depends-on): Likewise.
24543         * modules/atan2f (Depends-on): Likewise.
24544         * modules/atanf (Depends-on): Likewise.
24545         * modules/cbrt (Depends-on): Likewise.
24546         * modules/cbrtf (Depends-on): Likewise.
24547         * modules/cbrtl (Depends-on): Likewise.
24548         * modules/copysignf (Depends-on): Likewise.
24549         * modules/copysignl (Depends-on): Likewise.
24550         * modules/cosf (Depends-on): Likewise.
24551         * modules/coshf (Depends-on): Likewise.
24552         * modules/expf (Depends-on): Likewise.
24553         * modules/fabsf (Depends-on): Likewise.
24554         * modules/fabsl (Depends-on): Likewise.
24555         * modules/fmaf (Depends-on): Likewise.
24556         * modules/fmal (Depends-on): Likewise.
24557         * modules/fmodf (Depends-on): Likewise.
24558         * modules/fmodl (Depends-on): Likewise.
24559         * modules/frexpf (Depends-on): Likewise.
24560         * modules/frexpl (Depends-on): Likewise.
24561         * modules/hypot (Depends-on): Likewise.
24562         * modules/hypotf (Depends-on): Likewise.
24563         * modules/hypotl (Depends-on): Likewise.
24564         * modules/ldexpf (Depends-on): Likewise.
24565         * modules/ldexpl (Depends-on): Likewise.
24566         * modules/log10f (Depends-on): Likewise.
24567         * modules/log10l (Depends-on): Likewise.
24568         * modules/log1p (Depends-on): Likewise.
24569         * modules/logb (Depends-on): Likewise.
24570         * modules/logf (Depends-on): Likewise.
24571         * modules/modff (Depends-on): Likewise.
24572         * modules/modfl (Depends-on): Likewise.
24573         * modules/powf (Depends-on): Likewise.
24574         * modules/remainderf (Depends-on): Likewise.
24575         * modules/remainderl (Depends-on): Likewise.
24576         * modules/rintf (Depends-on): Likewise.
24577         * modules/rintl (Depends-on): Likewise.
24578         * modules/sinf (Depends-on): Likewise.
24579         * modules/sinhf (Depends-on): Likewise.
24580         * modules/sqrtf (Depends-on): Likewise.
24581         * modules/tanf (Depends-on): Likewise.
24582         * modules/tanhf (Depends-on): Likewise.
24583         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
24584         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
24585         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
24586         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
24587         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
24588         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
24589         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
24590         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
24591         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
24592         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
24593         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
24594         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
24595         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
24596         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
24597         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
24598         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
24599         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
24600         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
24601         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
24602         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
24603         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
24604         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
24605         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
24606         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
24607         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
24608         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
24609         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
24610         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24611         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
24612         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
24613         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
24614         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
24615         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
24616         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
24617         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
24618         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
24619         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
24620         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
24621         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
24622         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
24623         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
24625 2012-03-06  Bruno Haible  <bruno@clisp.org>
24627         math: Update module names in warnings.
24628         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
24629         tanl): Use specific module name in warn-on-use warning.
24631 2012-03-06  Bruno Haible  <bruno@clisp.org>
24633         expl: Simplify computation.
24634         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
24636 2012-03-05  Bruno Haible  <bruno@clisp.org>
24638         exp* tests: More tests.
24639         * tests/test-exp.h: New file.
24640         * tests/test-exp.c: Include <float.h> and test-exp.h.
24641         (main): Invoke test_function.
24642         * tests/test-expf.c: Include <float.h> and test-exp.h.
24643         (main): Invoke test_function.
24644         * tests/test-expl.c: Include <float.h> and test-exp.h.
24645         (main): Invoke test_function.
24646         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
24647         (Makefile.am): Add randomd.c to test_exp_SOURCES.
24648         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
24649         (Makefile.am): Add randomf.c to test_expf_SOURCES.
24650         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
24651         (Depends-on): Add 'float'.
24652         (Makefile.am): Add randoml.c to test_expl_SOURCES.
24654         expl: Fix precision of computed result.
24655         * lib/expl.c: Completely rewritten.
24656         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
24657         (Maintainer): Add me.
24658         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
24660 2012-03-05  Bruno Haible  <bruno@clisp.org>
24662         cbrt* tests: More tests.
24663         * tests/test-cbrt.h: New file.
24664         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
24665         (main): Invoke test_function.
24666         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
24667         (main): Invoke test_function.
24668         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
24669         (main): Invoke test_function.
24670         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
24671         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
24672         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
24673         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
24674         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
24675         (Depends-on): Add 'float'.
24676         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
24678 2012-03-05  Bruno Haible  <bruno@clisp.org>
24680         hypot* tests: More tests.
24681         * tests/test-hypot.h: New file, partially extracted from
24682         tests/test-hypotl.c.
24683         * tests/test-hypot.c: Include test-hypot.h.
24684         (main): Invoke test_function.
24685         * tests/test-hypotf.c: Include test-hypot.h.
24686         (main): Invoke test_function.
24687         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
24688         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
24689         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
24690         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
24691         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
24692         tests/randomf.c.
24693         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
24694         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
24695         tests/randoml.c.
24696         (Depends-on): Add 'fpucw', 'float'.
24697         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
24699 2012-03-05  Bruno Haible  <bruno@clisp.org>
24701         fpucw: Doc about FreeBSD.
24702         * lib/fpucw.h: Mention FreeBSD in comments.
24704 2012-03-04  Bruno Haible  <bruno@clisp.org>
24706         sqrt* tests: More tests.
24707         * tests/test-sqrt.h: New file.
24708         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
24709         (main): Invoke test_function.
24710         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
24711         (main): Invoke test_function.
24712         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
24713         (main): Invoke test_function.
24714         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
24715         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
24716         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
24717         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
24718         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
24719         (Depends-on): Add 'float'.
24720         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
24722 2012-03-04  Bruno Haible  <bruno@clisp.org>
24724         remainder* tests: More tests.
24725         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
24726         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
24727         (main): Invoke test_function.
24728         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
24729         (main): Invoke test_function.
24730         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
24731         (main): Invoke test_function.
24732         * modules/remainder-tests (Files): Add tests/test-remainder.h,
24733         tests/randomd.c.
24734         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
24735         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
24736         tests/randomf.c.
24737         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
24738         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
24739         tests/randoml.c.
24740         (Depends-on): Add 'float'.
24741         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
24743 2012-03-04  Bruno Haible  <bruno@clisp.org>
24745         remainder, remainderf, remainderl: Fix computation for large quotients.
24746         * lib/remainder.c: Completely rewritten.
24747         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
24748         USE_FLOAT.
24749         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
24750         USE_LONG_DOUBLE.
24751         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
24752         isnand, isinf. Remove round, fma.
24753         * modules/remainderf (Files): Add lib/remainder.c.
24754         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
24755         Remove roundf, fmaf.
24756         * modules/remainderl (Files): Add lib/remainder.c.
24757         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
24758         isinf. Remove roundl, fmal.
24759         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
24760         REMAINDER_LIBM.
24761         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
24762         REMAINDERF_LIBM.
24763         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
24764         REMAINDERL_LIBM.
24766 2012-03-04  Bruno Haible  <bruno@clisp.org>
24768         fmod* tests: More tests.
24769         * tests/test-fmod.h (my_ldexp): New function.
24770         (test_function): Reduce amount of random numbers to test. Add tests
24771         of very large quotients x / y.
24772         * tests/test-fmod.c (MAX_EXP): New macro.
24773         * tests/test-fmodf.c (MAX_EXP): Likewise.
24774         * tests/test-fmodl.c (MAX_EXP): Likewise.
24776 2012-03-04  Bruno Haible  <bruno@clisp.org>
24778         fmod, fmodl: Fix computation for large quotients x / y.
24779         * lib/fmod.c: Completely rewritten.
24780         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
24781         USE_LONG_DOUBLE.
24782         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
24783         isnand. Remove fma.
24784         * modules/fmodl (Files): Add lib/fmod.c.
24785         (Depends-on): Add float, isfinite, signbit, fabsl,
24786         frexpl, ldexpl, isnanl. Remove fma.
24787         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
24788         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
24790 2012-03-03  Bruno Haible  <bruno@clisp.org>
24792         fmod* tests: More tests.
24793         * tests/test-fmod.h: New file.
24794         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
24795         (main): Invoke test_function.
24796         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
24797         (main): Invoke test_function.
24798         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
24799         (main): Invoke test_function.
24800         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
24801         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
24802         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
24803         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
24804         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
24805         (Depends-on): Add 'float'.
24806         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
24808 2012-03-03  Bruno Haible  <bruno@clisp.org>
24810         rint* tests: More tests.
24811         * tests/test-rint.h: New file, partially extracted from
24812         tests/test-rintl.c.
24813         * tests/test-rint.c: Include test-rint.h.
24814         (main): Invoke test_function.
24815         * tests/test-rintf.c: Include test-rint.h.
24816         (main): Invoke test_function.
24817         * tests/test-rintl.c: Include test-rint.h.
24818         (main): Invoke test_function.
24819         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
24820         (Makefile.am): Add randomd.c to test_rint_SOURCES.
24821         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
24822         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
24823         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
24824         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
24826 2012-03-03  Bruno Haible  <bruno@clisp.org>
24828         modf* tests: More tests.
24829         * tests/test-modf.h: New file.
24830         * tests/test-modf.c: Include <float.h> and test-modf.h.
24831         (main): Invoke test_function.
24832         * tests/test-modff.c: Include <float.h> and test-modf.h.
24833         (main): Invoke test_function.
24834         * tests/test-modfl.c: Include <float.h> and test-modf.h.
24835         (main): Invoke test_function.
24836         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
24837         (Makefile.am): Add randomd.c to test_modf_SOURCES.
24838         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
24839         (Makefile.am): Add randomf.c to test_modff_SOURCES.
24840         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
24841         (Depends-on): Add 'float'.
24842         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
24844 2012-03-03  Bruno Haible  <bruno@clisp.org>
24846         fabs* tests: More tests.
24847         * tests/test-fabs.h: New file, partially extracted from
24848         tests/test-fabsl.c.
24849         * tests/test-fabs.c (RANDOM): New macro.
24850         * tests/test-fabsf.c (RANDOM): New macro.
24851         * tests/test-fabsl.c (RANDOM): New macro.
24852         * modules/fabs-tests (Files): Add tests/randomd.c.
24853         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
24854         * modules/fabsf-tests (Files): Add tests/randomf.c.
24855         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
24856         * modules/fabsl-tests (Files): Add tests/randoml.c.
24857         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
24859 2012-03-03  Bruno Haible  <bruno@clisp.org>
24861         ldexp* tests: More tests.
24862         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
24863         * tests/test-ldexp.c (RANDOM): New macro.
24864         * tests/test-ldexpf.c (RANDOM): New macro.
24865         * tests/test-ldexpl.c (RANDOM): New macro.
24866         * modules/ldexp-tests (Files): Add tests/randomd.c.
24867         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
24868         * modules/ldexpf-tests (Files): Add tests/randomf.c.
24869         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
24870         * modules/ldexpl-tests (Files): Add tests/randoml.c.
24871         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
24873 2012-03-03  Bruno Haible  <bruno@clisp.org>
24875         frexp* tests: More tests.
24876         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
24877         * tests/test-frexp.c (RANDOM): New macro.
24878         * tests/test-frexpf.c (RANDOM): New macro.
24879         * tests/test-frexpl.c (RANDOM): New macro.
24880         * modules/frexp-tests (Files): Add tests/randomd.c.
24881         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
24882         * modules/frexpf-tests (Files): Add tests/randomf.c.
24883         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
24884         * modules/frexpl-tests (Files): Add tests/randoml.c.
24885         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
24887 2012-03-03  Bruno Haible  <bruno@clisp.org>
24889         Support for pseudo-random numbers in tests.
24890         * tests/randomf.c: New file.
24891         * tests/randomd.c: New file.
24892         * tests/randoml.c: New file.
24893         * tests/macros.h (randomf, randomd, randoml): New declarations.
24895 2012-03-03  Bruno Haible  <bruno@clisp.org>
24897         frexp* tests: Refactor.
24898         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
24899         * tests/test-frexp.c: Include and use it.
24900         * tests/test-frexpf.c: Likewise.
24901         * tests/test-frexpl.c: Likewise.
24902         * modules/frexp-tests (Files): Add tests/test-frexp.h.
24903         * modules/frexpf-tests (Files): Likewise.
24904         * modules/frexpl-tests (Files): Likewise.
24906 2012-03-02  Jim Meyering  <meyering@redhat.com>
24908         maint: don't specify XZ_OPT=-9ev in dist-related rule
24909         Using xz's -9 option is warranted only if you have a very large
24910         tarball (see xz's documentation for the sizes vs. presets), and
24911         requires 64MiB of memory at decompression time.
24912         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
24913         Automake's default of just "-e" is fine.  Override on a
24914         per-package basis by setting XZ_OPT e.g., in cfg.mk.
24916 2012-03-01  Eric Blake  <eblake@redhat.com>
24918         maint.mk: allow announcement for non-gnulib project
24919         * maint.mk (announcement): Skip gnulib version if not used.
24921 2012-03-01  Jim Meyering  <meyering@redhat.com>
24923         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
24924         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
24925         envvar settings cannot interfere.  Otherwise, setting envvars like
24926         prohibit=foo require=bar, etc. would cause spurious test failures.
24928 2012-03-01  Eric Blake  <eblake@redhat.com>
24930         maint.mk: add per-line exclusions to prohibitions
24931         * maint.mk (_sc_search_regexp): Add $exclude parameter.
24932         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
24933         (sc_const_long_option): Use it.
24935 2012-03-01  Bruno Haible  <bruno@clisp.org>
24937         Tests for module 'expl-ieee'.
24938         * modules/expl-ieee-tests: New file.
24939         * tests/test-expl-ieee.c: New file.
24941         New module 'expl-ieee'.
24942         * modules/expl-ieee: New file.
24944         Tests for module 'exp-ieee'.
24945         * modules/exp-ieee-tests: New file.
24946         * tests/test-exp-ieee.c: New file.
24948         New module 'exp-ieee'.
24949         * modules/exp-ieee: New file.
24951         Tests for module 'expf-ieee'.
24952         * modules/expf-ieee-tests: New file.
24953         * tests/test-expf-ieee.c: New file.
24954         * tests/test-exp-ieee.h: New file.
24956         New module 'expf-ieee'.
24957         * modules/expf-ieee: New file.
24959 2012-02-29  Bruno Haible  <bruno@clisp.org>
24961         cbrtl-ieee: Work around test failure on IRIX 6.5.
24962         * m4/cbrtl-ieee.m4: New file.
24963         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
24964         test whether cbrtl works with a minus zero argument. Replace it if not.
24965         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
24966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
24967         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
24968         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
24969         (Depends-on): Update conditions.
24970         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
24971         m4/signbit.m4.
24972         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
24973         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
24974         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
24976         Tests for module 'cbrtl-ieee'.
24977         * modules/cbrtl-ieee-tests: New file.
24978         * tests/test-cbrtl-ieee.c: New file.
24980         New module 'cbrtl-ieee'.
24981         * modules/cbrtl-ieee: New file.
24983         Tests for module 'cbrt-ieee'.
24984         * modules/cbrt-ieee-tests: New file.
24985         * tests/test-cbrt-ieee.c: New file.
24987         New module 'cbrt-ieee'.
24988         * modules/cbrt-ieee: New file.
24990         Tests for module 'cbrtf-ieee'.
24991         * modules/cbrtf-ieee-tests: New file.
24992         * tests/test-cbrtf-ieee.c: New file.
24993         * tests/test-cbrt-ieee.h: New file.
24995         New module 'cbrtf-ieee'.
24996         * modules/cbrtf-ieee: New file.
24998 2012-02-29  Bruno Haible  <bruno@clisp.org>
25000         cbrtf: Work around bug in IRIX 6.5 system function.
25001         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
25002         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
25003         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
25004         work.
25005         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
25006         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
25007         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
25008         (Depends-on): Update conditions.
25009         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
25011 2012-02-29  Bruno Haible  <bruno@clisp.org>
25013         Tests for module 'cbrtl'.
25014         * modules/cbrtl-tests: New file.
25015         * tests/test-cbrtl.c: New file.
25017         New module 'cbrtl'.
25018         * lib/math.in.h (cbrtl): New declaration.
25019         * lib/cbrtl.c: New file.
25020         * m4/cbrtl.m4: New file.
25021         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
25022         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
25023         HAVE_DECL_CBRTL.
25024         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
25025         HAVE_DECL_CBRTL.
25026         * modules/cbrtl: New file.
25027         * tests/test-math-c++.cc: Check the declaration of cbrtl.
25028         * doc/posix-functions/cbrtl.texi: Mention the new module.
25030 2012-02-29  Bruno Haible  <bruno@clisp.org>
25032         Tests for module 'cbrtf'.
25033         * modules/cbrtf-tests: New file.
25034         * tests/test-cbrtf.c: New file.
25036         New module 'cbrtf'.
25037         * lib/math.in.h (cbrtf): New declaration.
25038         * lib/cbrtf.c: New file.
25039         * m4/cbrtf.m4: New file.
25040         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
25041         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
25042         HAVE_DECL_CBRTF.
25043         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
25044         HAVE_DECL_CBRTF.
25045         * modules/cbrtf: New file.
25046         * tests/test-math-c++.cc: Check the declaration of cbrtf.
25047         * doc/posix-functions/cbrtf.texi: Mention the new module.
25049 2012-02-29  Bruno Haible  <bruno@clisp.org>
25051         cbrt: Provide replacement on MSVC and Minix.
25052         * lib/math.in.h (cbrt): New declaration.
25053         * lib/cbrt.c: New file.
25054         * m4/cbrt.m4: New file.
25055         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
25056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
25057         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
25058         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
25059         (Depends-on): Add dependencies.
25060         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
25061         * tests/test-math-c++.cc: Check the declaration of cbrt.
25062         * doc/posix-functions/cbrt.texi: Mention that the module provides a
25063         replacement.
25065 2012-02-29  Bruno Haible  <bruno@clisp.org>
25067         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
25068         * m4/hypotl-ieee.m4: New file.
25069         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
25070         test whether hypotl works with mixed NaN and Infinity arguments.
25071         Replace it if not.
25072         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
25073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
25074         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
25075         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
25076         (Depends-on): Update conditions.
25077         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
25078         (Depends-on): Add hypot-ieee.
25079         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
25080         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
25082         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
25083         * m4/hypotf-ieee.m4: New file.
25084         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
25085         test whether hypotf works with mixed NaN and Infinity arguments.
25086         Replace it if not.
25087         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
25088         (Depends-on): Add hypot-ieee.
25089         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
25090         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
25092         hypot-ieee: Work around test failure on OSF/1 and native Windows.
25093         * lib/math.in.h (hypot): New declaration.
25094         * lib/hypot.c: New file.
25095         * m4/hypot-ieee.m4: New file.
25096         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
25097         whether hypot works with mixed NaN and Infinity arguments. Replace it
25098         if not.
25099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
25100         REPLACE_HYPOT.
25101         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
25102         * modules/hypot (Files): Add lib/hypot.c.
25103         (Depends-on): Add dependencies.
25104         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
25105         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
25106         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
25107         * tests/test-math-c++.cc: Check the declaration of hypot.
25108         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
25110         Tests for module 'hypotl-ieee'.
25111         * modules/hypotl-ieee-tests: New file.
25112         * tests/test-hypotl-ieee.c: New file.
25114         New module 'hypotl-ieee'.
25115         * modules/hypotl-ieee: New file.
25117         Tests for module 'hypot-ieee'.
25118         * modules/hypot-ieee-tests: New file.
25119         * tests/test-hypot-ieee.c: New file.
25121         New module 'hypot-ieee'.
25122         * modules/hypot-ieee: New file.
25124         Tests for module 'hypotf-ieee'.
25125         * modules/hypotf-ieee-tests: New file.
25126         * tests/test-hypotf-ieee.c: New file.
25127         * tests/test-hypot-ieee.h: New file.
25129         New module 'hypotf-ieee'.
25130         * modules/hypotf-ieee: New file.
25132 2012-02-29  Bruno Haible  <bruno@clisp.org>
25134         Remove unused variables.
25135         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
25136         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
25137         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
25138         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
25140 2012-02-29  Eric Blake  <eblake@redhat.com>
25142         termios: fix pid_t always, not just for tcgetsid
25143         * doc/posix-headers/termios.texi (termios.h): Mention problem.
25144         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
25145         just when building tcgetsid.
25147 2012-02-29  Bruno Haible  <bruno@clisp.org>
25149         Tests for module 'hypotl'.
25150         * modules/hypotl-tests: New file.
25151         * tests/test-hypotl.c: New file.
25153         New module 'hypotl'.
25154         * lib/math.in.h (hypotl): New declaration.
25155         * lib/hypotl.c: New file.
25156         * m4/hypotl.m4: New file.
25157         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25158         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
25159         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
25160         * modules/hypotl: New file.
25161         * tests/test-math-c++.cc: Check the hypotl declaration.
25162         * doc/posix-functions/hypotl.texi: Mention the new module.
25164 2012-02-29  Eric Blake  <eblake@redhat.com>
25166         tcgetsid: fix cygwin header bug
25167         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
25169         docs: update cygwin progress
25170         * doc/posix-functions/llround.texi (llround): Added in cygwin
25171         1.7.8.
25172         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
25173         * doc/glibc-functions/program_invocation_name.texi
25174         (program_invocation_name): Likewise.
25175         * doc/glibc-functions/program_invocation_short_name.texi
25176         (program_invocation_short_name): Likewise.
25177         * doc/glibc-functions/madvise.texi (madvise): Likewise.
25178         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
25179         Likewise.
25180         * doc/posix-functions/pthread_spin_destroy.texi
25181         (pthread_spin_destroy): Added in cygwin 1.7.10.
25182         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
25183         Likewise.
25184         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
25185         Likewise.
25186         * doc/posix-functions/pthread_spin_trylock.texi
25187         (pthread_spin_trylock): Likewise.
25188         * doc/posix-functions/pthread_spin_unlock.texi
25189         (pthread_spin_unlock): Likewise.
25190         * doc/posix-functions/pthread_setschedprio.texi
25191         (pthread_setschedprio): Likewise.
25192         * doc/posix-functions/pthread_attr_getstack.texi
25193         (pthread_attr_getstack): Likewise.
25194         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
25195         (pthread_attr_getstackaddr): Likewise.
25196         * doc/glibc-functions/pthread_getattr_np.texi
25197         (pthread_getattr_np): Likewise.
25198         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
25199         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
25200         * doc/posix-functions/clock_settime.texi (clock_settime):
25201         Likewise.
25202         * doc/posix-functions/pthread_attr_getguardsize.texi
25203         (pthread_attr_getguardsize): Likewise.
25204         * doc/posix-functions/pthread_attr_setguardsize.texi
25205         (pthread_attr_setguardsize): Likewise.
25206         * doc/posix-functions/pthread_attr_setstack.texi
25207         (pthread_attr_setstack): Likewise.
25208         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
25209         (pthread_attr_setstackaddr): Likewise.
25210         * doc/posix-functions/clock_getcpuclockid.texi
25211         (clock_getcpuclockid): Likewise.
25212         * doc/posix-functions/pthread_getcpuclockid.texi
25213         (pthread_getcpuclockid): Likewise.
25214         * doc/glibc-functions/error.texi (error): Likewise.
25215         * doc/glibc-functions/error_at_line.texi (error_at_line):
25216         Likewise.
25217         * doc/glibc-functions/error_message_count.texi
25218         (error_message_count): Likewise.
25219         * doc/glibc-functions/error_one_per_line.texi
25220         (error_one_per_line): Likewise.
25221         * doc/glibc-functions/error_print_progname.texi
25222         (error_print_progname): Likewise.
25223         * doc/posix-functions/pthread_condattr_getclock.texi
25224         (pthread_condattr_getclock): Likewise.
25225         * doc/posix-functions/pthread_condattr_setclock.texi
25226         (pthread_condattr_setclock): Likewise.
25227         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
25228         Likewise.
25229         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
25230         * doc/glibc-functions/getpt.texi (getpt): Likewise.
25231         * doc/glibc-functions/get_current_dir_name.texi
25232         (get_current_dir_name): Likewise.
25233         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
25234         Likewise.
25235         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
25236         wrong return type.
25237         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
25238         1.7.11.
25240 2012-02-29  Bruno Haible  <bruno@clisp.org>
25242         Tests for module 'hypotf'.
25243         * modules/hypotf-tests: New file.
25244         * tests/test-hypotf.c: New file.
25246         New module 'hypotf'.
25247         * lib/math.in.h (hypotf): New declaration.
25248         * lib/hypotf.c: New file.
25249         * m4/hypotf.m4: New file.
25250         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
25251         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
25252         REPLACE_HYPOTF.
25253         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
25254         REPLACE_HYPOTF.
25255         * modules/hypotf: New file.
25256         * tests/test-math-c++.cc: Check the hypotf declaration.
25257         * doc/posix-functions/hypotf.texi: Mention the new module.
25259         hypot: Prepare for hypotf module.
25260         * m4/hypot.m4: New file.
25261         * modules/hypot (Files): Add m4/hypot.m4.
25262         (configure.ac): Invoke gl_FUNC_HYPOT.
25264 2012-02-29  Bruno Haible  <bruno@clisp.org>
25266         hypot tests: More tests.
25267         * tests/test-hypot.c: Include <float.h>.
25268         (main): Add tests about overflow and underflow.
25270 2012-02-29  Bruno Haible  <bruno@clisp.org>
25272         math code: Add comments.
25273         * lib/acosl.c: Add comment about related glibc source files.
25274         * lib/asinl.c: Likewise.
25275         * lib/atanl.c: Likewise.
25276         * lib/expl.c: Likewise.
25277         * lib/logl.c: Likewise.
25278         * lib/sincosl.c: Likewise.
25279         * lib/sinl.c: Likewise.
25280         * lib/tanl.c: Likewise.
25281         * lib/trigl.c: Likewise.
25282         * lib/cosl.c: Likewise. Fix comments.
25284 2012-02-28  Bruno Haible  <bruno@clisp.org>
25286         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
25287         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
25288         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
25289         HUGE_VALL are defined.
25290         (numeric_equald): Renamed from numeric_equal.
25291         (numeric_equalf, numeric_equall): New functions.
25292         (main): Check also HUGE_VALF, HUGE_VALL.
25293         * modules/math-tests (Files): Add tests/macros.h.
25294         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
25295         HUGE_VALL.
25297 2012-02-28  Bruno Haible  <bruno@clisp.org>
25299         doc: Move ISO C11 feature notes into POSIX chapters.
25300         * doc/posix-functions/aligned_alloc.texi: Renamed from
25301         doc/glibc-functions/aligned_alloc.texi.
25302         * doc/posix-functions/quick_exit.texi: Renamed from
25303         doc/glibc-functions/quick_exit.texi.
25304         * doc/posix-headers/uchar.texi: Renamed from
25305         doc/glibc-headers/uchar.texi.
25306         * doc/posix-functions/c16rtomb.texi: Renamed from
25307         doc/glibc-functions/c16rtomb.texi.
25308         * doc/posix-functions/c32rtomb.texi: Renamed from
25309         doc/glibc-functions/c32rtomb.texi.
25310         * doc/posix-functions/mbrtoc16.texi: Renamed from
25311         doc/glibc-functions/mbrtoc16.texi.
25312         * doc/posix-functions/mbrtoc32.texi: Renamed from
25313         doc/glibc-functions/mbrtoc32.texi.
25314         * doc/gnulib.texi: Update.
25315         (Glibc uchar.h): Remove section.
25316         Suggested by Eric Blake.
25318 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
25320         stdnoreturn: port to MSVC better
25321         MSVC standard headers use __declspec(noreturn), so #define noreturn
25322         to empty on that platform.  Reported by Bruno Haible in
25323         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
25324         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
25325         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
25327 2012-02-28  Bruno Haible  <bruno@clisp.org>
25329         doc: Mention new glibc headers and functions.
25330         * doc/glibc-headers/uchar.texi: New file.
25331         * doc/glibc-functions/aligned_alloc.texi: New file.
25332         * doc/glibc-functions/c16rtomb.texi: New file.
25333         * doc/glibc-functions/c32rtomb.texi: New file.
25334         * doc/glibc-functions/clock_adjtime.texi: New file.
25335         * doc/glibc-functions/fanotify_init.texi: New file.
25336         * doc/glibc-functions/fanotify_mark.texi: New file.
25337         * doc/glibc-functions/inet6_opt_append.texi: New file.
25338         * doc/glibc-functions/inet6_opt_find.texi: New file.
25339         * doc/glibc-functions/inet6_opt_finish.texi: New file.
25340         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
25341         * doc/glibc-functions/inet6_opt_init.texi: New file.
25342         * doc/glibc-functions/inet6_opt_next.texi: New file.
25343         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
25344         * doc/glibc-functions/inet6_rth_add.texi: New file.
25345         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
25346         * doc/glibc-functions/inet6_rth_init.texi: New file.
25347         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
25348         * doc/glibc-functions/inet6_rth_segments.texi: New file.
25349         * doc/glibc-functions/inet6_rth_space.texi: New file.
25350         * doc/glibc-functions/login.texi: New file.
25351         * doc/glibc-functions/mbrtoc16.texi: New file.
25352         * doc/glibc-functions/mbrtoc32.texi: New file.
25353         * doc/glibc-functions/name_to_handle_at.texi: New file.
25354         * doc/glibc-functions/ntp_gettimex.texi: New file.
25355         * doc/glibc-functions/open_by_handle_at.texi: New file.
25356         * doc/glibc-functions/prlimit.texi: New file.
25357         * doc/glibc-functions/process_vm_readv.texi: New file.
25358         * doc/glibc-functions/process_vm_writev.texi: New file.
25359         * doc/glibc-functions/recvmmsg.texi: New file.
25360         * doc/glibc-functions/scandirat.texi: New file.
25361         * doc/glibc-functions/sendmmsg.texi: New file.
25362         * doc/glibc-functions/setns.texi: New file.
25363         * doc/glibc-functions/timespec_get.texi: New file.
25364         * doc/gnulib.texi: Include them.
25365         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
25366         sections.
25367         Reported by Eric Blake.
25369 2012-02-28  Bruno Haible  <bruno@clisp.org>
25371         Avoid compilation errors with MSVC option -fp:strict.
25372         * lib/floor.c: Use MSVC specific pragma fenv_access.
25373         * lib/ceil.c: Likewise.
25374         * lib/trunc.c: Likewise.
25375         * lib/round.c: Likewise.
25376         * lib/rint.c: Likewise.
25377         * lib/fma.c: Likewise.
25378         * lib/integer_length.c: Likewise.
25379         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25380         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25381         * tests/test-floor2.c: Likewise.
25382         * tests/test-floorf2.c: Likewise.
25383         * tests/test-ceil2.c: Likewise.
25384         * tests/test-ceilf2.c: Likewise.
25385         * tests/test-trunc2.c: Likewise.
25386         * tests/test-truncf2.c: Likewise.
25387         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
25389 2012-02-27  Bruno Haible  <bruno@clisp.org>
25391         Tests for module 'sqrtl-ieee'.
25392         * modules/sqrtl-ieee-tests: New file.
25393         * tests/test-sqrtl-ieee.c: New file.
25395         New module 'sqrtl-ieee'.
25396         * modules/sqrtl-ieee: New file.
25398         Tests for module 'sqrt-ieee'.
25399         * modules/sqrt-ieee-tests: New file.
25400         * tests/test-sqrt-ieee.c: New file.
25402         New module 'sqrt-ieee'.
25403         * modules/sqrt-ieee: New file.
25405         Tests for module 'sqrtf-ieee'.
25406         * modules/sqrtf-ieee-tests: New file.
25407         * tests/test-sqrtf-ieee.c: New file.
25408         * tests/test-sqrt-ieee.h: New file.
25410         New module 'sqrtf-ieee'.
25411         * modules/sqrtf-ieee: New file.
25413 2012-02-27  Bruno Haible  <bruno@clisp.org>
25415         remainderl-ieee: Work around test failure on OSF/1.
25416         * m4/remainderl-ieee.m4: New file.
25417         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
25418         present, test whether remainderl works with a zero second argument.
25419         Replace it if not.
25420         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
25421         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
25422         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
25423         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
25424         (Depends-on): Update conditions.
25425         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
25426         (Depends-on): Add remainder-ieee.
25427         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
25428         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
25429         module.
25431         remainderf-ieee: Work around test failure on OSF/1.
25432         * m4/remainderf-ieee.m4: New file.
25433         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
25434         present, test whether remainderf works with a zero second argument.
25435         Replace it if not.
25436         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
25437         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
25438         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
25439         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
25440         (Depends-on): Update conditions.
25441         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
25442         (Depends-on): Add remainder-ieee.
25443         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
25444         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
25445         module.
25447         remainder-ieee: Work around test failure on OSF/1.
25448         * m4/remainder-ieee.m4: New file.
25449         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
25450         present, test whether remainder works with a zero second argument.
25451         Replace it if not.
25452         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
25453         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
25454         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
25455         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
25456         (Depends-on): Update dependencies.
25457         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
25458         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
25459         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
25461         Tests for module 'remainderl-ieee'.
25462         * modules/remainderl-ieee-tests: New file.
25463         * tests/test-remainderl-ieee.c: New file.
25465         New module 'remainderl-ieee'.
25466         * modules/remainderl-ieee: New file.
25468         Tests for module 'remainder-ieee'.
25469         * modules/remainder-ieee-tests: New file.
25470         * tests/test-remainder-ieee.c: New file.
25472         New module 'remainder-ieee'.
25473         * modules/remainder-ieee: New file.
25475         Tests for module 'remainderf-ieee'.
25476         * modules/remainderf-ieee-tests: New file.
25477         * tests/test-remainderf-ieee.c: New file.
25478         * tests/test-remainder-ieee.h: New file.
25480         New module 'remainderf-ieee'.
25481         * modules/remainderf-ieee: New file.
25483 2012-02-27  Bruno Haible  <bruno@clisp.org>
25485         modff, modfl: Fix configure syntax error.
25486         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
25487         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
25489 2012-02-27  Bruno Haible  <bruno@clisp.org>
25491         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
25492         * m4/fmodl-ieee.m4: New file.
25493         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
25494         whether fmodl works with zero arguments. Replace it if not.
25495         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
25496         (Depends-on): Add fmod-ieee.
25497         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
25498         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
25500         fmodf-ieee: Work around test failure on OSF/1.
25501         * m4/fmodf-ieee.m4: New file.
25502         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
25503         whether fmodf works with zero arguments. Replace it if not.
25504         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
25505         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
25506         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
25507         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
25508         (Depends-on): Update dependencies.
25509         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
25510         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
25511         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
25513         fmodf-ieee: Work around test failure on MSVC 9.
25514         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
25515         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
25517         fmod-ieee: Work around test failures on OSF/1, mingw.
25518         * m4/fmod-ieee.m4: New file.
25519         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
25520         whether fmod works with zero arguments. Replace it if not.
25521         * lib/math.in.h (fmod): New declaration.
25522         * lib/fmod.c: New file.
25523         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
25524         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
25525         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
25526         * modules/fmod (Files): Add lib/fmod.c.
25527         (Depends-on): Add math, isinf, trunc, fma.
25528         (configure.ac): Arrange to compile lib/fmod.c if needed.
25529         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
25530         m4/signbit.m4.
25531         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
25532         * tests/test-math-c++.cc: Check the declaration of fmod.
25533         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
25535         fmodl-ieee: Fix test failures.
25536         * lib/fmodl.c (fmodl): Treat Inf specially.
25537         * modules/fmodl (Depends-on): Add isinf.
25539         Tests for module 'fmodl-ieee'.
25540         * modules/fmodl-ieee-tests: New file.
25541         * tests/test-fmodl-ieee.c: New file.
25543         New module 'fmodl-ieee'.
25544         * modules/fmodl-ieee: New file.
25546         Tests for module 'fmod-ieee'.
25547         * modules/fmod-ieee-tests: New file.
25548         * tests/test-fmod-ieee.c: New file.
25550         New module 'fmod-ieee'.
25551         * modules/fmod-ieee: New file.
25553         Tests for module 'fmodf-ieee'.
25554         * modules/fmodf-ieee-tests: New file.
25555         * tests/test-fmodf-ieee.c: New file.
25556         * tests/test-fmod-ieee.h: New file.
25558         New module 'fmodf-ieee'.
25559         * modules/fmodf-ieee: New file.
25561 2012-02-27  Bruno Haible  <bruno@clisp.org>
25563         Tests for module 'rintl-ieee'.
25564         * modules/rintl-ieee-tests: New file.
25565         * tests/test-rintl-ieee.c: New file.
25567         New module 'rintl-ieee'.
25568         * modules/rintl-ieee: New file.
25570         Tests for module 'rint-ieee'.
25571         * modules/rint-ieee-tests: New file.
25572         * tests/test-rint-ieee.c: New file.
25574         New module 'rint-ieee'.
25575         * modules/rint-ieee: New file.
25577         Tests for module 'rintf-ieee'.
25578         * modules/rintf-ieee-tests: New file.
25579         * tests/test-rintf-ieee.c: New file.
25580         * tests/test-rint-ieee.h: New file.
25582         New module 'rintf-ieee'.
25583         * modules/rintf-ieee: New file.
25585 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25587         regex: re_search etc. should return -2 when memory exhausted
25588         This bug was uncovered when testing 'grep'.  Without the fix,
25589         re_search and friends return -1 when memory is exhausted, but -1
25590         means no match, and this causes grep to falsely report no-match
25591         instead of memory-exhaustion.  See
25592         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
25593         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
25594         trouble; this can occur if re_search_internal ran out of memory.
25596 2012-02-26  Bruno Haible  <bruno@clisp.org>
25598         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
25599         * m4/modfl-ieee.m4: New file.
25600         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
25601         whether modfl works with Inf. Replace it if not.
25602         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
25603         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
25604         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
25605         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
25606         (Depends-on): Update dependencies.
25607         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
25608         m4/signbit.m4.
25609         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
25610         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
25612         modfl-ieee: Fix dependencies.
25613         * modules/modfl-ieee (Depends-on): Add modf-ieee.
25615         modfl-ieee: Fix test failures.
25616         * lib/modfl.c (modfl): Treat NaN and Inf specially.
25617         * modules/modfl (Depends-on): Add isfinite, isinf.
25619         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
25620         * m4/modff-ieee.m4: New file.
25621         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
25622         whether modff works with NaN and Inf. Replace it if not.
25623         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
25624         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
25625         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
25626         * modules/modff (configure.ac): Consider REPLACE_MODFF.
25627         (Depends-on): Update dependencies.
25628         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
25629         m4/signbit.m4.
25630         (Depends-on): Add modf-ieee.
25631         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
25632         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
25634         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
25635         * m4/modf-ieee.m4: New file.
25636         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
25637         whether modf works with NaN and Inf. Replace it if not.
25638         * lib/math.in.h (modf): New declaration.
25639         * lib/modf.c: New file.
25640         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
25641         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
25642         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
25643         * modules/modf (Files): Add lib/modf.c.
25644         (Depends-on): Add math, isfinite, trunc, isinf.
25645         (configure.ac): Addrange to compile lib/modf.c if needed.
25646         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
25647         m4/signbit.m4.
25648         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
25649         * tests/test-math-c++.cc: Check the declaration of modf.
25650         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
25652         Tests for module 'modfl-ieee'.
25653         * modules/modfl-ieee-tests: New file.
25654         * tests/test-modfl-ieee.c: New file.
25656         New module 'modfl-ieee'.
25657         * modules/modfl-ieee: New file.
25659         Tests for module 'modf-ieee'.
25660         * modules/modf-ieee-tests: New file.
25661         * tests/test-modf-ieee.c: New file.
25663         New module 'modf-ieee'.
25664         * modules/modf-ieee: New file.
25666         Tests for module 'modff-ieee'.
25667         * modules/modff-ieee-tests: New file.
25668         * tests/test-modff-ieee.c: New file.
25669         * tests/test-modf-ieee.h: New file.
25671         New module 'modff-ieee'.
25672         * modules/modff-ieee: New file.
25674 2012-02-26  Bruno Haible  <bruno@clisp.org>
25676         Tests for module 'fabsl-ieee'.
25677         * modules/fabsl-ieee-tests: New file.
25678         * tests/test-fabsl-ieee.c: New file.
25680         New module 'fabsl-ieee'.
25681         * modules/fabsl-ieee: New file.
25683         Tests for module 'fabs-ieee'.
25684         * modules/fabs-ieee-tests: New file.
25685         * tests/test-fabs-ieee.c: New file.
25687         New module 'fabs-ieee'.
25688         * modules/fabs-ieee: New file.
25690         Tests for module 'fabsf-ieee'.
25691         * modules/fabsf-ieee-tests: New file.
25692         * tests/test-fabsf-ieee.c: New file.
25693         * tests/test-fabs-ieee.h: New file.
25695         New module 'fabsf-ieee'.
25696         * modules/fabsf-ieee: New file.
25698 2012-02-26  Bruno Haible  <bruno@clisp.org>
25700         Tests for module 'fmal-ieee'.
25701         * modules/fmal-ieee-tests: New file.
25702         * tests/test-fmal-ieee.c: New file.
25704         New module 'fmal-ieee'.
25705         * modules/fmal-ieee: New file.
25707         Tests for module 'fma-ieee'.
25708         * modules/fma-ieee-tests: New file.
25709         * tests/test-fma-ieee.c: New file.
25711         New module 'fma-ieee'.
25712         * modules/fma-ieee: New file.
25714         Tests for module 'fmaf-ieee'.
25715         * modules/fmaf-ieee-tests: New file.
25716         * tests/test-fmaf-ieee.c: New file.
25717         * tests/test-fma-ieee.h: New file.
25719         New module 'fmaf-ieee'.
25720         * modules/fmaf-ieee: New file.
25722 2012-02-26  Bruno Haible  <bruno@clisp.org>
25724         Tests for module 'ldexpl-ieee'.
25725         * modules/ldexpl-ieee-tests: New file.
25726         * tests/test-ldexpl-ieee.c: New file.
25728         New module 'ldexpl-ieee'.
25729         * modules/ldexpl-ieee: New file.
25731         Tests for module 'ldexp-ieee'.
25732         * modules/ldexp-ieee-tests: New file.
25733         * tests/test-ldexp-ieee.c: New file.
25735         New module 'ldexp-ieee'.
25736         * modules/ldexp-ieee: New file.
25738         Tests for module 'ldexpf-ieee'.
25739         * modules/ldexpf-ieee-tests: New file.
25740         * tests/test-ldexpf-ieee.c: New file.
25741         * tests/test-ldexp-ieee.h: New file.
25743         New module 'ldexpf-ieee'.
25744         * modules/ldexpf-ieee: New file.
25746 2012-02-26  Bruno Haible  <bruno@clisp.org>
25748         Refactor frexp*-ieee tests.
25749         * tests/test-frexp-ieee.h: New file.
25750         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
25751         (main): Just call test_function.
25752         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
25753         (main): Just call test_function.
25754         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
25755         (main): Just call test_function.
25756         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
25757         * modules/frexp-ieee-tests (Files): Likewise.
25758         * modules/frexpl-ieee-tests (Files): Likewise.
25760         Tests for module 'frexpl-ieee'.
25761         * modules/frexpl-ieee-tests: New file.
25762         * tests/test-frexpl-ieee.c: New file.
25764         New module 'frexpl-ieee'.
25765         * modules/frexpl-ieee: New file.
25767         Tests for module 'frexp-ieee'.
25768         * modules/frexp-ieee-tests: New file.
25769         * tests/test-frexp-ieee.c: New file.
25771         New module 'frexp-ieee'.
25772         * modules/frexp-ieee: New file.
25774         Tests for module 'frexpf-ieee'.
25775         * modules/frexpf-ieee-tests: New file.
25776         * tests/test-frexpf-ieee.c: New file.
25778         New module 'frexpf-ieee'.
25779         * modules/frexpf-ieee: New file.
25781 2012-02-26  Bruno Haible  <bruno@clisp.org>
25783         roundl-ieee tests: More tests.
25784         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25785         (main): Add tests for [MX] shaded specification in POSIX.
25786         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25787         (Depends-on): Add isnanl-nolibm.
25789         round-ieee tests: More tests.
25790         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25791         (main): Add tests for [MX] shaded specification in POSIX.
25792         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25793         (Depends-on): Add isnand-nolibm.
25795         roundf-ieee tests: More tests.
25796         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25797         (main): Add tests for [MX] shaded specification in POSIX.
25798         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25799         (Depends-on): Add isnanf-nolibm.
25801         truncl-ieee tests: More tests.
25802         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25803         (main): Add tests for [MX] shaded specification in POSIX.
25804         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25805         (Depends-on): Add isnanl-nolibm.
25807         trunc-ieee tests: More tests.
25808         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25809         (main): Add tests for [MX] shaded specification in POSIX.
25810         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25811         (Depends-on): Add isnand-nolibm.
25813         truncf-ieee tests: More tests.
25814         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25815         (main): Add tests for [MX] shaded specification in POSIX.
25816         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25817         (Depends-on): Add isnanf-nolibm.
25819         ceill-ieee tests: More tests.
25820         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25821         (main): Add tests for [MX] shaded specification in POSIX.
25822         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25823         (Depends-on): Add isnanl-nolibm.
25825         ceil-ieee tests: More tests.
25826         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25827         (main): Add tests for [MX] shaded specification in POSIX.
25828         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25829         (Depends-on): Add isnand-nolibm.
25831         ceilf-ieee tests: More tests.
25832         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25833         (main): Add tests for [MX] shaded specification in POSIX.
25834         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25835         (Depends-on): Add isnanf-nolibm.
25837         floorl-ieee tests: More tests.
25838         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
25839         (main): Add tests for [MX] shaded specification in POSIX.
25840         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25841         (Depends-on): Add isnanl-nolibm.
25843         floor-ieee tests: More tests.
25844         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
25845         (main): Add tests for [MX] shaded specification in POSIX.
25846         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25847         (Depends-on): Add isnand-nolibm.
25849         floorf-ieee tests: More tests.
25850         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
25851         (main): Add tests for [MX] shaded specification in POSIX.
25852         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
25853         (Depends-on): Add isnanf-nolibm.
25855 2012-02-26  Bruno Haible  <bruno@clisp.org>
25857         fpieee: More comments.
25858         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
25860 2012-02-25  Bruno Haible  <bruno@clisp.org>
25862         Tests for module 'log10l'.
25863         * modules/log10l-tests: New file.
25864         * tests/test-log10l.c: New file.
25865         * tests/test-math-c++.cc: Check the declaration of log10l.
25867         New module 'log10l'.
25868         * lib/math.in.h (log10l): New declaration.
25869         * lib/log10l.c: New file.
25870         * m4/log10l.m4: New file.
25871         * modules/log10l: New file.
25872         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
25873         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
25874         HAVE_DECL_LOG10L.
25875         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
25876         HAVE_DECL_LOG10L.
25877         * doc/posix-functions/log10l.texi: Mention the new module.
25879 2012-02-25  Bruno Haible  <bruno@clisp.org>
25881         fmodl, remainder*: Avoid wrong results due to rounding errors.
25882         * lib/fmodl.c (fmodl): Correct the result if it is not within the
25883         expected bounds.
25884         * lib/remainderf.c (remainderf): Likewise.
25885         * lib/remainder.c (remainder): Likewise.
25886         * lib/remainderl.c (remainderl): Likewise.
25888 2012-02-25  Bruno Haible  <bruno@clisp.org>
25890         Tests for module 'remainderl'.
25891         * modules/remainderl-tests: New file.
25892         * tests/test-remainderl.c: New file.
25893         * tests/test-math-c++.cc: Check the declaration of remainderl.
25895         New module 'remainderl'.
25896         * lib/math.in.h (remainderl): New declaration.
25897         * lib/remainderl.c: New file.
25898         * m4/remainderl.m4: New file.
25899         * modules/remainderl: New file.
25900         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
25901         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
25902         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
25903         HAVE_REMAINDERL.
25904         * doc/posix-functions/remainderl.texi: Mention the new module.
25906 2012-02-25  Bruno Haible  <bruno@clisp.org>
25908         Tests for module 'remainderf'.
25909         * modules/remainderf-tests: New file.
25910         * tests/test-remainderf.c: New file.
25911         * tests/test-math-c++.cc: Check the declaration of remainderf.
25913         New module 'remainderf'.
25914         * lib/math.in.h (remainderf): New declaration.
25915         * lib/remainderf.c: New file.
25916         * m4/remainderf.m4: New file.
25917         * modules/remainderf: New file.
25918         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
25919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
25920         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
25921         HAVE_REMAINDERF.
25922         * doc/posix-functions/remainderf.texi: Mention the new module.
25924 2012-02-25  Bruno Haible  <bruno@clisp.org>
25926         remainder: Support for MSVC.
25927         * lib/math.in.h (remainder): New declaration.
25928         * lib/remainder.c: New file.
25929         * m4/remainder.m4: New file.
25930         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
25931         (Depends-on): Add math, round, fma.
25932         (configure.ac): Use results of gl_FUNC_REMAINDER.
25933         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
25934         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
25935         HAVE_DECL_REMAINDER.
25936         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
25937         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
25938         * tests/test-math-c++.cc: Check the declaration of remainder.
25939         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
25940         problems are fixed.
25942 2012-02-25  Bruno Haible  <bruno@clisp.org>
25944         Tests for module 'fmodl'.
25945         * modules/fmodl-tests: New file.
25946         * tests/test-fmodl.c: New file.
25947         * tests/test-math-c++.cc: Check the declaration of fmodl.
25949         New module 'fmodl'.
25950         * lib/math.in.h (fmodl): New declaration.
25951         * lib/fmodl.c: New file.
25952         * m4/fmodl.m4: New file.
25953         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
25954         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
25955         REPLACE_FMODL.
25956         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
25957         REPLACE_FMODL.
25958         * modules/fmodl: New file.
25959         * doc/posix-functions/fmodl.texi: Mention the new module.
25961 2012-02-25  Bruno Haible  <bruno@clisp.org>
25963         Tests for module 'modfl'.
25964         * modules/modfl-tests: New file.
25965         * tests/test-modfl.c: New file.
25966         * tests/test-math-c++.cc: Check the declaration of modfl.
25968         New module 'modfl'.
25969         * lib/math.in.h (modfl): New declaration.
25970         * lib/modfl.c: New file.
25971         * m4/modfl.m4: New file.
25972         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
25973         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
25974         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
25975         * modules/modfl: New file.
25976         * doc/posix-functions/modfl.texi: Mention the new module.
25978 2012-02-25  Bruno Haible  <bruno@clisp.org>
25980         Tests for module 'fabsl'.
25981         * modules/fabsl-tests: New file.
25982         * tests/test-fabsl.c: New file.
25983         * tests/test-math-c++.cc: Check the declaration of fabsl.
25985         New module 'fabsl'.
25986         * lib/math.in.h (fabsl): New declaration.
25987         * lib/fabsl.c: New file.
25988         * m4/fabsl.m4: New file.
25989         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
25990         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
25991         REPLACE_FABSL.
25992         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
25993         REPLACE_FABSL.
25994         * modules/fabsl: New file.
25995         * doc/posix-functions/fabsl.texi: Mention the new module.
25997 2012-02-25  Bruno Haible  <bruno@clisp.org>
25999         fabs tests: More tests.
26000         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
26001         (zero): New variable.
26002         (main): Add tests for signed zero.
26003         * modules/fabs-tests (Files): Add tests/minus-zero.h.
26005         fabsf tests: More tests.
26006         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
26007         (zero): New variable.
26008         (main): Add tests for signed zero.
26009         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
26011 2012-02-24  Bruno Haible  <bruno@clisp.org>
26013         atanl: Provide function definition on MSVC.
26014         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
26015         function pointer.
26016         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
26018 2012-02-24  Bruno Haible  <bruno@clisp.org>
26020         acosl: Provide function definition on MSVC.
26021         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
26022         function pointer.
26023         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
26025 2012-02-24  Bruno Haible  <bruno@clisp.org>
26027         asinl: Provide function definition on MSVC.
26028         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
26029         function pointer.
26030         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
26032 2012-02-24  Bruno Haible  <bruno@clisp.org>
26034         tanl: Provide function definition on MSVC.
26035         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
26036         function pointer.
26037         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
26039 2012-02-24  Bruno Haible  <bruno@clisp.org>
26041         cosl: Provide function definition on MSVC.
26042         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
26043         function pointer.
26044         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
26046 2012-02-24  Bruno Haible  <bruno@clisp.org>
26048         sinl: Provide function definition on MSVC.
26049         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
26050         function pointer.
26051         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
26053 2012-02-24  Bruno Haible  <bruno@clisp.org>
26055         logl: Provide function definition on MSVC.
26056         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
26057         function pointer.
26058         * lib/math.in.h (logl): Undefine if it does not exist as a function.
26060 2012-02-24  Bruno Haible  <bruno@clisp.org>
26062         expl: Provide function definition on MSVC.
26063         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
26064         function pointer.
26065         * lib/math.in.h (expl): Undefine if it does not exist as a function.
26067 2012-02-24  Bruno Haible  <bruno@clisp.org>
26069         sqrtl: Provide function definition on MSVC.
26070         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
26071         a function pointer.
26072         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
26074 2012-02-24  Bruno Haible  <bruno@clisp.org>
26076         ceill: Provide function definition on MSVC.
26077         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
26078         used as a function pointer.
26079         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
26081 2012-02-24  Bruno Haible  <bruno@clisp.org>
26083         floorl: Provide function definition on MSVC.
26084         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
26085         used as a function pointer.
26086         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
26088 2012-02-24  Bruno Haible  <bruno@clisp.org>
26090         ceilf: Provide function definition on MSVC.
26091         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
26092         used as a function pointer.
26093         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
26095 2012-02-24  Bruno Haible  <bruno@clisp.org>
26097         floorf: Provide function definition on MSVC.
26098         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
26099         used as a function pointer.
26100         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
26102 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
26104         stdnoreturn: new module
26105         This implements a replacement for C11's <stdnoreturn.h>.
26106         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
26107         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
26108         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
26109         * tests/test-stdnoreturn.c: New files.
26111 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
26113         regex: fix false multibyte matches in some regular expressions
26114         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
26115         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
26116         * lib/regex_internal.c (re_string_skip_chars):
26117         Fix miscomputation of remain_len that may cause incomplete
26118         multi-byte character and false match.
26120 2012-02-24  Jim Meyering  <meyering@redhat.com>
26122         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
26123         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
26124         uses with "==" *before* the call, e.g., 0 == strcmp (...)
26125         Remove now-unnecessary str''cmp obfuscation.
26126         Suggested by Akim Demaille.
26128 2012-02-24  Bruno Haible  <bruno@clisp.org>
26130         streq: Rename macro.
26131         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
26132         * NEWS: Mention the change.
26133         * lib/mbrtowc.c (mbrtowc): Update.
26134         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
26135         * lib/wcwidth.c (wcwidth): Update.
26136         Suggested by Akim Demaille and Jim Meyering.
26138 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26140         regex: fix typo in definition of MIN
26141         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
26142         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
26144 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26145             Bruno Haible  <bruno@clisp.org>
26147         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
26148         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
26149         entries into a stack-allocated buffer directly.
26150         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
26152 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26153             Bruno Haible  <bruno@clisp.org>
26155         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
26157          - There were several instances of this pattern:
26159              for (;;) {
26160                n = acl (f, GETACLCNT, 0, NULL);
26161                [ allocate an array A of size N ]
26162                if (acl (f, GETACL, n, a) == n)
26163                  break;
26164              }
26166            This loop might never terminate if some other process is constantly
26167            manipulating the file's ACL.  The loop should be rewritten to
26168            terminate.
26170          - The acl (... GETACLNT ...) call is merely an optimization; its value
26171            is merely a hint as to how big to make the array.  A better
26172            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
26173            and just guess a reasonably-big size, growing the size and trying
26174            again if it's not large enough.  This guarantees termination, and
26175            saves a system call.
26177         * lib/acl-internal.h: Include <limits.h>.
26178         (MIN, SIZE_MAX): New macros.
26179         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
26180         a stack-allocated buffer, and use malloc if it does not fit. Don't
26181         use GETACLCNT.
26182         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26184 2012-02-19  Bruno Haible  <bruno@clisp.org>
26186         acl: Fix endless loop on Solaris with vxfs.
26187         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
26188         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
26189         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
26190         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
26191         * tests/test-sameacls.c (main)[Solaris]: Likewise.
26192         Reported by Bill Jones in
26193         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
26195 2012-02-19  Bruno Haible  <bruno@clisp.org>
26197         acl: Fix copy-acl test failure on Solaris 11.0.
26198         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
26199         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
26200         that this function returns 0 in some more cases.
26202 2012-02-19  Bruno Haible  <bruno@clisp.org>
26204         acl: Update doc references.
26205         * doc/acl-resources.txt: Update links to Solaris documentation.
26207 2012-02-19  Bruno Haible  <bruno@clisp.org>
26209         Fix test failure in many locales on Solaris 11.
26210         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
26211         'tr' arguments.
26212         * tests/test-pipe-filter-ii1.c (main): Likewise.
26213         * build-aux/bootstrap (check_versions): Run 'tr' command with range
26214         expressions in the C locale.
26215         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26216         * m4/host-os.m4 (gl_HOST_OS): Likewise.
26218 2012-02-19  Bruno Haible  <bruno@clisp.org>
26220         gnulib-tool: Improve usage message.
26221         * gnulib-tool (func_usage): Move doc of --help and --version to the
26222         section "Operation modes".
26224 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
26226         README-release: make it easier to execute commands
26227         * top/README-release: break commands out on to separate lines.
26229 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
26231         GNUmakefile: simplify detection of unconfigured trees
26232         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
26233         whether the tree make is being run from is already configured or
26234         not.  Related simplifications.
26236 2012-02-13  Simon Josefsson  <simon@josefsson.org>
26238         * gnulib-tool (func_usage): Document --help and --version.
26240 2012-02-11  Jim Meyering  <meyering@redhat.com>
26242         bootstrap: don't exit 0 upon gnulib-tool failure
26243         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
26244         its exit status, not 0.
26246 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
26248         README-release: various improvements
26249         * top/README-release: Give a command to push changes for the
26250         release.  Add "distcheck" to list of other pre-release checks.
26251         Fix instance of "make stable" which should be "make TYPE".
26253 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
26255         maint: replace FSF snail-mail addresses with URLs
26256         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
26257         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
26258         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
26259         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
26260         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
26261         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
26262         * lib/check-version.c, lib/check-version.h, lib/config.charset:
26263         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
26264         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
26265         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
26266         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
26267         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
26268         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
26269         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
26270         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
26271         * lib/glthread/thread.c, lib/glthread/thread.h:
26272         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
26273         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
26274         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
26275         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
26276         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
26277         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
26278         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
26279         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
26280         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
26281         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
26282         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
26283         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
26284         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
26285         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
26286         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
26287         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
26288         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
26289         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
26290         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
26291         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
26292         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
26293         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
26294         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
26295         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
26296         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
26297         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
26298         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
26299         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
26300         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
26301         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
26302         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
26303         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
26304         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
26305         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
26306         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
26307         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
26308         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
26309         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
26310         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
26311         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
26312         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
26313         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
26314         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
26315         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
26316         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
26317         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
26318         * tests/test-poll.c, tests/test-quotearg-simple.c:
26319         * tests/test-quotearg.c, tests/test-quotearg.h:
26320         * tests/test-round-ieee.c, tests/test-round1.c:
26321         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
26322         * tests/test-roundl-ieee.c, tests/test-roundl.c:
26323         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
26324         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
26325         * tests/test-strerror.c, tests/test-strerror_r.c:
26326         * tests/test-strsignal.c, tests/test-strverscmp.c:
26327         * tests/test-xmemdup0.c:
26328         Replace FSF snail mail addresses with URLs, as per GNU coding
26329         standards.  See glibc bug
26330         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
26332 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
26334         README-release: capitalize a word and split a line
26335         * top/README-release: Fix punctuation and spacing.
26337 2012-02-08  Akim Demaille  <demaille@gostai.com>
26339         fatal-signal: use C prototypes (with explicit void).
26340         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
26341         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
26343 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26345         regex: spelling fix
26346         * lib/regexec.c: spelling fix
26348         regex: rely on stdint.h for SIZE_MAX
26349         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
26351 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
26353         regex: merge glibc changes
26355         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
26356         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
26357         (init_word_char): Work even if bitset words are not exactly 32 or
26358         64 bits wide.  Don't assume there are no padding bits.
26359         * lib/regex.c [_LIBC]: Do not include <config.h>.
26360         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
26361         and -Wtype-limits.
26362         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
26363         needless disagreement with glibc.  All uses changed.  Define it to
26364         1 only if _GNU_SOURCE, to match glibc.
26365         (_REG_RM_NAME): Remove; no longer needed, since the names in
26366         question are now all protected by __USE_GNU.
26367         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
26368         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
26369         * lib/regex_internal.h (MIN): New macro.
26371         2012-01-03 Ulrich Drepper <drepper@gmail.com>
26372         * lib/regcomp.c (init_word_char): Optimize regex a bit.
26374         2011-12-30 Jakub Jelinek <jakub@redhat.com>
26375         * lib/regex_internal.c (re_string_fetch_byte_case):
26376         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
26377         is miscompiled, and it turns out it is because of an incorrect
26378         attribute on re_string_fetch_byte_case.  Unlike
26379         re_string_peek_byte_case, this one is really not pure, it modifies
26380         memory (increments pstr->cur_idx), and with the pure attribute GCC
26381         assumed it doesn't and it cached the presumed value of
26382         regexp->cur_idx in a variable across the
26383          for (;; ++i)
26384            {
26385              if (i >= BRACKET_NAME_BUF_SIZE)
26386                return REG_EBRACK;
26387              if (token->type == OP_OPEN_CHAR_CLASS)
26388                ch = re_string_fetch_byte_case (regexp);
26389              else
26390                ch = re_string_fetch_byte (regexp);
26391              if (re_string_eoi(regexp))
26392                return REG_EBRACK;
26393              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
26394                break;
26395              elem->opr.name[i] = ch;
26396            }
26398         2011-11-29 Andreas Schwab <schwab@redhat.com>
26399         * lib/regcomp.c (build_equiv_class):
26400         Fix access after end of search string in regex matcher.
26402         2011-11-12 Ulrich Drepper <drepper@redhat.com>
26403         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
26405         2011-10-12 Ulrich Drepper <drepper@redhat.com>
26406         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
26408         2011-10-11 Ulrich Drepper <drepper@redhat.com>
26409         * lib/regcomp.c (parse_branch, parse_sub_exp):
26410         More regex memory leak fixes and tests.
26411         (parse_sub_exp, parse_bracket_exp):
26412         Fix memory leak for some invalid regular expressions.
26414         2011-05-28 Ulrich Drepper <drepper@gmail.com>
26415         * lib/regex_internal.c, lib/regexec.c:
26416         Fix unnecessary overallocation due to incomplete character.  When
26417         incomplete characters are found at the end of a string the code
26418         ran amok and allocated lots of memory.  Stricter limits are now in
26419         place.
26421         2011-05-20 Reuben Thomas <rrt@sc3d.org>
26422         * lib/regex.h: Update documentation.
26424         2011-05-16 Aharon Robbins <arnold@skeeve.com>
26425         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
26427         2010-05-05 Andreas Schwab <schwab@redhat.com>
26428         * lib/regexec.c (find_collation_sequence_value):
26429         Fix lookup of collation sequence value during regexp matching.
26431         2010-01-22 Ulrich Drepper <drepper@redhat.com>
26432         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
26434         2008-01-16 Ulrich Drepper <drepper@redhat.com>
26435         * lib/regex.h: Cleanup namespace.
26437         2007-11-26 Ulrich Drepper <drepper@redhat.com>
26438         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
26440         2007-08-26 Ulrich Drepper <drepper@redhat.com>
26441         * lib/regex_internal.h: Prevent some declarations and definitions
26442         to be seen when used in tests.
26444         2005-05-06 Ulrich Drepper <drepper@redhat.com>
26445         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
26446         __libc_lock_* macros if not _LIBC.
26447         (struct re_dfa_t): Add lock.
26449 2012-02-07  Eric Blake  <eblake@redhat.com>
26451         maint.mk: also prohibit lower-case @var@
26452         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
26453         lower case, like @top_srcdir@.
26455 2012-02-04  Eric Blake  <eblake@redhat.com>
26457         canonicalize: avoid uninitialized memory use
26458         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
26459         random '/' left in dest.
26460         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
26462 2012-02-04  Bruno Haible  <bruno@clisp.org>
26464         isatty: Fix test failure of ptsname_r on native Windows.
26465         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
26466         and don't set errno.
26467         (isatty): Test first whether fd is valid. Set errno when returning 0.
26469 2012-02-04  Bruno Haible  <bruno@clisp.org>
26471         spawn-pipe tests: Fix a NULL program name in a diagnostic.
26472         * tests/test-spawn-pipe-main.c: Include progname.h.
26473         (main): Invoke set_program_name.
26474         * modules/spawn-pipe-tests (Depends-on): Add progname.
26476         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
26477         * tests/test-nonblocking-socket-main.c: Include progname.h.
26478         (main): Invoke set_program_name.
26479         * modules/nonblocking-socket-tests (Depends-on): Add progname.
26481         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
26482         * tests/test-nonblocking-pipe-main.c: Include progname.h.
26483         (main): Invoke set_program_name.
26484         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
26486 2012-02-04  Eric Blake  <eblake@redhat.com>
26488         canonicalize-lgpl: fix // handling
26489         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
26491         canonicalize: fix // handling
26492         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
26493         /// to //, since only // is special.
26495 2012-02-04  Bruno Haible  <bruno@clisp.org>
26497         ioctl: Fix test failure on native Windows.
26498         * lib/ioctl.c: Include msvc-nothrow.h.
26499         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
26501 2012-02-04  Bruno Haible  <bruno@clisp.org>
26503         fsync: Avoid test failure on native Windows.
26504         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
26505         read-only.
26507 2012-02-04  Bruno Haible  <bruno@clisp.org>
26509         sys_select: Avoid syntax error on OpenBSD 5.0.
26510         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
26511         currently being included, just include the system's <sys/select.h>.
26513 2012-02-04  Bruno Haible  <bruno@clisp.org>
26515         sys_select: Avoid syntax error on OpenBSD 5.0.
26516         * lib/sys_select.in.h: Include <signal.h> only after the include_next
26517         <sys/select.h>, not before.
26518         Reported by Jiri B <jirib@devio.us>.
26520 2012-02-04  Bruno Haible  <bruno@clisp.org>
26522         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
26523         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
26524         global variables.
26525         * tests/test-get-rusage-data.c (main): Likewise.
26526         Reported by Jim Meyering.
26528 2012-02-04  Bruno Haible  <bruno@clisp.org>
26530         stdioext: Fix last commit.
26531         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
26533 2012-02-03  Bruno Haible  <bruno@clisp.org>
26535         stdioext: Add tentative support for Plan9.
26536         * lib/stdio-impl.h: Include <errno.h>.
26537         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
26538         * lib/freadable.c (freadable): Likewise.
26539         * lib/fwritable.c (fwritable): Likewise.
26540         * lib/fbufmode.c (fbufmode): Likewise.
26541         * lib/freading.c (freading): Likewise.
26542         * lib/fwriting.c (fwriting): Likewise.
26543         * lib/freadptr.c (freadptr): Likewise.
26544         * lib/freadseek.c (freadptrinc): Likewise.
26545         * lib/freadahead.c (freadahead): Likewise.
26546         * lib/fpurge.c (fpurge): Likewise.
26547         * lib/fseeko.c (rpl_fseeko): Likewise.
26548         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
26549         Reported by Jens Staal <staal1978@gmail.com>.
26551 2012-02-02  Jim Meyering  <meyering@redhat.com>
26553         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
26554         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
26555         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
26556         not even to try to add the attribute.  Instead, add a pragma to suppress
26557         the suggestion/warning.
26559 2012-01-31  Karl Berry  <karl@gnu.org>
26561         setstate doc: typo.
26562         * doc/posix-functions/setstate.texi (setstate): { not (.
26564 2012-01-31  Bruno Haible  <bruno@clisp.org>
26566         popen: Make more robust on Windows.
26567         * lib/popen.c: On native Windows, use the _popen based code even if
26568         HAVE_POPEN is set.
26569         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
26570         environment variable on native Windows.
26572 2012-01-30  Bruno Haible  <bruno@clisp.org>
26574         pclose: Fix typo.
26575         * lib/stdio.in.h (pclose): Fix typo in warning message.
26577 2012-01-30  Bruno Haible  <bruno@clisp.org>
26579         doc about getlogin_r, setstate.
26580         * doc/posix-functions/getlogin_r.texi: List the incompatible
26581         declaration problem under "not fixed by gnulib".
26582         * doc/posix-functions/setstate.texi: Mention incompatible declaration
26583         problem on Solaris 11 and other platforms.
26585 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
26586             Bruno Haible  <bruno@clisp.org>
26588         poll tests: Make test more robust.
26589         * tests/test-poll.c: Include macros.h.
26590         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
26591         return value of various I/O operations.
26592         * modules/poll-tests (Files): Add tests/macros.h.
26594 2012-01-30  Bruno Haible  <bruno@clisp.org>
26596         sys_stat: Fix support for mingw64 and MSVC.
26597         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
26598         header files already do it.
26599         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
26600         stat itself.
26601         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26603 2012-01-30  Bruno Haible  <bruno@clisp.org>
26605         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
26606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
26607         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
26609 2012-01-29  Bruno Haible  <bruno@clisp.org>
26611         quotearg: Fix test failure on MacOS X 10.5.
26612         * tests/test-quotearg-simple.c: Include localcharset.h.
26613         (main): If the locale encoding is not ASCII, bypass the tests of
26614         locale_quoting_style and clocale_quoting_style.
26615         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
26617 2012-01-29  Jim Meyering  <meyering@redhat.com>
26619         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
26620         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
26621         detect uses of canonicalize_file_name.
26623 2012-01-28  Bruno Haible  <bruno@clisp.org>
26625         test-framework-sh: Fix test failure with AIX 7.1 diff.
26626         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
26627         in column 1, like 'diff -c' does.
26628         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
26629         whether 'diff -u' is used. Instead, test whether the output contains
26630         some '@' character.
26632 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
26634         strtoimax: eliminate need for stdint.h, inttypes.h checks
26635         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
26636         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
26637         the prerequisites for a recently-introduced strtoimax test.
26638         I guess this might cause strtoimax to be replaced when not
26639         strictly necessary on older hosts, but this shouldn't introduce
26640         any bugs and it should make Emacs 'configure' faster on typical
26641         modern hosts.  Problem discovered when importing the latest gnulib
26642         to an Emacs test version.
26643         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
26645 2012-01-28  Bruno Haible  <bruno@clisp.org>
26647         sys_time: Override 'struct timeval' on some native Windows platforms.
26648         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
26649         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
26650         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
26651         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
26652         needs to be overridden.
26653         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
26654         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
26655         * tests/test-sys_select.c: Check that the tv_sec member has the same
26656         size as a 'time_t'.
26657         * tests/test-sys_time.c: Likewise.
26658         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
26659         is set, set also REPLACE_GETTIMEOFDAY.
26660         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
26661         convert the resulting 'struct timeval' before returning.
26662         * lib/select.c: Include <sys/time.h>.
26663         (select, timeval): Undefine at the right place.
26664         * modules/select (Depends-on): Add sys_time.
26665         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
26666         some Windows platforms.
26667         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
26669 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26671         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
26672         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
26673         an integer.
26674         * lib/fcntl.c (dupfd): Likewise.
26675         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
26677 2012-01-28  Bruno Haible  <bruno@clisp.org>
26679         fcntl: Avoid compilation error on native Windows.
26680         * modules/fcntl (Depends-on): Add 'close'.
26682 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26684         select, poll, isatty: Avoid warnings on x86_64 mingw64.
26685         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
26686         pointer to an integer.
26687         * lib/poll.c (IsConsoleHandle): Likewise.
26688         * lib/isatty.c (IsConsoleHandle): Likewise.
26690 2012-01-28  Jim Meyering  <meyering@redhat.com>
26692         doc: clarify README-release
26693         * top/README-release: Clarify: you should make a point to have
26694         the latest stable versions of build tools in your PATH, and the
26695         reference to buildreq is solely for its list of tool names, not
26696         for its minimal-functional version numbers.
26697         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
26699         maint.mk: use more readable (yet functionally equivalent) quoting
26700         It is common to quote a single quote in a single quoted string like
26701         this:  '...'\''...'.  Unless you know the idiom, that looks like
26702         gibberish, so prefer to double-quote the string when possible.
26703         Then you can use a more readable, lone single quote: "...'..."
26704         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
26705         "don't" is more readable than the equivalent 'don'\''t'.
26706         (sc_cast_of_x_alloc_return_value): Likewise.
26707         (sc_cast_of_alloca_return_value): Likewise.
26708         (sc_makefile_path_separator_check): Similar: use ":" in '...',
26709         rather than '\'':'\''.
26711 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26713         stdalign: relax _Alignof and tighten _Alignas test
26714         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
26715         as it was too strict: alignof must divide offsetof, but it need
26716         not equal offsetof.  Inspired by Joseph S. Myers's comment
26717         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
26718         Conversely, tighten the _Alignas test a bit, as the resulting
26719         alignment must be exactly 8.
26721 2012-01-27  Bruno Haible  <bruno@clisp.org>
26723         stdalign: Document the last change.
26724         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
26726 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
26728         stdalign: check that alignof and offsetof are consistent
26729         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
26730         Problem reported for gnulib by Richard W.M. Jones in
26731         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
26733 2012-01-27  Jim Meyering  <meyering@redhat.com>
26735         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
26736         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
26737         convert a sequence with gaps to the minimal containing range.
26738         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
26739         * tests/test-update-copyright.sh: Test for this.
26740         The FSF confirmed it is ok to do this, assuming there is at
26741         least one significant change per year in the affected range:
26742         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
26744 2012-01-26  Bruno Haible  <bruno@clisp.org>
26746         pipe2: refine doc about thread-safety
26747         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
26748         multithread-safety problem.
26749         * doc/glibc-functions/accept4.texi: Likewise.
26751 2012-01-26  Bruno Haible  <bruno@clisp.org>
26753         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
26754         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
26755         In the test program, include <fcntl.h>, for O_RDONLY.
26757 2012-01-26  Eric Blake  <eblake@redhat.com>
26759         pipe2: document lack of thread-safety in replacement
26760         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
26761         issue in replacement.
26762         * doc/glibc-functions/accept4.texi (accept4): Likewise.
26763         Based on a report by Eric Wong.
26765 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
26766             Bruno Haible  <bruno@clisp.org>
26768         malloca: Avoid warnings on x86_64 mingw64.
26769         * lib/malloca.c: Include <stdint.h>.
26770         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
26771         * modules/malloca (Depends-on): Add stdint.
26772         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
26774 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
26776         obstack: remove __STDC__ conditionals
26777         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
26778         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
26779         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
26780         m4/include_next.m4 as the only gnulib-maintained places that still
26781         refer to __STDC__.
26783 2012-01-24  Bruno Haible  <bruno@clisp.org>
26785         havelib: Modern quoting.
26786         * build-aux/config.rpath: Quote 'like this', not `like this', as per
26787         the recent change to the GNU coding standards.
26789 2012-01-24  Bruno Haible  <bruno@clisp.org>
26791         stdint: Improve support for Android.
26792         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
26793         Reported by Simon Josefsson <simon@josefsson.org>.
26795 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
26797         doc: omit trailing empty lines from INSTALL etc.
26798         * doc/Makefile (INSTALL): Omit trailing empty lines.
26799         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
26800         omit trailing empty lines.  This simplifies the build procedure.
26802 2012-01-23  Jim Meyering  <meyering@redhat.com>
26804         tests: avoid spurious warnings about gl_sockets_startup
26805         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
26806         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
26807         reporting a "statement with no effect".
26808         * tests/test-accept.c (main): Mark as "(void)".
26809         * tests/test-accept4.c (main): Likewise.
26810         * tests/test-bind.c (main): Likewise.
26811         * tests/test-connect.c (main): Likewise.
26812         * tests/test-getpeername.c (main): Likewise.
26813         * tests/test-getsockname.c (main): Likewise.
26814         * tests/test-getsockopt.c (main): Likewise.
26815         * tests/test-listen.c (main): Likewise.
26816         * tests/test-recv.c (main): Likewise.
26817         * tests/test-recvfrom.c (main): Likewise.
26818         * tests/test-send.c (main): Likewise.
26819         * tests/test-sendto.c (main): Likewise.
26820         * tests/test-setsockopt.c (main): Likewise.
26821         * tests/test-shutdown.c (main): Likewise.
26823 2012-01-21  Bruno Haible  <bruno@clisp.org>
26825         locale-fr.m4: Fix for Android.
26826         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
26827         failure of the test program on Bionic libc.
26829 2012-01-21  Jim Meyering  <meyering@redhat.com>
26831         bootstrap: fail when bootstrap_post_import_hook fails
26832         Otherwise, it's far too easy to miss diagnostics emitted
26833         between gnulib-tool's output and that of running configure.
26834         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
26836 2012-01-17  Jim Meyering  <meyering@redhat.com>
26838         maint: enable sc_trailing_blank
26839         * build-aux/pmccabe.css: Remove trailing blanks.
26840         * doc/acl-cygwin.txt: Likewise.
26841         * doc/gnu-oids.texi: Likewise
26842         * cfg.mk: Enable sc_trailing_blank.
26843         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
26845 2012-01-17  Jim Meyering  <meyering@redhat.com>
26847         maint: enable sc_prohibit_openat_without_use
26848         * cfg.mk: Enable sc_prohibit_openat_without_use.
26849         Exempt lib/selinux-at.c.
26851 2012-01-17  Jim Meyering  <meyering@redhat.com>
26853         maint: enable sc_prohibit_cloexec_without_use
26854         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
26855         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
26857 2012-01-17  Jim Meyering  <meyering@redhat.com>
26859         maint: enable sc_prohibit_intprops_without_use
26860         * cfg.mk: Enable sc_prohibit_intprops_without_use
26861         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
26863 2012-01-17  Jim Meyering  <meyering@redhat.com>
26865         maint: enable sc_prohibit_hash_pjw_without_use
26866         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
26867         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
26868         to match any use of \<hash_pjw\>, i.e., not necessarily with a
26869         following " (".
26871 2012-01-17  Jim Meyering  <meyering@redhat.com>
26873         maint: enable double-word-prohibiting rule
26874         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
26875         Exempt three files.
26877 2012-01-17  Jim Meyering  <meyering@redhat.com>
26879         maint: remove empty lines at EOF, but excluding modules/*
26880         Apply syntax rules at home as well as abroad.  Most changes
26881         were induced by running this:
26882           make srcdir=. _build-aux=build-aux -f top/maint.mk \
26883             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
26884             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
26885         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
26886         Exempt modules/* and two binary files.
26887         Also exempt doc/INSTALL*, per request from Bruno Haible.
26888         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
26889         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
26890         * doc/Copyright/request-assign.future: Likewise.
26891         * doc/Copyright/request-disclaim.changes: Likewise.
26892         * doc/INSTALL: Likewise.
26893         * doc/INSTALL.ISO: Likewise.
26894         * doc/INSTALL.UTF-8: Likewise.
26895         * doc/acl-cygwin.txt: Likewise.
26896         * doc/acl-resources.txt: Likewise.
26897         * doc/fdl-1.2.texi: Likewise.
26898         * doc/fdl-1.3.texi: Likewise.
26899         * doc/fdl.texi: Likewise.
26900         * lib/argp-pin.c: Likewise.
26901         * lib/round.c: Likewise.
26902         * lib/unicase/u16-totitle.c: Likewise.
26903         * lib/unictype/block_test.c: Likewise.
26904         * lib/uninorm/canonical-decomposition.c: Likewise.
26905         * m4/README: Likewise.
26906         * m4/relocatable-lib.m4: Likewise.
26907         * tests/test-isnand-nolibm.c: Likewise.
26908         * tests/test-isnand.c: Likewise.
26909         * tests/uninorm/NormalizationTest.txt: Likewise.
26911 2012-01-17  Jim Meyering  <meyering@redhat.com>
26913         maint: add framework to run syntax-check rules against gnulib sources
26914         * cfg.mk: New file, to disable all currently-failing tests.
26915         We'll enable them one by one, as they are made to pass.
26916         * Makefile (sc_maint): New rule.
26918 2012-01-21  Bruno Haible  <bruno@clisp.org>
26920         stdint: Add support for Android.
26921         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
26922         include the system's <stdint.h>.
26923         Reported by Simon Josefsson <simon@josefsson.org>.
26925 2012-01-19  Jim Meyering  <meyering@redhat.com>
26927         bootstrap: add bootstrap_post_import_hook
26928         Bison does still need something like the gnulib_mk_hook whose
26929         invocation I had to remove along with slurp in commit 767ccd40.
26930         Technically, we could get along without it, but doing so would
26931         have required living with a warning and a mandatory post-bootstrap
26932         automake rerun.
26933         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
26934         (bootstrap_post_import_hook): New function.
26935         Invoke it after gnulib-tool --import and before autoreconf.
26937 2012-01-18  Jim Meyering  <meyering@redhat.com>
26939         gitlog-to-changelog: don't use "no_"-prefixed variable name
26940         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
26941         to enable both --cluster and --no-cluster.  Change variable name,
26942         s/\$no_cluster/$cluster/, and reverse usage to match.
26944         gitlog-to-changelog: use "||", not "or" in expressions
26945         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
26946         expressions.
26948 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
26950         gitlog-to-changelog: new option --no-cluster
26951         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
26952         clustering of adjacent commit messages.
26954 2012-01-17  Jim Meyering  <meyering@redhat.com>
26956         maint: spell file systems with two words, not one
26957         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
26958         two words, not one.
26960 2012-01-16  Jim Meyering  <meyering@redhat.com>
26962         bootstrap: add a FIXME comment to ensure we eventually remove the hack
26963         * build-aux/bootstrap (gnulib_tool_options): Add comment.
26965 2012-01-16  Eric Blake  <eblake@redhat.com>
26967         bootstrap: cater to autoconf 2.59
26968         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
26969         is not available.
26971         bootstrap: properly check for libtool
26972         * build-aux/bootstrap (libtoolize): Also run libtool when older
26973         usage is detected.
26975 2012-01-15  Bruno Haible  <bruno@clisp.org>
26977         Improve support for MSVC 9.
26978         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
26979         clashes on MSVC.
26980         * lib/fcntl.in.h: Likewise.
26981         * lib/stdlib.in.h: Likewise.
26982         * lib/sys_stat.in.h: Likewise.
26984 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
26986         gnupload: we hold the master copy of this script now
26987         For motivation and more information, see:
26988         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
26989         * build-aux/gnupload: Make it clear in the heading comments that the
26990         master copy of this file is maintained by gnulib.  Since we are at
26991         it, bump its copyright year and ...
26992         ($scriptversion): ... the date in its version.
26993         ($usage): Patches and bug reports should be sent to the gnulib list,
26994         not the automake one.
26995         * config/srclist.txt: Don't try to sync 'gnupload' from automake
26996         anymore.
26998 2012-01-15  Bruno Haible  <bruno@clisp.org>
27000         Fix module 'random'.
27001         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
27002         initstate, setstate are declared.
27004 2012-01-14  Bruno Haible  <bruno@clisp.org>
27006         Tests for module 'random'.
27007         * modules/random-tests: New file.
27008         * tests/test-random.c: New file, based on tests/test-random_r.c.
27010         New module 'random'.
27011         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
27012         declarations.
27013         * lib/random.c: New file, based on glibc/stdlib/random.c.
27014         * m4/random.m4: New file.
27015         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
27016         HAVE_RANDOM.
27017         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
27018         * modules/random: New file.
27019         * config/srclist.txt: Add an entry for random.c.
27020         * doc/posix-functions/random.texi: Mention the 'random' module.
27021         * doc/posix-functions/initstate.texi: Likewise.
27022         * doc/posix-functions/setstate.texi: Likewise.
27023         * doc/posix-functions/srandom.texi: Likewise.
27025 2012-01-12  Bruno Haible  <bruno@clisp.org>
27027         random_r: Use common idioms.
27028         * lib/random_r.c: Include <stdlib.h> first.
27030         random_r: Override incompatible API on AIX, OSF/1.
27031         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
27032         Override the system function if REPLACE_RANDOM_R is 1.
27033         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
27034         and OSF/1, set REPLACE_RANDOM_R.
27035         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
27036         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
27037         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
27038         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
27039         * doc/glibc-functions/random_r.texi: Likewise.
27040         * doc/glibc-functions/setstate_r.texi: Likewise.
27042         random_r: Support for MSVC 9.
27043         * lib/random_r.c: Include stdint.h, not inttypes.h.
27045 2012-01-12  Eric Blake  <eblake@redhat.com>
27047         inet_ntop: guard extra work by IF_LINT
27048         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
27049         better code generation when not checking for warnings.
27050         Suggested by Paul Eggert and Jim Meyering.
27052         strptime: fix regression on mingw
27053         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
27054         Fix regression.  Reported by Bruno Haible.
27056 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
27057             Bruno Haible  <bruno@clisp.org>
27059         copy-file: add error-code-returning variant.
27060         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
27061         (qcopy_file_preserving): New declaration.
27062         * lib/copy-file.c (qcopy_file_preserving): Renamed from
27063         copy_file_preserving. Change return type to 'int'. Don't emit an error
27064         message here.
27065         (copy_file_preserving): New function.
27066         * tests/test-copy-file.c: Include <stdlib.h>.
27067         (main): Test qcopy_file_preserving if the environment variable
27068         NO_STDERR_OUTPUT is set.
27069         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
27070         with NO_STDERR_OUTPUT
27071         * tests/test-copy-file-2.sh: Likewise.
27073 2012-01-10  Bruno Haible  <bruno@clisp.org>
27075         copy-file: Use 'quote' module consistently.
27076         * lib/copy-file.c (copy_file_preserving): Use quote().
27078         copy-file: Refactor.
27079         * lib/copy-file.c: Include quote.h.
27080         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
27081         message here.
27082         * modules/copy-file (Depends-on): Add quote.
27084         acl: Export qcopy_acl.
27085         * lib/acl.h (qcopy_acl): New declaration.
27086         * lib/copy-acl.c (qcopy_acl): Make non-static.
27088         acl: Rename a local variable.
27089         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
27091         acl: Align return values of copy_acl and qcopy_acl.
27092         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
27093         maybe < -1.
27095 2012-01-11  Eric Blake  <eblake@redhat.com>
27097         strptime: silence gcc warnings
27098         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
27099         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
27100         Reported by Daniel P. Berrange.
27102         inet_ntop: silence gcc warning
27103         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
27104         Reported by Daniel P. Berrange.
27106 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
27108         getloadavg test: skip the test on GNU/Linux without /proc mounted
27109         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
27110         file.  When /proc is not mounted, it always fails with ENOENT.
27111         * tests/test-getloadavg.c (main): Treat ENOENT return code from
27112         getloadavg(3) the same way as ENOSYS and ENOTSUP.
27114 2012-01-10  Bruno Haible  <bruno@clisp.org>
27116         regex: Avoid link error on MSVC 9.
27117         * modules/regex (Depends-on): Add wctype.
27119 2012-01-10  Bruno Haible  <bruno@clisp.org>
27121         doc: Mention --with-tests option.
27122         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
27123         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
27124         --with-tests.
27125         Reported by Reuben Thomas.
27127 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
27129         users.txt: order package names lexicographically.
27130         * users.txt: Order package names lexicographically.
27132 2012-01-10  Jim Meyering  <meyering@redhat.com>
27134         maint.mk: fix description in comment
27135         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
27137         ignore-value: remove deprecated ignore_ptr function
27138         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
27139         * NEWS: Note this.
27141 2012-01-09  Jim Meyering  <meyering@redhat.com>
27143         test-init.sh: avoid a subshell
27144         * tests/test-init.sh: Remove protective subshell.
27145         Suggested by Bernhard Voelker.  While a subshell is normally
27146         required to protect against older shells (Solaris, FreeBSD) that
27147         warn about a missing program before performing redirection, the
27148         shell-selection tests performed by init.sh probably exclude any
27149         offending shell.
27151 2012-01-08  Bruno Haible  <bruno@clisp.org>
27153         setlocale tests: Avoid test failure on Solaris 11.0.
27154         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
27155         variable.
27157 2012-01-08  Bruno Haible  <bruno@clisp.org>
27159         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
27160         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27161         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27162         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
27163         macro.
27164         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
27165         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27166         * lib/spawn_faction_addopen.c: Add workaround implementation if
27167         HAVE_WORKING_POSIX_SPAWN.
27168         * modules/spawn (Makefile): Substitute
27169         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
27170         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
27171         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
27172         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
27173         (Depends-on): Update conditions.
27174         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27175         the Solaris 11 bug.
27177 2012-01-08  Bruno Haible  <bruno@clisp.org>
27179         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
27180         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27181         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27182         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
27183         macro.
27184         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
27185         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27186         * lib/spawn_faction_adddup2.c: Add workaround implementation if
27187         HAVE_WORKING_POSIX_SPAWN.
27188         * modules/spawn (Makefile): Substitute
27189         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
27190         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
27191         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
27192         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
27193         (Depends-on): Update conditions.
27194         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
27195         the Solaris 11 bug.
27197 2012-01-08  Bruno Haible  <bruno@clisp.org>
27199         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
27200         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
27201         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27202         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
27203         HAVE_WORKING_POSIX_SPAWN.
27204         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
27205         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
27206         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27207         * lib/spawn_faction_addclose.c: Add workaround implementation if
27208         HAVE_WORKING_POSIX_SPAWN.
27209         * modules/spawn (Makefile): Substitute
27210         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
27211         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
27212         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
27213         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
27214         (Depends-on): Update conditions.
27215         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
27216         the Solaris 11 bug.
27218 2012-01-08  Bruno Haible  <bruno@clisp.org>
27220         doc: Update for Solaris 11.0.
27221         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
27222         * m4/printf.m4: Update comments.
27224 2012-01-08  Bruno Haible  <bruno@clisp.org>
27226         mktime: Avoid compilation error on Solaris 11.
27227         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
27229 2012-01-08  Bruno Haible  <bruno@clisp.org>
27231         doc: Small fix.
27232         * doc/posix-headers/nl_types.texi: Correct platforms list.
27234 2012-01-08  Simon Josefsson  <simon@josefsson.org>
27236         Add lgpl-3.0 module.
27237         * MODULES.html.sh (Support for building documentation): Add
27238         lgpl-3.0.
27239         * modules/lgpl-3.0: New file.
27241 2012-01-08  Jim Meyering  <meyering@redhat.com>
27243         select.c: indent with spaces, not TABs
27244         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
27246 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27248         quotearg: do not use grave accent for left quote
27249         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
27250         locale_quoting_style.
27251         (quotearg_buffer_restyled): Fix example.
27252         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
27254 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27256         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
27257         Most programs do not have translation catalogs for English and much
27258         less separate catalogs for British and American English.  Drop the
27259         suggestion to translators about these two, and provide it
27260         automatically for Unicode locales.  Like most programs, even those
27261         using American English, we use single quotation marks.  This conflicts
27262         with the American typographic convention, but works better when you
27263         cite the entire error message within double quotes.  It also tries not
27264         to clash with established practice and with what non-gnulib programs
27265         will usually do.
27266         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
27267         using an UTF-8 or GB-18030 locale.  The list of other locales with
27268         quotes was provided by Bruno Haible.
27269         (quotearg_buffer_restyled): Adjust instructions to translators.
27270         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
27271         text, since this would be wrong when using Unicode.
27272         * modules/quotearg: Depend on c-strcaseeq.
27274 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
27276         quotearg: fix Wikipedia link
27277         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
27279 2012-01-07  Simon Josefsson  <simon@josefsson.org>
27281         Fix for mingw with MSVC9.
27282         * m4/ld-version-script.m4: Check that compiler rejects version
27283         scripts with syntax errors.  Reported by Bruno Haible
27284         <bruno@clisp.org>.
27286 2012-01-06  Bruno Haible  <bruno@clisp.org>
27288         Talk about "native Windows API", not "Woe32".
27289         * lib/accept4.c: Update comments to mention native Windows.
27290         * lib/execute.c: Likewise.
27291         * lib/fatal-signal.c: Likewise.
27292         * lib/localcharset.c: Likewise.
27293         * lib/nanosleep.c: Likewise.
27294         * lib/nl_langinfo.c: Likewise.
27295         * lib/pclose.c: Likewise.
27296         * lib/pipe-filter-gi.c: Likewise.
27297         * lib/pipe-filter-ii.c: Likewise.
27298         * lib/pipe.c: Likewise.
27299         * lib/pipe2.c: Likewise.
27300         * lib/popen.c: Likewise.
27301         * lib/progreloc.c: Likewise.
27302         * lib/relocatable.c: Likewise.
27303         * lib/sigaction.c: Likewise.
27304         * lib/sigprocmask.c: Likewise.
27305         * lib/spawn-pipe.h: Likewise.
27306         * lib/spawn-pipe.c: Likewise.
27307         * lib/spawni.c: Likewise.
27308         * lib/stat-time.h: Likewise.
27309         * lib/w32spawn.h: Likewise.
27310         * tests/test-isatty.c: Likewise.
27311         * lib/config.charset: More comments.
27312         * doc/gnulib-intro.texi: Mention native Windows.
27313         * doc/posix-functions/_Exit_C99.texi: Likewise.
27314         * doc/posix-headers/fcntl.texi: Likewise.
27316 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
27318         argp: Avoid crash if translator uses % characters in a translation.
27319         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
27320         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27322 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
27324         doc: C11 and C++11 are now official
27325         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
27326         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
27327         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
27328         * modules/stdalign:
27329         Replace references to draft C1X to C11, and to draft C++0X to C++11.
27331 2012-01-06  Bruno Haible  <bruno@clisp.org>
27333         uc-is-grapheme-break tests: Tweak.
27334         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
27335         message.
27337 2012-01-06  Bruno Haible  <bruno@clisp.org>
27339         test-init.sh: correct the test for diff -u
27340         * tests/test-init.sh: Also redirect stdout to /dev/null.
27342 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
27344         Use ', not `, for quoting output.
27345         * build-aux/announce-gen (usage, sizes, print_news_deltas)
27346         (print_changelog_deltas, get_tool_versions, main program):
27347         * build-aux/git-version-gen:
27348         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
27349         * build-aux/move-if-change (help):
27350         * build-aux/useless-if-before-free (usage, main program):
27351         * check-module (parse_module_file, usage)
27352         (find_included_lib_files, check_module):
27353         * lib/argmatch.c (main) [TEST]:
27354         * lib/argp-help.c (_help):
27355         * lib/getopt1.c (main) [TEST]:
27356         * lib/git-merge-changelog.c (usage):
27357         * lib/xstrtol-error.c (xstrtol_error):
27358         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
27359         * m4/argz.m4 (gl_FUNC_ARGZ):
27360         * m4/bison.m4 (gl_BISON):
27361         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
27362         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27363         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27364         * m4/fpending.m4 (gl_PREREQ_FPENDING):
27365         * m4/gc-random.m4 (gl_GC_RANDOM):
27366         * m4/intl.m4 (gt_CHECK_DECL):
27367         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
27368         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
27369         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
27370         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
27371         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
27372         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
27373         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
27374         * tests/test-dirname.c (main):
27375         * tests/test-getpass.c (main):
27376         * tests/test-iconvme.c (main):
27377         * tests/test-parse-datetime.c (LOG):
27378         * tests/test-xstrtoimax.sh:
27379         * tests/test-xstrtol.sh:
27380         * tests/test-xstrtoll.sh:
27381         * tests/test-xstrtoumax.sh:
27382         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
27383         * top/GNUmakefile (abort-due-to-no-makefile):
27384         Quote 'like this', not `like this', as per the recent change to
27385         the GNU coding standards.
27387 2012-01-05  Bruno Haible  <bruno@clisp.org>
27389         strtoimax: Don't force a replacement on systems where intmax_t is int.
27390         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
27391         'intmax_t' is not larger than 'int'.
27392         Reported by Pádraig Brady <P@draigBrady.com>.
27394 2012-01-05  Bruno Haible  <bruno@clisp.org>
27396         doc: Mention NetBSD bugs.
27397         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
27398         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
27400 2012-01-05  Bruno Haible  <bruno@clisp.org>
27402         strtoumax tests: Enhance tests.
27403         * tests/test-strtoumax.c (main): Add tests for large values.
27405 2012-01-05  Bruno Haible  <bruno@clisp.org>
27407         strtoimax: Work around AIX 5.1 bug.
27408         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
27409         definition.
27410         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
27411         Set HAVE_STRTOIMAX.
27412         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
27413         REPLACE_STRTOIMAX.
27414         * modules/inttypes-incomplete (Makefile.am): Substitute
27415         REPLACE_STRTOIMAX.
27416         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
27417         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
27418         (Depends-on): Update conditions.
27419         * tests/test-strtoimax.c (main): Add tests for large values.
27420         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
27422 2012-01-05  Bruno Haible  <bruno@clisp.org>
27424         inttypes: Modernize.
27425         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
27426         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
27427         (Makefile.am): Update inttypes.h rule.
27429 2012-01-05  Jim Meyering  <meyering@redhat.com>
27431         init.sh: don't waste a subshell just to redirect stderr
27432         * tests/init.sh: In testing for diff -u and diff -c, use a
27433         stderr-redirecting exec inside `...` rather than a subshell.
27435         test-init.sh: avoid failure on HP-UX 11.00
27436         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
27437         resolves to diff -c or cmp.  Reported by Bruno Haible.
27439 2012-01-05  Bruno Haible  <bruno@clisp.org>
27441         Tests for module 'strtoull'.
27442         * modules/strtoull-tests: New file.
27443         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
27445 2012-01-05  Bruno Haible  <bruno@clisp.org>
27447         Tests for module 'strtoll'.
27448         * modules/strtoll-tests: New file.
27449         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
27451 2012-01-05  Bruno Haible  <bruno@clisp.org>
27453         Tests for module 'strtoul'.
27454         * modules/strtoul-tests: New file.
27455         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
27457 2012-01-05  Bruno Haible  <bruno@clisp.org>
27459         Tests for module 'strtol'.
27460         * modules/strtol-tests: New file.
27461         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
27463 2012-01-04  Jim Meyering  <meyering@redhat.com>
27465         test-init.sh: accommodate Solaris 5.10's different diff -u output
27466         * tests/test-init.sh: Also exempt @@ lines from the comparison
27467         of diff output, since Solaris 5.10 and GNU diff formats differ.
27468         Reported by Stefano Lattarini.
27470 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
27472         test-posixtm: don't assume signed integer wraparound
27473         * tests/test-posixtm.c (main): Don't assume wraparound semantics
27474         after signed integer overflow.  Inspired by (though it may not
27475         fix) Bruno Haible's bug report in
27476         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
27478         Spell out "Windows 9x" and "Windows XP".
27479         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
27480         "Windows 9x" and "WinXP" with "Windows XP".
27482 2012-01-04  Jim Meyering  <meyering@redhat.com>
27484         test-vc-list-files-cvs.sh: remove obsolete comment
27485         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
27486         double exit.  Now that's all encapsulated via skip_ and Exit.
27488 2012-01-04  Bruno Haible  <bruno@clisp.org>
27490         Talk about "native Windows API", not "Win32".
27491         * lib/classpath.c: Update comments to mention native Windows.
27492         * lib/csharpexec.c: Likewise.
27493         * lib/dup2.c: Likewise.
27494         * lib/error.c: Likewise.
27495         * lib/fcntl.c: Likewise.
27496         * lib/filename.h: Likewise.
27497         * lib/findprog.c: Likewise.
27498         * lib/get-rusage-as.c: Likewise.
27499         * lib/get-rusage-data.c: Likewise.
27500         * lib/getpagesize.c: Likewise.
27501         * lib/javaexec.c: Likewise.
27502         * lib/msvc-inval.c: Likewise.
27503         * lib/msvc-nothrow.c: Likewise.
27504         * lib/nanosleep.c: Likewise.
27505         * lib/nonblocking.c: Likewise.
27506         * lib/printf-parse.c: Likewise.
27507         * lib/setlocale.c: Likewise.
27508         * lib/sigaction.c: Likewise.
27509         * lib/strerror_r.c: Likewise.
27510         * lib/tmpdir.c: Likewise.
27511         * lib/vasnprintf.c: Likewise.
27512         * lib/w32spawn.h: Likewise.
27513         * lib/waitpid.c: Likewise.
27514         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
27515         * m4/locale-ar.m4: Likewise.
27516         * m4/locale-fr.m4: Likewise.
27517         * m4/locale-ja.m4: Likewise.
27518         * m4/locale-tr.m4: Likewise.
27519         * m4/locale-zh.m4: Likewise.
27520         * m4/printf.m4: Likewise.
27521         * tests/test-cloexec.c: Likewise.
27522         * tests/test-copy-acl.sh: Likewise.
27523         * tests/test-copy-file.sh: Likewise.
27524         * tests/test-file-has-acl.sh: Likewise.
27525         * tests/test-set-mode-acl.sh: Likewise.
27526         * tests/test-dup-safer.c: Likewise.
27527         * tests/test-dup2.c: Likewise.
27528         * tests/test-dup3.c: Likewise.
27529         * tests/test-fcntl.c: Likewise.
27530         * tests/test-nonblocking-pipe.h: Likewise.
27531         * tests/test-nonblocking-socket.h: Likewise.
27532         * tests/test-pipe.c: Likewise.
27533         * tests/test-pipe2.c: Likewise.
27534         * tests/test-spawn-pipe-child.c: Likewise.
27535         * doc/acl-resources.txt: Likewise.
27536         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27537         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
27538         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
27539         * lib/localcharset.c: Update comments to mention native Windows.
27540         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27541         * lib/localename.c: Likewise.
27542         * lib/progreloc.c: Likewise.
27543         * lib/relocatable.c: Likewise.
27544         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
27545         (windows_compute_revents): Renamed from win32_compute_revents.
27546         (windows_compute_revents_socket): Renamed from
27547         win32_compute_revents_socket.
27548         * lib/select.c: Update comments to mention native Windows.
27549         (windows_poll_handle): Renamed from win32_poll_handle.
27550         * m4/threadlib.m4: Update comments to mention native Windows.
27551         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
27552         --enable-threads=windows instead of --enable-threads=win32. Set
27553         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
27554         * lib/glthread/lock.h: Update comments to mention native Windows.
27555         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
27556         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
27557         USE_WIN32_THREADS.
27558         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
27559         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
27560         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
27561         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
27562         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
27563         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
27564         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
27565         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
27566         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
27567         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
27568         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
27569         * tests/test-tls.c: Likewise.
27570         Rationale:
27571         Microsoft renamed the "Win32 API" to "Windows API", as it is available
27572         on both 32-bit and 64-bit Windows systems.
27573         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
27574         line of distinction is between "native Windows" on one side and Unix/
27575         POSIX systems on the other side. More details in
27576         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
27577         Suggested by Paul Eggert.
27579 2012-01-03  Bruno Haible  <bruno@clisp.org>
27581         isatty: Support for MSVC 9.
27582         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
27583         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
27584         (_isatty_nothrow): New function.
27585         (isatty): Use it instead of _isatty.
27586         (IsConsoleHandle): Add comment, from Paolo Bonzini.
27587         * lib/poll.c (IsConsoleHandle): Likewise.
27588         * lib/select.c (IsConsoleHandle): Likewise.
27589         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
27590         (gl_PREREQ_ISATTY): New macro.
27591         * modules/isatty (Depends-on): Add msvc-inval.
27592         (configure.ac): Invoke gl_PREREQ_ISATTY.
27594 2012-01-03  Jim Meyering  <meyering@redhat.com>
27596         maint.mk: remove temporary transition aid from over 1.5 years ago
27597         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
27598         purpose was to aid in the transition (avoiding silent malfunction)
27599         from that old name to the new _sc_search_regexp.  This shim was
27600         added by commit 219c504b.
27602         init.sh: do not try to accommodate compare arguments starting with "-"
27603         * tests/init.sh (compare_dev_null_): Do not try to accommodate
27604         compare arguments that start with "-".  Besides, we do not worry
27605         about this when invoking diff or cmp; why start now with sed?
27606         Using "--" to separate options from argument would trigger sed
27607         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
27608         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
27610 2012-01-02  Bruno Haible  <bruno@clisp.org>
27612         Enhance tests for module 'isatty'.
27613         * modules/isatty-tests (Depends-on): Add pipe-posix.
27614         * tests/test-isatty.c: Include <fcntl.h>.
27615         (DEV_NULL): New macro.
27616         (main): Test the resut of isatty() also on regular files, pipes, and
27617         /dev/null.
27619         New module 'isatty'.
27620         * lib/unistd.in.h (isatty): New declaration.
27621         * lib/isatty.c: New file, based on an idea of
27622         Bastien Roucariès <roucaries.bastien@gmail.com>.
27623         * m4/isatty.m4: New file.
27624         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
27625         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
27626         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
27627         REPLACE_ISATTY.
27628         * modules/isatty: New file.
27629         * doc/posix-functions/isatty.texi: Mention the new module.
27630         Suggested by Paolo Bonzini.
27632 2012-01-02  Bruno Haible  <bruno@clisp.org>
27634         canonicalize: Tweak 2011-12-29 commit.
27635         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
27636         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
27638 2012-01-02  Jim Meyering  <meyering@redhat.com>
27640         gitlog-to-changelog: describe input syntax in --help output
27641         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
27643         gitlog-to-changelog: fix typo in --help: show backslash before email @
27644         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
27645         in sources, but not in actual output.
27647 2011-12-30  Jim Meyering  <meyering@redhat.com>
27649         gitlog-to-changelog: don't malfunction when name contains %-directive
27650         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
27651         in a name string cause trouble.  E.g., with a user name of "%s",
27652         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
27654 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
27656         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
27657         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
27658         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
27659         the "  (tiny change)" notation that is appended to the standard
27660         ChangeLog "date  name  email" header line.
27662 2012-01-01  Jim Meyering  <meyering@redhat.com>
27664         test-framework-sh: init.sh: fix "make dist" failure
27665         When using gnulib-tool's --with-tests option and any module that
27666         depends on test-framework-sh, "make dist" would fail due to the
27667         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
27668         in the gltests directory, and not in the gllib/ directory.
27669         One way to work around that is to move the EXTRA_DIST += init.sh
27670         from the primary module to the -tests one:
27671         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
27672         * modules/test-framework-sh (Makefile.am): ...not here.
27673         Reported by Tom G. Christensen in
27674         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
27676         version-etc: update copyright year reported by --version
27677         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
27679 2011-12-31  Pádraig Brady  <P@draigBrady.com>
27681         canonicalize: only stat() if required
27682         * lib/canonicalize.c (canonicalize_filename_mode):
27683         Avoid calling l?stat() when both CAN_MISSING,
27684         and CAN_NOLINKS are set, as we neither need
27685         to resolve symlinks or test component existence.
27687 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
27689         doc: cover st_ino issues once; add OpenVMS etc.
27690         * doc/posix-functions/stat.texi (stat):
27691         * doc/posix-functions/lstat.texi (lstat):
27692         * doc/posix-functions/fstatat.texi (fstatat):
27693         * doc/posix-functions/fstat.texi (fstat):
27694         Move general 'struct stat' stuff to sys_stat.texi,
27695         leaving behind a pointer.
27696         * doc/posix-headers/sys_stat.texi (sys/stat.h):
27697         Merge duplicate info about 'struct stat' problems into here.
27698         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
27699         and suggest partial workarounds.
27701         same-inode: port to OpenVMS
27702         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
27703         three st_ino values.
27705 2011-12-30  Pádraig Brady  <P@draigBrady.com>
27707         canonicalize: fix references to stat() and lstat()
27708         * lib/canonicalize.c (canonicalize_filename_mode):
27709         Ensure references always resolve to a replacement
27710         function if required (even via a macro).
27712 2011-12-30  Jim Meyering  <meyering@redhat.com>
27714         gitlog-to-changelog: remove a little duplication
27715         * build-aux/gitlog-to-changelog (main): Grep @lines once,
27716         rather than twice.
27718 2011-12-29  Pádraig Brady  <P@draigBrady.com>
27720         canonicalize: add support for not resolving symlinks
27721         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
27722         indicate we don't want to follow symlinks.  Also
27723         provide CAN_MODE_MASK to aid setting these existing
27724         mutually exclusive values.
27725         * lib/canonicalize.c (canonicalize_filename_mode):
27726         Extract the flags from can_mode parameter, which
27727         are currently just used to select between stat()
27728         and lstat().  Also ensure that mutually exclusive
27729         values are flagged immediately as invalid.
27730         * tests/test-canonicalize.c: Verify symlinks are
27731         not followed, and that invalid flag combinations
27732         are diagnosed.
27734 2011-12-25  Jim Meyering  <meyering@redhat.com>
27736         gitlog-to-changelog: do not clump multi-paragraph entries
27737         Identical header lines (date,name,email+coauthors) are suppressed,
27738         thus putting all entries with those same characteristics under
27739         a single header.  However, when a log entry consists of two or
27740         more paragraphs, it may not be clear where it starts and ends.
27741         This change makes it so that such an entry is always separated
27742         from others by a header line, even when that header would
27743         otherwise be suppressed.
27744         * build-aux/gitlog-to-changelog: Implement the above.
27745         Inspired by a related request from Stefano Lattarini in
27746         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
27748 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27750         announce-gen: fix `cmd' typo in diagnostic
27751         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
27752         diagnostic: a missing '$' meant that the command was not output.
27754 2011-12-23  Jim Meyering  <meyering@redhat.com>
27756         test-framework-sh: distribute init.sh
27757         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
27758         Otherwise, "make -C gnulib-tests check" (at least in grep) would
27759         fail due to the lack of init.sh.
27761         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
27762         * modules/atexit-tests: Rather than listing tests/init.sh,
27763         now that there's a module for it, simply depend on that new module.
27764         * modules/closein-tests: Likewise.
27765         * modules/exclude-tests: Likewise.
27766         * modules/getcwd-tests: Likewise.
27767         * modules/perror-tests: Likewise.
27768         * modules/pread-tests: Likewise.
27769         * modules/pwrite-tests: Likewise.
27770         * modules/vc-list-files-tests: Likewise.
27771         * modules/verify-tests: Likewise.
27772         * modules/xalloc-die-tests: Likewise.
27773         * modules/xstrtoimax-tests: Likewise.
27774         * modules/xstrtol-tests: Likewise.
27775         * modules/xstrtoll-tests: Likewise.
27776         * modules/xstrtoumax-tests: Likewise.
27777         * modules/yesno-tests: Likewise.
27779 2011-12-22  Jim Meyering  <meyering@redhat.com>
27781         test-framework-sh: add minimal tests of init.sh's compare function
27782         * modules/test-framework-sh-tests: New file.
27783         * tests/test-init.sh: New file.
27785         test-framework-sh: new module
27786         * modules/test-framework-sh: New file.
27787         * MODULES.html.sh (Support for maintaining and releasing projects):
27788         List it.
27790         init.sh: do not emit simulated diff output to stderr
27791         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
27793 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
27795         .gitignore: ignore gnulib.dvi and regex.info
27796         * doc/.gitignore:add gnulib.dvi and regex.info
27798 2011-12-22  Jim Meyering  <meyering@redhat.com>
27800         init.sh: correct previous change
27801         * tests/init.sh (compare): My previous change was wrong.
27802         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
27804         init.sh: avoid unwarranted test failure when using "set -e"
27805         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
27806         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
27807         a use like "compare exp out" would get evoke an unconditional failure.
27809 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
27811         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
27812         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
27813         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
27814         autoreconf that did not.
27815         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
27816         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
27818 2011-12-17  Jim Meyering  <meyering@redhat.com>
27820         bootstrap: remove some now-unneeded code
27821         This script arose back when gnulib-tool was young.
27822         Since then, it has seen improvements that render much of this
27823         script unnecessary.  In particular, it can now make symlinks
27824         to the files it uses.  Also, I no longer see as much value in
27825         marking files as read-only via comments.
27826         If you relied on the symlink-creation feature of the preceding
27827         version of this script, you can get most of that functionality
27828         by adding the --symlink option to the definition of
27829         gnulib_tool_option_extras in your bootstrap.conf file.
27830         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
27831         Run autopoint and libtoolize *before* gnulib-tool.
27832         After it, run an abbreviated autoreconf, rather than a loop around
27833         all tools.
27834         (slirp, bt_mark_as_generated): Remove functions.
27836 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27838         ftoastr: fix typo
27839         * lib/ftoastr.h: Fix misspelling in comment.
27841 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
27843         * top/README-release: fix punctuation.
27845 2011-12-17  Jim Meyering  <meyering@redhat.com>
27847         bootstrap: correct the recent buildreq change
27848         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
27849         had no effect.
27850         * build-aux/bootstrap (buildreq): Bracket each search term with
27851         "*...*", so that the shell "case" statement works as intended.
27852         Add comments.
27854 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
27856         build: let bootstrap resort to wget when downloading .po files
27857         * build-aux/bootstrap (download_po_files): Fallback to wget when
27858         downloading the .po files via rsync fails.  This is necessary to
27859         bootstrap from behind a strict firewall.
27861 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27863         stdint: don't assume C++11 when compiling with g++
27864         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
27865         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
27866         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
27867         work also in C++ before C++11, as that improperly inhibits
27868         generating a substitute stdint.h for that case.
27870 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
27872         alloca: protect comment from gnulib-tool
27873         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
27874         that gnulib-tool doesn't think it's a license, and munge it to
27875         say "GCC version 3".
27877 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
27879         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
27880         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
27881         $(abs_top_builddir) instead of $(top_builddir).
27883 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
27885         strftime-tests: also test nanoseconds
27886         * tests/test-strftime.c (T): Add a test of %N.
27888 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
27890         inttypes, stdint: add C++11 support
27891         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
27892         when including inttypes.h and stdint.h.  Support this change to
27893         the standard.
27894         * doc/posix-headers/inttypes.texi (inttypes.h):
27895         * doc/posix-headers/stdint.texi (stdint.h): Document this.
27896         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
27897         Define if not defined already, for the benefit of pre-C++11 hosts.
27898         Define the standard format macros (e.g., PRId8) always.
27899         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
27900         Likewise, if __cpluspus.  Define the standard constant and limit
27901         macros (e.g., INT8_C, INT8_MAX) always.
27902         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
27903         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
27904         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
27905         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
27906         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
27907         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
27908         Likewise.
27910 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
27912         nonblocking tests: Fix test failure on Linux/PPC.
27913         Suggested by Prerna Saxena in
27914         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
27915         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
27916         Set to 1100000.
27918 2011-12-12  Jim Meyering  <meyering@redhat.com>
27920         argmatch: don't hard-code `' when listing valid option arguments
27921         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
27922         use the quote function to add quotes.  Use fputs rather than
27923         fprintf for the format string with no format directive.
27925 2011-12-07  Eric Blake  <eblake@redhat.com>
27927         bootstrap: detect tools required by gnulib-tool
27928         * build-aux/bootstrap (buildreq): Provide minimum implicit
27929         dependencies.
27930         * DEPENDENCIES: Mention patch as a prereq.
27932 2011-12-04  Bruno Haible  <bruno@clisp.org>
27934         sethostname: Port to Windows platforms.
27935         * lib/sethostname.c: Provide an alternate implementation for Windows
27936         platforms.
27937         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
27938         (main): Skip the test if sethostname() fails with EPERM. On Windows
27939         platforms, don't check the result of gethostname().
27941 2011-12-04  Bruno Haible  <bruno@clisp.org>
27942             Jim Meyering  <meyering@redhat.com>
27944         tests: Avoid spurious error message on platforms without mktemp program.
27945         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
27947 2011-12-04  Bruno Haible  <bruno@clisp.org>
27949         sethostname: Fix documentation.
27950         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
27951         "not fixed" section.
27953 2011-12-03  Bruno Haible  <bruno@clisp.org>
27955         gnulib-tool: Verify that the License field is present and non-empty.
27956         * gnulib-tool (func_get_license_raw): New function, extracted from
27957         func_get_license.
27958         (func_get_license): Use it. Warn if the module is not a test module and
27959         has no license.
27960         Suggested by Jim Meyering.
27962 2011-12-03  Bruno Haible  <bruno@clisp.org>
27964         sethostname tests: Fix link error on mingw.
27965         * tests/test-sethostname1.c: New file, extracted from
27966         tests/test-sethostname.c.
27967         * tests/test-sethostname2.c: New file, extracted from
27968         tests/test-sethostname.c.
27969         * tests/test-sethostname.c: Remove file.
27970         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
27971         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
27972         (Depends-on): Add gethostname.
27973         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
27974         Link the latter with $(GETHOSTNAME_LIB).
27976         sethostname tests: Fix compilation error on mingw.
27977         * tests/test-sethostname.c: Don't include <sys/types.h>.
27978         (geteuid): Use a dummy value without uid_t.
27979         * modules/sethostname-tests (Depends-on): Remove sys_types.
27981         sethostname tests: Avoid a gcc warning.
27982         * tests/test-sethostname.c (main): Remove an unused variable.
27984         Tweak last commit.
27985         * modules/sethostname-tests (Files): Sort by decreasing importance.
27986         (configure.ac): Check for geteuid.
27987         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
27988         the test when there's nothing to test. Drop an unnecessary cast.
27989         Improve an error message. Verify that the final sethostname() call
27990         succeeds.
27992 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
27994         Add a test suite for the sethostname module.
27995         * modules/sethostname-tests: New file.  A test program
27996         for the sethostname module.
27997         * tests/test-sethostname.c: Likewise.
27999 2011-12-03  Bruno Haible  <bruno@clisp.org>
28001         Tweak last commit.
28002         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
28003         Fix preprocessor directives indentation. Fix typos.
28004         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
28005         * modules/unistd (Makefile): Likewise.
28007 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28009         Integrate the sethostname module into unistd.
28010         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
28011         into the unistd.h header.
28012         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
28013         preprocessor directives.
28014         * modules/unistd: Setup the Makefile substitutions of the
28015         SETHOSTNAME preprocessor directives.
28017 2011-12-03  Bruno Haible  <bruno@clisp.org>
28019         Tweak last commit.
28020         * lib/sethostname.c: Don't include <string.h>.
28021         (sethostname): No need to copy the argument string to the stack. Don't
28022         call clearerr. Preserve errno when fprintf failed.
28023         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
28024         Don't invoke AC_REPLACE_FUNCS.
28025         * modules/sethostname (Link): Remove empty section.
28026         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
28027         failure problem.
28029 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28031         New module 'sethostname'.
28032         * lib/sethostname.c (sethostname): New file.  Provide sethostname
28033         for systems that lack it.
28034         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
28035         sethostname declaration and function.
28036         * modules/sethostname: New file.  Define the sethostname module.
28038 2011-12-03  Bruno Haible  <bruno@clisp.org>
28040         Tweak last commit.
28041         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
28043 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
28045         Split the HOST_NAME_MAX detection into a separate m4 macro.
28046         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
28047         macro so it can be used by the pending sethostname module.
28049 2011-12-03  Bruno Haible  <bruno@clisp.org>
28051         Fix module descriptions syntax.
28052         * modules/argv-iter (License): Fix syntax.
28053         * modules/di-set (License): Likewise.
28054         * modules/ino-map (License): Likewise.
28055         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
28057 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
28059         stdalign: port to Clang 3.0
28060         Problem reported by Simon Josefsson in
28061         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
28062         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
28063         which has <stdalign.h> but which does not define alignof.
28064         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
28066 2011-12-01  Eric Blake  <eblake@redhat.com>
28068         mktempd: silence dd usage
28069         * build-aux/mktempd (rand_bytes): Silence dd.
28071 2011-11-30  Simon Josefsson  <simon@josefsson.org>
28073         manywarnings: Don't mention gcc version in docstring.
28074         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
28075         Jim Meyering <meyering@redhat.com>.
28077 2011-11-30  Jim Meyering  <meyering@redhat.com>
28079         hash: mark a few floating point constants with "f" suffix
28080         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
28081         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
28082         floating point constants with "f", since they're destined to be
28083         saved/used as "float"s.
28085 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
28087         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
28088         * tests/test-float.c (test_long_double): Correct and re-enable the
28089         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
28091 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
28093         Avoid subtracting two pointers that don't point into the same block.
28094         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
28095         only pointers into the same memory block are subtracted. We cannot
28096         assume that sizeof (ptrdiff_t) == sizeof (void *).
28098 2011-11-29  Eric Blake  <eblake@redhat.com>
28100         maint.mk: add syntax check for use of compare from init.sh
28101         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
28102         moved here from coreutils.
28104         manywarnings: drop -Wunsuffixed-float-constants
28105         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
28106         '1.0D', which is the only way to silence this warning for 'double'.
28108 2011-11-29  Jim Meyering  <meyering@redhat.com>
28110         hash: mark compute_bucket_size with the pure attribute
28111         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
28113         quotearg, propername: correct pragma guard expression
28114         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
28115         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
28117 2011-11-28  Jim Meyering  <meyering@redhat.com>
28119         propername: do not mark proper_name with the const attribute
28120         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
28121         since it examines data pointed to by its parameter.
28122         * lib/propername.c (proper_name): Instead, add a pragma to suppress
28123         the suggestion from -Wsuggest-attribute=const.
28125         propername: mark one more function as const
28126         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
28128 2011-11-27  Jim Meyering  <meyering@redhat.com>
28130         mark functions with const and pure attributes
28132         Mark functions per suggestions from gcc-4.6 when using these options:
28133         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
28134         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
28135         Follow these guidelines: when possible, apply the attribute to
28136         an extern declaration, not to its definition.  Apply it to the
28137         definition only when the definition is static.
28138         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
28139         * lib/argv-iter.h (argv_iter_n_args): Likewise.
28140         * lib/base64.h (isbase64): Likewise.
28141         * lib/basename-lgpl.c (last_component, base_len): Likewise.
28142         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
28143         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
28144         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
28145         (c_tolower, c_toupper): Likewise.
28146         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
28147         * lib/chdir-long.c (find_non_slash): Likewise.
28148         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
28149         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
28150         * lib/file-type.h (file_type): Likewise.
28151         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
28152         * lib/filevercmp.c (verrevcmp): Likewise.
28153         * lib/freadahead.h (freadahead): Likewise.
28154         * lib/fts.c (fts_maxarglen): Likewise.
28155         * lib/hash-pjw.h (hash_pjw): Likewise.
28156         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
28157         * lib/hash.c (is_prime, next_prime): Likewise.
28158         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
28159         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
28160         (hash_table_ok, hash_get_first, hash_string): Likewise.
28161         (compute_bucket_size): Likewise.
28162         * lib/i-ring.h (i_ring_empty): Likewise.
28163         * lib/isnan.c (isnanl): Likewise.
28164         * lib/math.h (isnanl, rpl_isnanl): Likewise.
28165         * lib/memcasecmp.h (memcasecmp): Likewise.
28166         * lib/memchr2.h (memchr2): Likewise.
28167         * lib/memcmp2.h (memcmp2): Likewise.
28168         * lib/parse-datetime.y (lookup_zone): Likewise.
28169         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
28170         [!WINDOWS_SOCKETS]: Likewise.
28171         * lib/strnlen1.h (strnlen1): Likewise.
28172         * lib/uniwidth.in.h (uc_width): Likewise.
28173         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
28174         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
28175         (quoting_options_from_style): Add a comment.
28176         * lib/propername.h (proper_name): Add a comment.
28178 2011-11-27  Bruno Haible  <bruno@clisp.org>
28180         Remove unused macros from !_LIBC code in glibc-borrowed files.
28181         * lib/fnmatch.c (STRCOLL): Remove macro.
28182         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
28183         * lib/glob.c (__stat, __readdir64): Remove macros.
28184         * lib/tempname.c (__open64, __xstat64): Remove macros.
28185         Suggested by Paul Eggert.
28187 2011-11-27  Bruno Haible  <bruno@clisp.org>
28189         getcwd: Fix link error on MSVC 9.
28190         * modules/getcwd (Depends-on): Add readdir, rewinddir.
28192 2011-11-27  Bruno Haible  <bruno@clisp.org>
28194         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
28195         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
28196         HAVE_OPENDIR is 0.
28197         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
28198         HAVE_CLOSEDIR is 0.
28199         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
28200         is 0.
28201         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
28203 2011-11-27  Bruno Haible  <bruno@clisp.org>
28205         getcwd: Fix bug from 2011-08-17.
28206         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
28207         platforms that need it.
28208         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
28209         code of 4 to be a failure, not a success. This ensures that
28210         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
28212 2011-11-27  Bruno Haible  <bruno@clisp.org>
28214         binary-io tests: Avoid test failure on mingw when libtool is used.
28215         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
28216         Don't verify the size of t-bin-out1.tmp here.
28217         * tests/test-binary-io.sh: Verify it here.
28218         Reported by Simon Josefsson.
28220 2011-11-26  Bruno Haible  <bruno@clisp.org>
28222         Fix conflict between two instantiations of module 'unistd'.
28223         * gnulib-tool (func_emit_autoconf_snippet): Substitute
28224         ${include_guard_prefix} also in the autoconf snippet.
28225         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
28226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
28227         GNULIB_UNISTD_H_GETOPT.
28228         * modules/getopt-posix (configure.ac): Set the
28229         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
28230         * modules/getopt-gnu (configure.ac): Likewise.
28231         * modules/unistd (Makefile.am): Change the substitution value of
28232         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
28233         Reported by Simon Josefsson.
28235 2011-11-25  Bruno Haible  <bruno@clisp.org>
28237         pagealign_alloc: Doc and comments.
28238         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
28239         module.
28240         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
28242 2011-11-25  Jim Meyering  <meyering@redhat.com>
28244         test-update-copyright.sh: avoid false-positive failure
28245         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
28246         around false positive failure on Cygwin/Windows.  The latter was
28247         matching erroneously-created files with names like
28248         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
28250 2011-11-25  Simon Josefsson  <simon@josefsson.org>
28252         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
28253         * m4/valgrind-tests.m4: Check that the parameters that will be
28254         used works, not just a subset of them.  Reported by Bruno Haible
28255         <bruno@clisp.org>.
28257 2011-11-24  Jim Meyering  <meyering@redhat.com>
28259         test-stdalign.c: comment out long double tests
28260         * tests/test-stdalign.c: Don't try to reduce alignment of long double
28261         variables.  That provokes errors like this from gcc-4.7.0 20111124:
28262         error: '_Alignas' specifiers cannot reduce alignment of \
28263         'static_longdouble_alignas'.
28265 2011-11-22  Jim Meyering  <meyering@redhat.com>
28267         init.sh: make "compare /dev/null FILE" output more readable
28268         * tests/init.sh (compare_): Document the preferred order of arguments.
28269         (emit_diff_u_header_): New function.
28270         (compare_dev_null_): Emit a simulated diff, rather than just the
28271         contents of the unexpected file.  Suggestion from Bruno Haible.
28273 2011-11-21  Jim Meyering  <meyering@redhat.com>
28274             Eric Blake  <eblake@redhat.com>
28276         init.sh: work around OSF/1 5.1's mishandling of /dev/null
28277         * tests/init.sh: Make our compare function slightly more portable.
28278         Reported by Bruno Haible in
28279         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
28281 2011-11-21  Simon Josefsson  <simon@josefsson.org>
28283         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
28284         before using it, in code that ends up in config.h.
28286 2011-11-20  Bruno Haible  <bruno@clisp.org>
28288         getcwd: Work around getcwd bug on AIX 5..7.
28289         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
28290         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
28291         Use a different value for gl_cv_func_getcwd_path_max. Move the
28292         definition of HAVE_PARTLY_WORKING_GETCWD from here...
28293         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
28294         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
28295         Define HAVE_MINIMALLY_WORKING_GETCWD.
28296         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
28297         where it is not even minimally working, that is, on AIX.
28298         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
28299         m4/getcwd-path-max.m4.
28300         (main): Update exit code computation.
28301         * doc/posix-functions/getcwd.texi: Mention list of platforms where
28302         getcwd does not handle long file names.
28304 2011-11-20  Bruno Haible  <bruno@clisp.org>
28306         getcwd: Fix bug from 2009-09-10.
28307         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
28308         like "no".
28310 2011-11-20  Simon Josefsson  <simon@josefsson.org>
28312         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
28314 2011-11-20  Bruno Haible  <bruno@clisp.org>
28316         fma tests: Avoid shadowing local variables.
28317         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
28318         expected.
28320 2011-11-20  Bruno Haible  <bruno@clisp.org>
28322         copysignf tests: Fix.
28323         * tests/test-copysignf.c: Fix signature check.
28325 2011-11-20  Bruno Haible  <bruno@clisp.org>
28327         fma: Remove unused code.
28328         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
28329         unused macros.
28331 2011-11-20  Bruno Haible  <bruno@clisp.org>
28333         sethostname: Fix doc about AIX.
28334         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
28335         sethostname; it has it.
28337         sethostname: Mention more portability problems.
28338         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
28339         problem.
28340         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
28342 2011-11-19  Bruno Haible  <bruno@clisp.org>
28344         Depend on module fcntl-h when AT_FDCWD is used.
28345         * modules/utimens (Depends-on): Add fcntl-h.
28346         * modules/areadlinkat (Depends-on): Likewise.
28347         * modules/areadlinkat-with-size (Depends-on): Likewise.
28348         * modules/faccessat (Depends-on): Likewise.
28349         * modules/fchmodat (Depends-on): Likewise.
28350         * modules/fchownat (Depends-on): Likewise.
28351         * modules/getcwd (Depends-on): Likewise.
28352         * modules/mkdirat (Depends-on): Likewise.
28353         * modules/mkfifoat (Depends-on): Likewise.
28354         * modules/readlinkat (Depends-on): Likewise.
28355         * modules/symlinkat (Depends-on): Likewise.
28356         * modules/dup2-tests (Depends-on): Likewise.
28357         * modules/fdutimensat-tests (Depends-on): Likewise.
28358         * modules/futimens-tests (Depends-on): Likewise.
28360 2011-11-19  Bruno Haible  <bruno@clisp.org>
28362         euidaccess: Update a comment.
28363         * lib/euidaccess.c: Update comment about platforms with faccessat.
28365 2011-11-19  Bruno Haible  <bruno@clisp.org>
28367         openat: Fix file list.
28368         * modules/openat (Files): Remove lib/at-func.c.
28370 2011-11-19  Bruno Haible  <bruno@clisp.org>
28372         fstatat: Simplify.
28373         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
28374         gnulib should define rpl_fstatat, there is a
28375         "#define fstatat rpl_fstatat" in <sys/stat.h>.
28377 2011-11-19  Bruno Haible  <bruno@clisp.org>
28379         Ensure 'inline' can be used in tests/test-utimens-common.h.
28380         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
28381         * modules/futimens-tests (configure.ac): Likewise.
28382         * modules/utimens-tests (configure.ac): Likewise.
28383         * modules/utimensat-tests (configure.ac): Likewise.
28385 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28387         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
28388         not hash_insert0.
28389         (hash_insert_if_absent): Doc fix.
28391 2011-11-19  Simon Josefsson  <simon@josefsson.org>
28393         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
28395 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28397         test-getcwd: disambiguate exit status
28398         * tests/test-getcwd.c (test_long_name): Return 0..7.
28399         (main): Exit with an unambiguous exit status.  The old
28400         code yielded a mysterious mixture of two failure codes.
28402         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
28403         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
28404         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
28405         rpl_fstatat or fstatat.  This should fix the other problem
28406         reported by Kai Habel in
28407         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28408         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
28409         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
28410         and I reproduced it on a Solaris 8 host we still have in production.
28412 2011-11-18  Jim Meyering  <meyering@redhat.com>
28414         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
28415         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
28416         Add a sentence to the comment.
28417         (hash_insert0): New function that simply calls hash_insert_if_absent.
28418         * lib/hash.h (hash_insert_if_absent): Declare it.
28419         (hash_insert0): Add deprecation attribute.
28420         (_GL_ATTRIBUTE_DEPRECATED): Define.
28421         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
28422         not hash_insert0.
28423         * NEWS: Mention it, even though it's not really an incompatible change.
28425 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
28427         openat: avoid compilation failure due to lack of <errno.h> inclusion
28428         * lib/openat.c: Include <errno.h>.
28430 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28432         * modules/getcwd (Depends-on): Add fdopendir.
28433         This fixes one of the two problems reported by Kai Habel in
28434         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
28436         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
28437         stdalign problem reported by Ian Beckwith in
28438         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
28439         * modules/crypto/gc-arcfour (Depends-on):
28440         Depend conditionally on crypto/arcfour.
28441         * modules/crypto/gc-arctwo (Depends-on):
28442         Depend conditionally on crypto/arctwo.
28443         * modules/crypto/gc-des (Depends-on):
28444         Depend conditionally on crypto/des.
28445         * modules/crypto/gc-hmac-md5 (Depends-on):
28446         Depend conditionally on crypto/hmac-md5.
28447         * modules/crypto/gc-hmac-sha1 (Depends-on):
28448         Depend conditionally on crypto/hmac-sha1.
28449         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
28450         * modules/crypto/gc-md4 (Depends-on):
28451         Depend conditionally on crypto/md4.
28452         * modules/crypto/gc-md5 (Depends-on):
28453         Depend conditionally on crypto/md5.
28454         * modules/crypto/gc-rijndael (Depends-on):
28455         Depend conditionally on crypto/rijndael.
28456         * modules/crypto/gc-sha1 (Depends-on):
28457         Depend conditionally on crypto/sha1.
28458         * modules/crypto/gc-arcfour:
28459         * modules/crypto/gc-arctwo:
28460         * modules/crypto/gc-des:
28461         * modules/crypto/gc-hmac-md5:
28462         * modules/crypto/gc-hmac-sha1:
28463         * modules/crypto/gc-md2:
28464         * modules/crypto/gc-md4:
28465         * modules/crypto/gc-md5:
28466         * modules/crypto/gc-rijndael:
28467         * modules/crypto/gc-sha1:
28468         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
28469         now that the conditional dependencies do the work for us.
28471 2011-11-17  Jim Meyering  <meyering@redhat.com>
28473         tests: factor st_ctime-comparison out of two headers
28474         * tests/test-utimens-common.h (ctime_compare): Define.
28475         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
28476         * tests/test-lutimens.h (test_lutimens): Likewise.
28477         * tests/test-utimens.h (test_utimens): Likewise.
28479         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
28480         Invoke the test program via an init.sh-using wrapper.
28481         * tests/test-getcwd.sh: New file.
28482         * modules/getcwd-tests (Files): Add it.
28483         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
28485 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
28487         gitlog-to-changelog: support multi-author commits.
28488         The FSF cares about keeping track of all authors of patches to its
28489         projects, but Git doesn't provide obvious support for multi-author
28490         changesets. Consensus seems to be forming around the use of extra
28491         Signed-off-by inspired lines in the log message formatted as
28492         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
28493         multi-author commits between version control systems.
28494         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
28495         log message and output in standard ChangeLog multi-author format.
28496         Reported by Peter Rosin <peda@lysator.liu.se>
28498 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
28499             Bruno Haible  <bruno@clisp.org>
28501         Fix some modules' file list.
28502         * modules/fstatat (Files): Add m4/lstat.m4.
28503         * modules/openat (Files): Likewise.
28504         * modules/unlinkat (Files): Likewise.
28506 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
28508         maint.mk: fix tight-scope.mk generation in VPATH builds.
28509         * top/maint.mk (tight-scope.mk): Make sure to prefix file
28510         reference with $(srcdir) so that the file is found correctly even
28511         when running `make syntax-check' in a VPATH build.
28513 2011-11-13  Bruno Haible  <bruno@clisp.org>
28514             Jim Meyering  <meyering@redhat.com>
28516         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
28517         * tests/init.sh (compare): Remove "No differences encountered" or
28518         synonymous output from the 'diff' program.
28520 2011-11-13  Bruno Haible  <bruno@clisp.org>
28522         Makefile: Tweak indentation.
28523         * Makefile: Use tab as first character in every line that contains rule
28524         commands.
28526 2011-11-13  Bruno Haible  <bruno@clisp.org>
28528         Syntax check for copyright statements.
28529         * check-copyright: New file.
28530         * Makefile (sc_check_copyright): New rule.
28532 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28534         * build-aux/git-version-gen: Add --prefix to configure the tag
28535         match string.
28537 2011-11-13  Simon Josefsson  <simon@josefsson.org>
28539         * build-aux/git-version-gen: Add --help and --version.
28541 2011-11-12  Jim Meyering  <meyering@redhat.com>
28543         revamp the other test-exclude?.sh scripts to use init.sh, too
28544         * tests/test-exclude1.sh: Use init.sh.
28545         * tests/test-exclude2.sh: Likewise.
28546         * tests/test-exclude3.sh: Likewise.
28547         * tests/test-exclude4.sh: Likewise.
28548         * tests/test-exclude5.sh: Likewise.
28549         * tests/test-exclude6.sh: Likewise.
28550         * tests/test-exclude7.sh: Likewise.
28551         * tests/test-exclude8.sh: Likewise.
28552         * modules/exclude-tests (Files): List init.sh.
28554         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
28555         These shell scripts ignored failure of the binary test-exclude,
28556         so making the latter return 77 didn't cause them to be skipped.
28557         * tests/test-exclude5.sh: Exit with test-exclude's error status
28558         when that program fails.  Revamp to use init.sh.
28559         * tests/test-exclude2.sh: Likewise.
28561         test-exclude: fix a typo
28562         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
28564 2011-11-11  Bruno Haible  <bruno@clisp.org>
28566         obstack: Fix compilation error on MSVC 9.
28567         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
28569 2011-11-11  Jim Meyering  <meyering@redhat.com>
28571         test-exclude: skip tests rather than failing on deficient systems
28572         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
28573         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
28574         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
28575         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
28577 2011-11-10  Bruno Haible  <bruno@clisp.org>
28579         ptsname_r test: Avoid gcc warning on glibc systems.
28580         * tests/test-ptsname_r.c (null_ptr): New function.
28581         (test_errors): Use it.
28583 2011-11-10  Bruno Haible  <bruno@clisp.org>
28585         ptsname_r: Avoid compilation error on OSF/1 5.1.
28586         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
28587         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
28588         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
28589         function is not declared or incompatibly declared.
28590         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
28591         * modules/ptsname_r (Depends-on, configure.ac): Update.
28592         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
28594 2011-11-10  Bruno Haible  <bruno@clisp.org>
28596         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
28597         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
28598         When cross-compiling, guess yes on all platforms except AIX.
28599         Reported by Ludovic Courtès <ludo@gnu.org>.
28601 2011-11-09  Bruno Haible  <bruno@clisp.org>
28603         ptsname_r tests: Fix bugs.
28604         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
28605         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
28607 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
28609         fstatat: work with cross-compilation
28610         Problem reported by Ludovic Courtès in
28611         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
28612         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
28613         "cross-compiling" and assume the bug is present.  Replace
28614         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
28615         an inverted sense, to be more conservative about our assumptions.
28616         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
28618 2011-11-09  Bruno Haible  <bruno@clisp.org>
28620         Improve MODULES.html output.
28621         * modules/mkfifoat (Description): Use the word "function".
28622         * modules/readlinkat (Description): Likewise.
28623         * modules/symlinkat (Description): Likewise.
28625 2011-11-09  Eric Blake  <eblake@redhat.com>
28627         ptsname_r-tests: new test module
28628         * modules/ptsname_r-tests: New module.
28629         * tests/test-ptsname_r.c: New file.
28631         ptsname_r: new module
28632         * modules/ptsname_r: New module.
28633         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
28634         * lib/ptsname.c (__ptsname_r): Split...
28635         * lib/ptsname_r.c: ...into new file.
28636         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
28637         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
28638         * modules/stdlib (Makefile.am): Substitute witnesses.
28639         * lib/stdlib.in.h (ptsname_r): Declare it.
28640         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
28641         * MODULES.html.sh (Misc): Likewise.
28642         * modules/ptsname (Depends-on): Alter dependency.
28643         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
28645 2011-11-09  Jim Meyering  <meyering@redhat.com>
28647         announce-gen: be more concise when there's only one URL+tarball
28648         * build-aux/announce-gen (get_tool_versions): When you distribute
28649         only one type of tarball, combine the first two "Here are..."
28650         sections and make the key-checking grammar independent of
28651         how many tarballs there are.
28653 2011-11-09  Eric Blake  <eblake@redhat.com>
28655         openpty: provide a stub on mingw
28656         * lib/pty.in.h (includes): Provide forward declarations.
28657         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
28659         raise: fix mingw handling of SIGPIPE
28660         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
28662 2011-11-08  Bruno Haible  <bruno@clisp.org>
28664         More conditional dependencies.
28665         * modules/faccessat (Depends-on): Add conditions.
28666         * modules/fchmodat (Depends-on): Likewise.
28667         * modules/fchownat (Depends-on): Likewise.
28668         * modules/fstatat (Depends-on): Likewise.
28669         * modules/mkfifoat (Depends-on): Likewise.
28670         * modules/readlinkat (Depends-on): Likewise.
28671         * modules/symlinkat (Depends-on): Likewise.
28672         * modules/unlinkat (Depends-on): Likewise.
28673         * modules/utimensat (Depends-on): Likewise.
28674         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
28675         * modules/linkat (Depends-on): Refine the conditions.
28676         * modules/renameat (Depends-on): Likewise.
28678 2011-11-08  Bruno Haible  <bruno@clisp.org>
28680         faccessat: Move AC_LIBOBJ invocation to module description.
28681         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
28682         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
28683         invocation from here...
28684         * modules/faccessat (configure.ac): ... to here. Invoke
28685         gl_PREREQ_FACCESSAT.
28687 2011-11-08  Bruno Haible  <bruno@clisp.org>
28689         faccessat: Simplify autoconf macro.
28690         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
28691         gl_FUNC_EUIDACCESS.
28693 2011-11-08  Bruno Haible  <bruno@clisp.org>
28695         renameat: Fix dependencies.
28696         * modules/renameat (Depends-on): Add stdbool.
28698 2011-11-08  Bruno Haible  <bruno@clisp.org>
28700         mkfifoat: Fix module description.
28701         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
28702         not gl_UNISTD_MODULE_INDICATOR.
28704 2011-11-08  Bruno Haible  <bruno@clisp.org>
28706         fstatat: Remove unused dependency.
28707         * modules/fstatat (Depends-on): Remove fstat.
28709 2011-11-08  Simon Josefsson  <simon@josefsson.org>
28711         GNUmakefile: behave when Makefile is missing.
28712         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
28714 2011-11-08  Bruno Haible  <bruno@clisp.org>
28716         openat: Conditionalize dependencies.
28717         * lib/openat.c: Reduce the scope of some #includes.
28718         * modules/openat (Depends-on): Add conditions.
28720 2011-11-07  Jim Meyering  <meyering@redhat.com>
28722         maint.mk: extract GPG key ID without using a temporary file
28723         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
28724         without using a temporary file.  Based on a suggestion from Werner Koch
28725         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
28727 2011-11-07  Eric Blake  <eblake@redhat.com>
28729         grantpt: fix typo
28730         * lib/stdlib.in.h (grantpt): Check correct function.
28732         maint.mk: silence new syntax check
28733         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
28735 2011-11-06  Bruno Haible  <bruno@clisp.org>
28737         Doc about floating-point and math API.
28738         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
28739         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
28741 2011-11-06  Bruno Haible  <bruno@clisp.org>
28743         stdalign tests: Skip the test when compiled by Sun C.
28744         * tests/test-stdalign.c (main): Skip the test on Sun C.
28746 2011-11-06  Bruno Haible  <bruno@clisp.org>
28748         ansi-c++-opt: Complete the 2011-06-05 change.
28749         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
28750         does not support namespaces, set the variable to "no", not to ":".
28752 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
28754         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
28756 2011-11-06  Bruno Haible  <bruno@clisp.org>
28758         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
28759         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
28760         (minus_zerol) [HP-UX]: New macro.
28761         (unary_minus) [HP-UX]: New function.
28762         (copysignl) [HP-UX]: Use unary_minus function.
28764 2011-11-06  Bruno Haible  <bruno@clisp.org>
28766         ldexp, ldexpf, ldexpl: Enhance tests.
28767         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
28768         and tests/test-ldexpl.c.
28769         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
28770         LDEXP, MIN_EXP, MAX_EXP): New macros.
28771         Include test-ldexp.h.
28772         (main): Just call test_function.
28773         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
28774         infinity.h, nan.h.
28775         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28776         MAX_EXP): New macros.
28777         Include test-ldexp.h.
28778         (x, y): Remove variables.
28779         (main): Just call test_function.
28780         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
28781         infinity.h, nan.h.
28782         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
28783         MAX_EXP): New macros.
28784         Include test-ldexp.h.
28785         (x, y): Remove variables.
28786         (main): Just call test_function.
28787         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
28788         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
28789         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28790         (Depends-on): Add isnand-nolibm, signbit, float.
28791         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
28792         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
28793         (Depends-on): Add isnanf-nolibm, signbit, float.
28795 2011-11-06  Bruno Haible  <bruno@clisp.org>
28797         math tests: Cosmetics.
28798         * tests/test-math-c++.cc: Reorder declarations.
28800 2011-11-05  Bruno Haible  <bruno@clisp.org>
28802         fma*: Simplify test.
28803         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
28804         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
28806         Tests for module 'fmal'.
28807         * modules/fmal-tests: New file.
28808         * tests/test-fmal1.c: New file.
28809         * tests/test-fmal2.c: New file.
28811         New module 'fmal'.
28812         * lib/math.in.h (fmal): New declaration.
28813         * lib/fmal.c: New file.
28814         * m4/fmal.m4: New file.
28815         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
28816         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
28817         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
28818         REPLACE_FMAL.
28819         * modules/fmal: New file.
28820         * doc/posix-functions/fmal.texi: Mention the new module and the various
28821         bugs.
28823         Tests for module 'fmaf'.
28824         * modules/fmaf-tests: New file.
28825         * tests/test-fmaf1.c: New file.
28826         * tests/test-fmaf2.c: New file.
28828         New module 'fmaf'.
28829         * lib/math.in.h (fmaf): New declaration.
28830         * lib/fmaf.c: New file.
28831         * m4/fmaf.m4: New file.
28832         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
28833         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
28834         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
28835         REPLACE_FMAF.
28836         * modules/fmaf: New file.
28837         * doc/posix-functions/fmaf.texi: Mention the new module and the various
28838         bugs.
28840         Tests for module 'fma'.
28841         * modules/fma-tests: New file.
28842         * tests/test-fma1.c: New file.
28843         * tests/test-fma1.h: New file.
28844         * tests/test-fma2.c: New file.
28845         * tests/test-fma2.h: New file.
28847         New module 'fma'.
28848         * lib/math.in.h (fma): New declaration.
28849         * lib/fma.c: New file.
28850         * m4/fma.m4: New file.
28851         * m4/fegetround.m4: New file.
28852         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
28853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
28854         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
28855         REPLACE_FMA.
28856         * modules/fma: New file.
28857         * doc/posix-functions/fma.texi: Mention the new module and the various
28858         bugs.
28860         Extend gl_MATHFUNC.
28861         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
28862         Support 'void' as argument type.
28863         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
28865 2011-11-05  Jim Meyering  <meyering@redhat.com>
28867         maint.mk: also prohibit inclusion of dirent.h without use
28868         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
28870 2011-11-05  Bruno Haible  <bruno@clisp.org>
28872         ldexpl tests: Avoid test failure on MSVC 9.
28873         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
28874         value. Needed in order to enforce the conversion from a value greater
28875         than LDBL_MAX to Infinity.
28877 2011-11-05  Bruno Haible  <bruno@clisp.org>
28879         New modules 'at-internal', 'openat-h', split off from module 'openat'.
28880         * modules/at-internal: New file, extracted from modules/openat.
28881         * modules/openat-h: New file.
28882         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
28883         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
28884         * modules/openat (Description): Add reference to POSIX function.
28885         (Files): Remove lib/openat.h, lib/openat-proc.c.
28886         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
28887         intprops, unistd.
28888         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
28889         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
28890         gl_FCNTL_MODULE_INDICATOR.
28891         (Include): Remove unistd.h, openat.h.
28892         * modules/areadlinkat (Files): Add lib/at-func.c.
28893         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28894         openat-die, openat-h, save-cwd.
28895         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
28896         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28897         openat-die, openat-h, save-cwd, unistd.
28898         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
28899         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28900         openat-h, save-cwd. Remove fcntl-h, openat.
28901         * modules/fchmodat (Files): Remove lib/openat.h.
28902         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28903         openat, stdbool, unistd.
28904         * modules/fchownat (Files): Remove lib/openat.h.
28905         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28906         openat, stdbool, sys_stat.
28907         * modules/fdopendir (Files): Remove lib/openat-priv.h,
28908         lib/openat-proc.c.
28909         (Depends-on): Add at-internal.
28910         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
28911         * modules/fstatat (Files): Remove lib/openat.h.
28912         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28913         stdbool, unistd.
28914         * modules/fts (Depends-on): Add openat-h.
28915         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
28916         openat.
28917         * modules/mkdirat (Files): Remove lib/openat.h.
28918         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
28919         openat, stdbool, sys_stat.
28920         * modules/mkfifoat (Files): Add lib/at-func.c.
28921         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28922         openat-h, save-cwd. Remove fcntl-h, openat.
28923         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
28924         * modules/readlinkat (Files): Add lib/at-func.c.
28925         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28926         openat-h, save-cwd. Remove fcntl-h, openat.
28927         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
28928         openat.
28929         * modules/selinux-at (Files): Add lib/at-func.c.
28930         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
28931         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
28932         * modules/symlinkat (Files): Add lib/at-func.c.
28933         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
28934         openat-h, save-cwd. Remove fcntl-h, openat.
28935         * modules/unlinkat (Files): Remove lib/openat.h.
28936         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
28937         stdbool.
28938         * modules/utimensat (Files): Add lib/at-func.c.
28939         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
28940         openat-die, openat-h, save-cwd.
28941         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
28942         * modules/fdutimensat-tests (Depends-on): Add openat.
28943         * modules/fstatat-tests (Depends-on): Add openat-h.
28944         * modules/readlinkat-tests (Depends-on): Add openat.
28945         * modules/symlinkat-tests (Depends-on): Add openat.
28947 2011-11-05  Bruno Haible  <bruno@clisp.org>
28949         openat: Include <stdbool.h>.
28950         * lib/openat.c: Include <stdbool.h>.
28952 2011-11-04  Bruno Haible  <bruno@clisp.org>
28954         fchownat, renameat, unlinkat: Fix dependencies.
28955         * modules/fchownat (Depends-on): Add fstatat.
28956         * modules/renameat (Depends-on): Likewise.
28957         * modules/unlinkat (Depends-on): Likewise.
28959 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28961         openat: remove direct dependency on dirent
28962         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
28963         and hasn't been needed ever since fdopendir was split into its own
28964         module on 2009-08-31.
28965         * modules/openat (Depends-on): Remove dirent.
28967 2011-11-04  Bruno Haible  <bruno@clisp.org>
28969         renameat: Optimize code size.
28970         * modules/renameat (configure.ac): Don't compile at-func2.c if
28971         REPLACE_RENAMEAT is 1.
28973 2011-11-04  Bruno Haible  <bruno@clisp.org>
28975         openat tests: Fix file list.
28976         * modules/openat-tests (Files): Add tests/test-open.h.
28978 2011-11-04  Bruno Haible  <bruno@clisp.org>
28980         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
28981         * modules/fchmodat (Depends-on): Add openat-die.
28982         * modules/fchownat (Depends-on): Likewise.
28983         * modules/linkat (Depends-on): Likewise.
28984         * modules/renameat (Depends-on): Likewise.
28985         * modules/openat (Depends-on): Add dirent.
28987 2011-11-04  Jim Meyering  <meyering@redhat.com>
28989         at-func*.c: fix comments
28990         * lib/at-func2.c: Correct/improve first-line comment.
28991         * lib/at-func.c: Correct grammar in first-line comment.
28993 2011-11-04  Bruno Haible  <bruno@clisp.org>
28995         New module 'mkdirat', split off from module 'openat'.
28996         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
28997         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
28998         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
28999         * modules/mkdirat: New file, extracted from modules/openat.
29000         * modules/openat (Files): Remove lib/mkdirat.c.
29001         (Depends-on): Remove mkdir.
29002         (configure.ac): Remove AC_LIBOBJ of mkdirat.
29003         (Include): Remove <sys/stat.h>.
29004         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
29005         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
29006         tests/test-mkdir.h.
29007         (Depends-on): Remove ignore-value.
29008         (Makefile.am): Remove rules for test-mkdirat.
29009         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
29010         of module 'openat'.
29011         * NEWS: Mention the change.
29013 2011-11-04  Bruno Haible  <bruno@clisp.org>
29015         closedir: Avoid warning on mingw.
29016         * lib/closedir.c: Include <unistd.h>.
29018 2011-11-04  Bruno Haible  <bruno@clisp.org>
29020         New module 'fstatat', split off from module 'openat'.
29021         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
29022         defined.
29023         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
29024         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
29025         gl_FUNC_FSTATAT.
29026         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
29027         * modules/fstatat: New file, extracted from modules/openat.
29028         * modules/openat (Files): Remove lib/fstatat.c.
29029         (Depends-on): Remove lstat.
29030         (configure.ac): Remove AC_LIBOBJ of fstatat.
29031         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
29032         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
29033         tests/test-lstat.h, tests/test-stat.h.
29034         (Depends-on): Remove getcwd-lgpl.
29035         (Makefile.am): Remove rules for test-fstatat.
29036         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
29037         of module 'openat'.
29038         * NEWS: Mention the change.
29039         * modules/getcwd (Depends-on): Add fstatat.
29040         * modules/linkat (Depends-on): Likewise.
29041         * modules/mkfifoat-tests (Depends-on): Likewise.
29042         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
29044 2011-11-03  Bruno Haible  <bruno@clisp.org>
29046         New module 'unlinkat', split off from module 'openat'.
29047         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
29048         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
29049         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
29050         * modules/unlinkat: New file, extracted from modules/openat. Correct
29051         the dependency conditions.
29052         * modules/openat (Files): Remove lib/unlinkat.c.
29053         (Depends-on): Remove rmdir, unlink.
29054         (configure.ac): Remove AC_LIBOBJ of unlinkat.
29055         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
29056         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
29057         tests/test-rmdir.h, tests/test-unlink.h.
29058         (Depends-on): Remove unlinkdir.
29059         (Makefile.am): Remove rules for test-unlinkat.
29060         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
29061         of module 'openat'.
29062         * NEWS: Mention the change.
29063         * modules/linkat-tests (Depends-on): Add unlinkat.
29064         * modules/mkfifoat-tests (Depends-on): Likewise.
29065         * modules/readlinkat-tests (Depends-on): Likewise.
29067 2011-11-02  Bruno Haible  <bruno@clisp.org>
29069         New module 'fchmodat', split off from module 'openat'.
29070         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
29071         defined.
29072         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
29073         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
29074         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
29075         * modules/fchmodat: New file, extracted from modules/openat.
29076         * modules/openat (Files): Remove lib/fchmodat.c.
29077         (configure.ac): Remove AC_LIBOBJ of fchmodat.
29078         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
29079         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
29080         (Makefile.am): Remove rules for test-fchmodat.
29081         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
29082         of module 'openat'.
29083         * NEWS: Mention the change.
29085 2011-11-02  Jim Meyering  <meyering@redhat.com>
29087         putenv: indent #definition of "environ" to placate cppi
29088         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
29090         gitlog-to-changelog: provide a ChangeLog-repair mechanism
29091         Git logs are often treated as immutable, because editing them
29092         changes the SHA1 checksums of all descendants.  Thus, errors in
29093         git logs tend to stay there forever.  However, when we generate
29094         a ChangeLog file -- typically for distribution -- from that git log,
29095         we can actually make corrections in the generated file.  The key
29096         lies in recording in machine-readable/applicable form the desired
29097         corrections.  See --help for description and an example.
29098         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
29099         (usage): Describe it; alphabetize option descriptions.
29100         (main): Honor the new option, carefully.
29102 2011-11-01  Jim Meyering  <meyering@redhat.com>
29104         gitlog-to-changelog: avoid an infloop
29105         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
29106         that ends up being empty.
29108 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29110         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
29111         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
29112         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
29113         contains (possibly-quoted) backslashes.  This should avoid
29114         all-too-common shell bugs if COMPLICATED contains backslashes in
29115         the "wrong" places.  Reported by David Evans in
29116         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
29117         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
29118         because we want ASCII ranges.  Is there some reason we don't use
29119         the C locale everywhere in this script?
29120         (func_module, top level): Avoid unwanted pathname expansion when
29121         $repo_url_prefix or $repo_url_suffix_repl contain shell
29122         metacharacters like '?' and '*'.
29124 2011-11-01  Bruno Haible  <bruno@clisp.org>
29126         fchownat: Improve description.
29127         * modules/fchownat (Description): Add link to function.
29129 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
29131         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
29132         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
29133         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
29134         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
29136 2011-11-01  Bruno Haible  <bruno@clisp.org>
29138         alignof: Avoid collision with stdalign module.
29139         * lib/alignof.h (alignof): Remove macro.
29140         * NEWS: Mention the change.
29141         Reported by Paul Eggert.
29143 2011-11-01  Bruno Haible  <bruno@clisp.org>
29145         New module 'fchownat', split off from module 'openat'.
29146         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
29147         defined.
29148         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
29149         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
29150         invoke gl_FUNC_FCHOWNAT.
29151         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
29152         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
29153         * modules/fchownat: New file, extracted from modules/openat.
29154         * modules/openat (Files): Remove lib/fchownat.c.
29155         (Depends-on): Remove lchown.
29156         (configure.ac): Remove AC_LIBOBJ of fchownat.
29157         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
29158         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
29159         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
29160         (Depends-on): Remove mgetgroups, usleep, stat-time.
29161         (configure.ac): Remove test for getegid.
29162         (Makefile.am): Remove rules for test-fchownat.
29163         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
29164         of module 'openat'.
29165         * NEWS: Mention the change.
29167 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
29169         stdalign: port better to MSVC and to Sun C 5.11
29170         This fixes some of the problems reported by Bruno Haible in
29171         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
29172         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
29173         shortcomings of MSVC and of Sun C 5.11.
29174         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
29175         around __declspec arg.
29176         * modules/stdalign-tests (Files): Add tests/macros.h.
29177         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
29178         Include macros.h, for ASSERT.
29179         (DECLARE_ALIGNED): Remove.
29180         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
29181         to catch bug), and to 1 if not (simplifies the rest of the code).
29182         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
29183         (CHECK_AUTO): Remove.
29184         (CHECK_ALIGNED): Check only the alignment of the static vars,
29185         since auto var alignment isn't supported by Sun C 5.11.
29186         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
29187         ASSERT failures are easier to diagnose.
29189 2011-10-31  Bruno Haible  <bruno@clisp.org>
29191         doc about some IRIX 5.3 problems.
29192         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
29193         on IRIX 5.3.
29194         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
29195         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
29196         5.3.
29197         * doc/posix-functions/grantpt.texi: Likewise.
29198         * doc/posix-functions/unlockpt.texi: Likewise.
29199         * doc/posix-functions/lgamma.texi: Likewise.
29200         * doc/posix-functions/nextafter.texi: Likewise.
29201         * doc/posix-functions/remainder.texi: Likewise.
29202         * doc/posix-functions/select.texi: Mention misplaced declaration on
29203         IRIX 5.3.
29204         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29206 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
29208         gitlog-to-changelog: fix git-log invocation.
29209         git-log mishandles date strings before 1970-01-01 UTC, and there is
29210         no use to specify --since=1970-01-01 by default anyway.
29211         * build-aux/gitlog-to-changelog: By default, when no --since option
29212         was given, do not specify explicit --since option to git-log.
29214 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
29216         gitlog-to-changelog: new option --append-dot.
29217         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
29218         first non-blank line of each commit message terminated with a dot.
29220 2011-10-30  Bruno Haible  <bruno@clisp.org>
29222         ffsl, ffsll: Avoid compilation error due to 'restrict'.
29223         * lib/ffsl.h: Include <config.h>.
29224         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
29226 2011-10-30  Jim Meyering  <meyering@redhat.com>
29228         GNUmakefile: reenable "make syntax-check" for most projects
29229         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
29230         build-aux variable", "syntax-check" would do nothing but succeed with
29231         the "No version control files detected..." diagnostic (unless you
29232         happened to override _build-aux via cfg.mk).
29233         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
29234         to precede inclusion of maint.mk.  Otherwise, these variables would
29235         be used undefined in any project that does not override the default.
29237 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
29239         gitlog-to-changelog: treat a message with only blank lines as empty.
29240         * build-aux/gitlog-to-changelog: Move the code that removes leading and
29241         trailing blank lines before the code that issues a warning about an
29242         empty commit message.
29244 2011-10-30  Jim Meyering  <meyering@redhat.com>
29246         test-parse-datetime.c: avoid new DST-related false positive test failure
29247         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
29248         based on the time/date we'll convert, not the current time.
29249         Otherwise, the moment we cross a DST boundary like today's in
29250         Europe, (CEST to CET), that offset ends up being one hour off.
29252 2011-10-27  Bruno Haible  <bruno@clisp.org>
29254         fstat: Tweak documentation.
29255         * modules/fstat (Description): More precise description.
29257 2011-10-27  Bruno Haible  <bruno@clisp.org>
29259         Update documentation regarding 'largefile' module.
29260         * doc/posix-functions/fstat.texi: Tweak wording.
29261         * doc/posix-functions/opendir.texi: Mention that the module fixes the
29262         problems with huge directories and/or small ino_t types.
29263         * doc/posix-functions/readdir.texi: Likewise.
29264         * doc/posix-functions/rewinddir.texi: Likewise.
29266 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
29268         maint.mk: don't maintain a second build-aux variable.
29269         * maint.mk (build_aux): Removed.  The maintainer-makefile module
29270         depends on GNUmakefile, which already maintains a cfg.mk
29271         overridable $(_build-aux) for projects with a non-standard
29272         build-aux directory location, although without the $(srcdir)
29273         prefix.  Use that variable consistently instead of introducing a
29274         second one.  Adjust all call sites.
29276 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
29278         Add stdalign module and use it in other modules.
29279         This is based on a previous proposal by Bruno Haible
29280         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
29282         stdalign: new module
29283         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
29284         * modules/stdalign: New files.
29285         * MODULES.html.sh (c1x_core_properties): Add stdalign.
29286         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
29288         stdalign-tests: new module
29289         * modules/stdalign-tests, tests/test-stdalign.c: New files.
29291         argp: use stdalign
29292         * lib/argp-parse.c: Include <stdalign.h>.
29293         (alignof): Remove.
29294         * modules/argp (Depends-on): Add stdalign.
29296         crypto libraries: use stdalign
29297         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
29298         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
29299         Do not include <stdlib.h> twice, in md4.c.
29300         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
29301         because we are accessing a pointer's bit-pattern, not a size.
29302         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
29303         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
29304         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
29305         * modules/crypto/sha512: Likewise.
29307         sys_socket: use stdalign, not alignof
29308         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
29309         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
29311 2011-10-27  Bruno Haible  <bruno@clisp.org>
29313         raise test: Avoid a test failure on Linux/MIPS.
29314         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
29315         because 99 is a valid signal on Linux/MIPS.
29317 2011-10-27  Bruno Haible  <bruno@clisp.org>
29319         nonblocking tests: Fix test failure on Linux/MIPS.
29320         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
29321         Set to 270000.
29323 2011-10-27  Bruno Haible  <bruno@clisp.org>
29325         utimensat: Work around problem on Linux/hppa.
29326         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
29327         values.
29328         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
29330 2011-10-25  Jim Meyering  <meyering@redhat.com>
29332         maint.mk: fix a bug in sc_prohibit_stddef_without_use
29333         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
29334         after symbols like NULL, size_t, etc.
29335         Reported by Alfred M. Szmidt.
29337         maint.mk: exempt ENODATA from a syntax-check rule
29338         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
29339         from the sc_prohibit_always-defined_macros syntax-check rule.
29340         Add a comment.  See this for more details:
29341         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
29343 2011-10-23  Jim Meyering  <meyering@redhat.com>
29345         fts: close parent dir FD before returning from post-traversal fts_read
29346         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
29347         unlink A, even though an FD open on A remained.  This is suboptimal
29348         (holding a file descriptor open longer than needed), but otherwise not
29349         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
29350         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
29351         that represents a real problem: it causes the removal of A to fail
29352         with e.g., "rm: cannot remove `A': Device or resource busy"
29354         fts visits each directory twice and keeps a cache (fts_fd_ring) of
29355         directory file descriptors.  After completing the final, FTS_DP,
29356         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
29357         cache, but then proceeded to add a new FD to it via the subsequent
29358         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
29359         final file descriptor would be closed only via fts_close's call to
29360         fd_ring_clear.  Now, it is usually closed earlier, via the final
29361         FTS_DP-returning fts_read call.
29362         * lib/fts.c (restore_initial_cwd): New function, converted from
29363         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
29364         Update callers.
29365         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
29366         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
29368 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
29369             Bruno Haible  <bruno@clisp.org>
29370             Jim Meyering  <jim@meyering.net>
29372         readme-release: improve safety of release prep instructions.
29373         * README-release: Don't git pull all branches when only master
29374         is needed for the release process.
29375         Run make maintainer-clean before changing trees and merging.
29376         Don't try to run ./configure right after git pull in case files
29377         that influence the bootstrap process have changed, move the
29378         ./configure step to after running ./bootstrap.
29379         Don't bootstrap "one last time"... it's the first time!
29381 2011-10-22  Bruno Haible  <bruno@clisp.org>
29383         errno, strerror-override: Support for MSVC 10.
29384         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
29385         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
29386         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
29387         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
29388         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
29389         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
29390         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
29391         Assign values compatible with MSVC 10.
29392         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
29393         New macros.
29394         (GNULIB_defined_EWINSOCK): New macro.
29395         * lib/strerror-override.c (strerror_override): Update accordingly.
29396         * lib/strerror-override.h: Likewise.
29397         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
29398         longer equal to the corresponding errno value.
29399         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29401 2011-10-22  Bruno Haible  <bruno@clisp.org>
29403         perror: Recognize when test program crashes.
29404         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
29405         strerror, set gl_cv_func_perror_works to no.
29406         Reported by Daniel Richard G. <skunk@iskunk.org>.
29408         perror: Fix indentation.
29409         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
29411 2011-10-22  Bruno Haible  <bruno@clisp.org>
29413         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
29414         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
29415         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
29416         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
29417         functions, not as a macro.
29418         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
29419         macros.
29420         (isfinite, isinf, isnan, signbit): Check overloaded functions and
29421         absence of macro.
29422         Suggested by Eric Blake.
29423         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
29425 2011-10-21  Bruno Haible  <bruno@clisp.org>
29427         relocatable-prog-wrapper: Don't leave object files behind.
29428         * build-aux/install-reloc: Re-synchronize list of .o files to be
29429         removed with list of compilation units.
29431 2011-10-20  Bruno Haible  <bruno@clisp.org>
29433         openpty, posix_openpt: Remove code duplication.
29434         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
29435         * lib/openpty.c: Include <stdlib.h>.
29436         (openpty): Use posix_openpt on all platforms except IRIX.
29437         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
29439 2011-10-20  Bruno Haible  <bruno@clisp.org>
29441         unlockpt: Detect invalid argument.
29442         * lib/unlockpt.c: Include <fcntl.h>.
29443         (unlockpt): Check whether fd is valid, using fcntl().
29444         * modules/unlockpt (Depends-on): Add fcntl-h.
29446 2011-10-20  Bruno Haible  <bruno@clisp.org>
29448         openpty: Avoid compilation error on AIX 6.1.
29449         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
29451 2011-10-20  Bruno Haible  <bruno@clisp.org>
29453         posix_openpt: Support for OpenBSD.
29454         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
29455         (posix_openpt) [OpenBSD]: New code.
29456         * lib/grantpt.c: Include <fcntl.h>.
29457         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
29458         * modules/grantpt (Depends-on): Add fcntl-h.
29460 2011-10-20  Bruno Haible  <bruno@clisp.org>
29462         posix_openpt test: Coding style.
29463         * tests/test-posix_openpt.c: Use GNU coding style.
29465 2011-10-20  Bruno Haible  <bruno@clisp.org>
29467         grantpt: Support --avoid=pt_chown.
29468         * modules/grantpt (Files): Add lib/pty-private.h.
29470 2011-10-20  Bruno Haible  <bruno@clisp.org>
29472         posix_openpt: Fix autoconf macro.
29473         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
29474         unneeded check for _getpty.
29476 2011-10-20  Bruno Haible  <bruno@clisp.org>
29478         openpty: Update comments.
29479         * lib/openpty.c: Add comments about Minix.
29481 2011-10-19  Eric Blake  <eblake@redhat.com>
29483         openpty: relax license
29484         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
29486         pt_chown: use configmake to simplify build
29487         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
29489         ptsname and others: relax license
29490         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
29491         * modules/unlockpt (License): Likewise.
29492         * modules/pt_chown (License): Likewise.
29493         * modules/ptsname (License): Likewise.
29494         * modules/ttyname_r (License): Likewise.
29496 2011-10-19  Jim Meyering  <meyering@redhat.com>
29498         posix_openpt: remove spurious #endif
29499         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
29501 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
29503         maint.mk: Respect $(build_aux) in web-manual rule.
29504         * top/maint.mk (web-manual): Find gen-announce script in user's
29505         $(build_aux) directory instead of hard-coding 'build-aux'.
29507 2011-10-19  Bruno Haible  <bruno@clisp.org>
29509         posix_openpt: Fix compilation error.
29510         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
29511         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
29512         Mention the openpty module as an alternative.
29514 2011-10-19  Bruno Haible  <bruno@clisp.org>
29516         Support for old NeXTstep 3.3 frexp().
29517         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
29518         execution time of the test to 5 seconds.
29519         Reported by Daniel Richard G. <skunk@iskunk.org>.
29521 2011-10-19  Bruno Haible  <bruno@clisp.org>
29523         Support for old NeXTstep 3.3 sed.
29524         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
29525         part, use /.../, not \|...|. Escape periods in the header file name.
29526         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
29527         Reported by Daniel Richard G. <skunk@iskunk.org>.
29529 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29531         Support for old NeXTstep 3.3 gcc.
29532         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
29533         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
29534         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
29535         * lib/spawn.in.h (_Restrict_arr_): Likewise.
29536         * lib/regex.h (_Restrict_arr_): Likewise.
29537         * lib/regex_internal.h (re_token_t): Likewise.
29538         * lib/regexec.c (check_node_accept_bytes): Likewise.
29539         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
29541 2011-10-18  Eric Blake  <eblake@redhat.com>
29543         posix_openpt: new module
29544         * modules/posix_openpt: New module.
29545         * m4/posix_openpt.m4: New file.
29546         * lib/posix_openpt.c: Likewise.
29547         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
29548         (gl_STDLIB_H_DEFAULTS): Set defaults.
29549         * modules/stdlib (Makefile.am): Substitute macros.
29550         * lib/stdlib.in.h (posix_openpt): Declare.
29551         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
29552         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
29553         * modules/posix_openpt-tests: New test module.
29554         * tests/test-posix_openpt.c: New test.
29556 2011-10-15  Bruno Haible  <bruno@clisp.org>
29558         xstrtoll: Fix compilation failure.
29559         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
29560         from lib/strtol.c.
29561         * doc/posix-headers/limits.texi: Mention missing numerical limits on
29562         some platforms.
29563         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29565 2011-10-15  Bruno Haible  <bruno@clisp.org>
29567         vasnprintf: Optimize bit search operation.
29568         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
29569         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
29570         gl_DOUBLE_EXPONENT_LOCATION.
29571         * modules/vasnprintf (Files): Add m4/exponentd.m4.
29572         * modules/unistdio/u8-vasnprintf (Files): Likewise.
29573         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
29574         * modules/unistdio/u16-vasnprintf (Files): Likewise.
29575         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
29576         * modules/unistdio/u32-vasnprintf (Files): Likewise.
29577         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
29578         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
29579         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
29581 2011-10-15  Bruno Haible  <bruno@clisp.org>
29583         vasnprintf: Fix comments.
29584         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
29586 2011-10-14  Bruno Haible  <bruno@clisp.org>
29588         Tests for module 'integer_length_ll'.
29589         * modules/integer_length_ll-tests: New file.
29590         * tests/test-integer_length_ll.c: New file.
29592         New module 'integer_length_ll'.
29593         * lib/integer_length_ll.c: New file.
29594         * modules/integer_length_ll: New file.
29596 2011-10-14  Bruno Haible  <bruno@clisp.org>
29598         Tests for module 'integer_length_l'.
29599         * modules/integer_length_l-tests: New file.
29600         * tests/test-integer_length_l.c: New file.
29602         New module 'integer_length_l'.
29603         * lib/integer_length_l.c: New file.
29604         * modules/integer_length_l: New file.
29606 2011-10-14  Bruno Haible  <bruno@clisp.org>
29608         Tests for module 'integer_length'.
29609         * modules/integer_length-tests: New file.
29610         * tests/test-integer_length.c: New file.
29612         New module 'integer_length'.
29613         * lib/integer_length.h: New file.
29614         * lib/integer_length.c: New file.
29615         * modules/integer_length: New file.
29617 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29619         popen: Fix dependency conditions.
29620         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
29622 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
29624         perror: Fix autoconf test.
29625         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
29626         <stdlib.h> and <string.h>.
29628 2011-10-14  Bruno Haible  <bruno@clisp.org>
29630         ffsl: Optimize on 64-bit platforms.
29631         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
29632         unrolling.
29634 2011-10-13  Bruno Haible  <bruno@clisp.org>
29636         ffsl: Optimize on 32-bit platforms.
29637         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
29638         use ffs() without a loop.
29640         ffsl, ffsll: Optimize for GCC.
29641         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
29642         * lib/ffsl.c (GCC_BUILTIN): New macro.
29643         * lib/ffsll.c (GCC_BUILTIN): Likewise.
29645 2011-10-13  Bruno Haible  <bruno@clisp.org>
29647         ffs, bcopy, memset: Support symbol renaming via config.h.
29648         * lib/ffs.c: Include <config.h>.
29649         * lib/bcopy.c: Likewise.
29650         * lib/memset.c: Likewise.
29652 2011-10-10  Bruno Haible  <bruno@clisp.org>
29654         atanl: Simplify for platforms where 'long double' == 'double'.
29655         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29656         alternative implementation.
29657         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29658         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29659         * modules/atanl (Depends-on): Add atan. Update conditions.
29661 2011-10-10  Bruno Haible  <bruno@clisp.org>
29663         acosl: Simplify for platforms where 'long double' == 'double'.
29664         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29665         alternative implementation.
29666         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29667         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29668         * modules/acosl (Depends-on): Add acos. Update conditions.
29670 2011-10-10  Bruno Haible  <bruno@clisp.org>
29672         asinl: Simplify for platforms where 'long double' == 'double'.
29673         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29674         alternative implementation.
29675         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29676         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29677         * modules/asinl (Depends-on): Add asin. Update conditions.
29679 2011-10-10  Bruno Haible  <bruno@clisp.org>
29681         tanl: Simplify for platforms where 'long double' == 'double'.
29682         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29683         implementation.
29684         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29685         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29686         * modules/tanl (Depends-on): Add tan. Update conditions.
29687         (configure.ac): Don't compile trigl.c if
29688         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29690 2011-10-10  Bruno Haible  <bruno@clisp.org>
29692         cosl: Simplify for platforms where 'long double' == 'double'.
29693         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29694         implementation.
29695         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29696         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29697         * modules/cosl (Depends-on): Add cos. Update conditions.
29698         (configure.ac): Don't compile sincosl.c and trigl.c if
29699         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29701 2011-10-10  Bruno Haible  <bruno@clisp.org>
29703         sinl: Simplify for platforms where 'long double' == 'double'.
29704         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29705         implementation.
29706         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29707         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29708         * modules/sinl (Depends-on): Add sin. Update conditions.
29709         (configure.ac): Don't compile sincosl.c and trigl.c if
29710         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29712 2011-10-10  Bruno Haible  <bruno@clisp.org>
29714         logl: Simplify for platforms where 'long double' == 'double'.
29715         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29716         implementation.
29717         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29718         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29719         * modules/logl (Depends-on): Add log. Update conditions.
29721 2011-10-10  Bruno Haible  <bruno@clisp.org>
29723         expl: Simplify for platforms where 'long double' == 'double'.
29724         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
29725         implementation.
29726         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29727         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29728         * modules/expl (Depends-on): Add exp. Update conditions.
29730 2011-10-10  Bruno Haible  <bruno@clisp.org>
29732         sqrtl: Simplify for platforms where 'long double' == 'double'.
29733         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29734         alternative implementation.
29735         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29736         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29737         * modules/sqrtl (Depends-on): Update conditions.
29739 2011-10-10  Bruno Haible  <bruno@clisp.org>
29741         ldexpl: Simplify for platforms where 'long double' == 'double'.
29742         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29743         alternative implementation.
29744         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29745         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29746         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
29748 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
29750         ffsll: set correct witness
29751         * modules/ffsll (configure.ac): Fix typo.
29753 2011-10-10  Bruno Haible  <bruno@clisp.org>
29755         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
29756         * lib/printf-frexpl.c: Include <config.h>.
29757         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29758         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
29759         second time.
29760         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
29761         gl_LONG_DOUBLE_VS_DOUBLE.
29762         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
29763         conditions.
29765 2011-10-10  Bruno Haible  <bruno@clisp.org>
29767         frexpl: Simplify for platforms where 'long double' == 'double'.
29768         * lib/frexpl.c: Include <config.h>.
29769         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29770         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29771         time.
29772         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29773         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29774         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
29775         * modules/frexpl (Depends-on): Add frexp. Update conditions.
29776         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
29777         conditions.
29779 2011-10-10  Jim Meyering  <meyering@redhat.com>
29781         test-renameat: don't leave behind a temporary file
29782         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
29783           ERROR: files left in build directory after distclean:
29784           ./gltests/test-renameat.too
29785           make[1]: *** [distcleancheck] Error 1
29786         Reported by Tom G. Christensen.
29788 2011-10-09  Bruno Haible  <bruno@clisp.org>
29790         rint: Determine RINT_LIBM correctly on AIX 7.
29791         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
29792         directly, not only through a function pointer. Also accept an optional
29793         4th argument with extra code.
29794         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
29795         rintf() call by gcc when optimizing.
29797         mathfunc.m4: Refactor.
29798         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
29799         m4 variable.
29801 2011-10-09  Bruno Haible  <bruno@clisp.org>
29803         rintl: Simplify for platforms where 'long double' == 'double'.
29804         * lib/rintl.c: Include <config.h>.
29805         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29806         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29807         time.
29808         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29809         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29810         * modules/rintl (Depends-on): Add rint. Update conditions.
29812 2011-10-09  Bruno Haible  <bruno@clisp.org>
29814         roundl: Simplify for platforms where 'long double' == 'double'.
29815         * lib/roundl.c: Include <config.h>.
29816         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29817         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29818         time.
29819         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29820         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29821         * modules/roundl (Depends-on): Add round. Update conditions.
29823 2011-10-09  Bruno Haible  <bruno@clisp.org>
29825         truncl: Simplify for platforms where 'long double' == 'double'.
29826         * lib/truncl.c: Include <config.h>.
29827         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29828         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29829         time.
29830         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29831         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29832         * modules/truncl (Depends-on): Add trunc. Update conditions.
29834 2011-10-09  Bruno Haible  <bruno@clisp.org>
29836         ceill: Simplify for platforms where 'long double' == 'double'.
29837         * lib/ceill.c: Include <config.h>.
29838         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29839         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29840         time.
29841         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29842         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29843         * modules/ceill (Depends-on): Add ceil. Update conditions.
29845 2011-10-09  Bruno Haible  <bruno@clisp.org>
29847         floorl: Simplify for platforms where 'long double' == 'double'.
29848         * lib/floorl.c: Include <config.h>.
29849         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
29850         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
29851         time.
29852         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29853         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29854         * modules/floorl (Depends-on): Add floor. Update conditions.
29856 2011-10-09  Bruno Haible  <bruno@clisp.org>
29858         rint: Fix ordering constraints.
29859         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
29860         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
29861         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
29863 2011-10-09  Bruno Haible  <bruno@clisp.org>
29865         copysignl: Simplify for platforms where 'long double' == 'double'.
29866         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
29867         alternative.
29868         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
29869         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
29870         * modules/copysignl (Depends-on): Add copysign. Update conditions.
29872 2011-10-09  Bruno Haible  <bruno@clisp.org>
29874         Tests for module 'rintl'.
29875         * modules/rintl-tests: New file.
29876         * tests/test-rintl.c: New file.
29878         New module 'rintl'.
29879         * lib/math.in.h (rintl): New declaration.
29880         * lib/rintl.c: New file.
29881         * m4/rintl.m4: New file.
29882         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
29883         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
29884         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
29885         * modules/rintl: New file.
29886         * tests/test-math-c++.cc: Check the declaration of rintl.
29887         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29888         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
29889         * doc/posix-functions/rintl.texi: Mention the new module.
29891 2011-10-09  Bruno Haible  <bruno@clisp.org>
29893         Tests for module 'rintf'.
29894         * modules/rintf-tests: New file.
29895         * tests/test-rintf.c: New file.
29897         New module 'rintf'.
29898         * lib/math.in.h (rintf): New declaration.
29899         * lib/rintf.c: New file.
29900         * m4/rintf.m4: New file.
29901         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
29902         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
29903         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
29904         * modules/rintf: New file.
29905         * tests/test-math-c++.cc: Check the declaration of rintf.
29906         * doc/posix-functions/rintf.texi: Mention the new module.
29908 2011-10-09  Bruno Haible  <bruno@clisp.org>
29910         rint: Support for MSVC.
29911         * lib/math.in.h (rint): New declaration.
29912         * lib/rint.c: New file.
29913         * m4/rint.m4: New file.
29914         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
29915         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
29916         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
29917         * modules/rint (Description): Fix.
29918         (Files): Add lib/rint.c, m4/rint.m4.
29919         (Depends-on): Add math.
29920         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
29921         gl_MATH_MODULE_INDICATOR.
29922         * tests/test-math-c++.cc: Check the declaration of rint.
29923         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29924         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
29925         * doc/posix-functions/rint.texi: Mention the replacement provided by
29926         the module.
29928         rint tests: More tests.
29929         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
29930         minus-zero.h, infinity.h, nan.h.
29931         (main): Skip the test if the current rounding mode is not standard. Add
29932         tests for negative numbers, minus zero, infinity, NaN.
29933         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
29934         tests/nan.h.
29935         (Depends-on): Add isnand-nolibm.
29937 2011-10-09  Bruno Haible  <bruno@clisp.org>
29939         Tests for module 'copysignl'.
29940         * modules/copysignl-tests: New file.
29941         * tests/test-copysignl.c: New file.
29943         New module 'copysignl'.
29944         * lib/math.in.h (copysignl): New declaration.
29945         * lib/copysignl.c: New file.
29946         * m4/copysignl.m4: New file.
29947         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
29948         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
29949         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
29950         HAVE_COPYSIGNL.
29951         * modules/copysignl: New file.
29952         * tests/test-math-c++.cc: Check the declaration of copysignl.
29953         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
29954         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
29955         * doc/posix-functions/copysignl.texi: Mention the new module.
29957 2011-10-09  Bruno Haible  <bruno@clisp.org>
29959         Tests for module 'copysignf'.
29960         * modules/copysignf-tests: New file.
29961         * tests/test-copysignf.c: New file.
29963         New module 'copysignf'.
29964         * lib/math.in.h (copysignf): New declaration.
29965         * lib/copysignf.c: New file.
29966         * m4/copysignf.m4: New file.
29967         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
29968         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
29969         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
29970         HAVE_COPYSIGNF.
29971         * modules/copysignf: New file.
29972         * tests/test-math-c++.cc: Check the declaration of copysignf.
29973         * doc/posix-functions/copysignf.texi: Mention the new module.
29975 2011-10-09  Bruno Haible  <bruno@clisp.org>
29977         Ensure that HAVE_* variables are set to 1 before they are set to 0.
29978         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
29979         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
29980         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
29981         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
29982         gl_SIGNAL_H_DEFAULTS.
29984 2011-10-09  Bruno Haible  <bruno@clisp.org>
29986         poll: Make macro safer.
29987         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
29988         ac_cv_header_poll_h is not set.
29990 2011-10-09  Bruno Haible  <bruno@clisp.org>
29992         copysign: Provide replacement.
29993         * lib/math.in.h (copysign): New declaration.
29994         * lib/copysign.c: New file.
29995         * m4/copysign.m4: New file.
29996         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
29997         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
29998         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
29999         HAVE_COPYSIGN.
30000         * modules/copysign (Description): Clarify.
30001         (Files): Add lib/copysign.c, m4/copysign.m4.
30002         (Depends-on): Add math, signbit.
30003         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
30004         gl_MATH_MODULE_INDICATOR.
30005         * tests/test-math-c++.cc: Check the declaration of copysign.
30006         * doc/posix-functions/copysign.texi: Mention the effects of the module
30007         on Minix and MSVC.
30009 2011-10-09  Bruno Haible  <bruno@clisp.org>
30011         isinf: Ensure macro on AIX 5.1.
30012         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
30013         macro.
30014         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
30016 2011-10-09  Bruno Haible  <bruno@clisp.org>
30018         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
30019         * modules/snprintf-posix-tests (configure.ac): Require
30020         gl_LONG_DOUBLE_VS_DOUBLE.
30021         * modules/sprintf-posix-tests (configure.ac): Likewise.
30022         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
30023         * modules/vasprintf-posix-tests (configure.ac): Likewise.
30024         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
30025         * modules/vsprintf-posix-tests (configure.ac): Likewise.
30026         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
30027         tests on platforms where 'long double' is the same as 'double'.
30028         * tests/test-sprintf-posix.h (test_function): Likewise.
30029         * tests/test-vasnprintf-posix.c (test_function): Likewise.
30030         * tests/test-vasprintf-posix.c (test_function): Likewise.
30032         *printf: Fix for platforms where 'long double' == 'double'.
30033         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
30034         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
30035         * modules/dprintf-posix (Files): Add m4/math_h.m4.
30036         * modules/fprintf-posix (Files): Likewise.
30037         * modules/obstack-printf-posix (Files): Likewise.
30038         * modules/snprintf-posix (Files): Likewise.
30039         * modules/sprintf-posix (Files): Likewise.
30040         * modules/vasnprintf (Files): Likewise.
30041         * modules/vasnprintf-posix (Files): Likewise.
30042         * modules/vasprintf-posix (Files): Likewise.
30043         * modules/vdprintf-posix (Files): Likewise.
30044         * modules/vfprintf-posix (Files): Likewise.
30045         * modules/vsnprintf-posix (Files): Likewise.
30046         * modules/vsprintf-posix (Files): Likewise.
30047         * modules/unistdio/u8-vasnprintf (Files): Likewise.
30048         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
30049         * modules/unistdio/u16-vasnprintf (Files): Likewise.
30050         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
30051         * modules/unistdio/u32-vasnprintf (Files): Likewise.
30052         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
30053         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
30055         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
30056         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
30057         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
30058         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
30059         'long double'.
30060         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
30062         isinf: Fix for platforms where 'long double' == 'double'.
30063         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30064         Don't blindly assume 80-bit 'long double'.
30066         isfinite: Fix for platforms where 'long double' == 'double'.
30067         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
30068         Don't blindly assume 80-bit 'long double'.
30070         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
30071         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
30072         * modules/isfinite-tests (configure.ac): Require
30073         gl_LONG_DOUBLE_VS_DOUBLE.
30074         * modules/isinf-tests (configure.ac): Likewise.
30075         * modules/isnan-tests (configure.ac): Likewise.
30076         * modules/isnanl-tests (configure.ac): Likewise.
30077         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
30078         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
30079         tests on platforms where 'long double' is the same as 'double'.
30080         * tests/test-isinf.c (test_isinfl): Likewise.
30081         * tests/test-isnan.c (test_long_double): Likewise.
30082         * tests/test-isnanl.h (main): Likewise.
30084 2011-10-08  Bruno Haible  <bruno@clisp.org>
30086         Tests for module 'tanhf'.
30087         * modules/tanhf-tests: New file.
30088         * tests/test-tanhf.c: New file.
30090         New module 'tanhf'.
30091         * lib/math.in.h (tanhf): New declaration.
30092         * lib/tanhf.c: New file.
30093         * m4/tanhf.m4: New file.
30094         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
30095         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
30096         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
30097         * modules/tanhf: New file.
30098         * tests/test-math-c++.cc: Check the declaration of tanhf.
30099         * doc/posix-functions/tanhf.texi: Mention the new module.
30101         tanh: Use a .m4 file.
30102         * m4/tanh.m4: New file.
30103         * modules/tanh (Files): Add it.
30104         (configure.ac): Just invoke gl_FUNC_TANH.
30106 2011-10-08  Bruno Haible  <bruno@clisp.org>
30108         Tests for module 'coshf'.
30109         * modules/coshf-tests: New file.
30110         * tests/test-coshf.c: New file.
30112         New module 'coshf'.
30113         * lib/math.in.h (coshf): New declaration.
30114         * lib/coshf.c: New file.
30115         * m4/coshf.m4: New file.
30116         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
30117         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
30118         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
30119         * modules/coshf: New file.
30120         * tests/test-math-c++.cc: Check the declaration of coshf.
30121         * doc/posix-functions/coshf.texi: Mention the new module.
30123         cosh: Use a .m4 file.
30124         * m4/cosh.m4: New file.
30125         * modules/cosh (Files): Add it.
30126         (configure.ac): Just invoke gl_FUNC_COSH.
30128 2011-10-08  Bruno Haible  <bruno@clisp.org>
30130         Tests for module 'sinhf'.
30131         * modules/sinhf-tests: New file.
30132         * tests/test-sinhf.c: New file.
30134         New module 'sinhf'.
30135         * lib/math.in.h (sinhf): New declaration.
30136         * lib/sinhf.c: New file.
30137         * m4/sinhf.m4: New file.
30138         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
30139         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
30140         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
30141         * modules/sinhf: New file.
30142         * tests/test-math-c++.cc: Check the declaration of sinhf.
30143         * doc/posix-functions/sinhf.texi: Mention the new module.
30145         sinh: Use a .m4 file.
30146         * m4/sinh.m4: New file.
30147         * modules/sinh (Files): Add it.
30148         (configure.ac): Just invoke gl_FUNC_SINH.
30150 2011-10-08  Bruno Haible  <bruno@clisp.org>
30152         Tests for module 'atan2f'.
30153         * modules/atan2f-tests: New file.
30154         * tests/test-atan2f.c: New file.
30156         New module 'atan2f'.
30157         * lib/math.in.h (atan2f): New declaration.
30158         * lib/atan2f.c: New file.
30159         * m4/atan2f.m4: New file.
30160         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
30161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
30162         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
30163         * modules/atan2f: New file.
30164         * tests/test-math-c++.cc: Check the declaration of atan2f.
30165         * doc/posix-functions/atan2f.texi: Mention the new module.
30167         atan2: Use a .m4 file.
30168         * m4/atan2.m4: New file.
30169         * modules/atan2 (Files): Add it.
30170         (configure.ac): Just invoke gl_FUNC_ATAN2.
30172 2011-10-08  Bruno Haible  <bruno@clisp.org>
30174         Tests for module 'atanf'.
30175         * modules/atanf-tests: New file.
30176         * tests/test-atanf.c: New file.
30178         New module 'atanf'.
30179         * lib/math.in.h (atanf): New declaration.
30180         * lib/atanf.c: New file.
30181         * m4/atanf.m4: New file.
30182         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
30183         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
30184         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
30185         * modules/atanf: New file.
30186         * tests/test-math-c++.cc: Check the declaration of atanf.
30187         * doc/posix-functions/atanf.texi: Mention the new module.
30189         atan: Use a .m4 file.
30190         * m4/atan.m4: New file.
30191         * modules/atan (Files): Add it.
30192         (configure.ac): Just invoke gl_FUNC_ATAN.
30194 2011-10-08  Bruno Haible  <bruno@clisp.org>
30196         Tests for module 'acosf'.
30197         * modules/acosf-tests: New file.
30198         * tests/test-acosf.c: New file.
30200         New module 'acosf'.
30201         * lib/math.in.h (acosf): New declaration.
30202         * lib/acosf.c: New file.
30203         * m4/acosf.m4: New file.
30204         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
30205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
30206         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
30207         * modules/acosf: New file.
30208         * tests/test-math-c++.cc: Check the declaration of acosf.
30209         * doc/posix-functions/acosf.texi: Mention the new module.
30211         acos: Use a .m4 file.
30212         * m4/acos.m4: New file.
30213         * modules/acos (Files): Add it.
30214         (configure.ac): Just invoke gl_FUNC_ACOS.
30216 2011-10-08  Bruno Haible  <bruno@clisp.org>
30218         Tests for module 'asinf'.
30219         * modules/asinf-tests: New file.
30220         * tests/test-asinf.c: New file.
30222         New module 'asinf'.
30223         * lib/math.in.h (asinf): New declaration.
30224         * lib/asinf.c: New file.
30225         * m4/asinf.m4: New file.
30226         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
30227         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
30228         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
30229         * modules/asinf: New file.
30230         * tests/test-math-c++.cc: Check the declaration of asinf.
30231         * doc/posix-functions/asinf.texi: Mention the new module.
30233         asin: Use a .m4 file.
30234         * m4/asin.m4: New file.
30235         * modules/asin (Files): Add it.
30236         (configure.ac): Just invoke gl_FUNC_ASIN.
30238 2011-10-08  Bruno Haible  <bruno@clisp.org>
30240         Tests for module 'tanf'.
30241         * modules/tanf-tests: New file.
30242         * tests/test-tanf.c: New file.
30244         New module 'tanf'.
30245         * lib/math.in.h (tanf): New declaration.
30246         * lib/tanf.c: New file.
30247         * m4/tanf.m4: New file.
30248         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
30249         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
30250         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
30251         * modules/tanf: New file.
30252         * tests/test-math-c++.cc: Check the declaration of tanf.
30253         * doc/posix-functions/tanf.texi: Mention the new module.
30255         tan: Use a .m4 file.
30256         * m4/tan.m4: New file.
30257         * modules/tan (Files): Add it.
30258         (configure.ac): Just invoke gl_FUNC_TAN.
30260 2011-10-08  Bruno Haible  <bruno@clisp.org>
30262         Tests for module 'cosf'.
30263         * modules/cosf-tests: New file.
30264         * tests/test-cosf.c: New file.
30266         New module 'cosf'.
30267         * lib/math.in.h (cosf): New declaration.
30268         * lib/cosf.c: New file.
30269         * m4/cosf.m4: New file.
30270         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
30271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
30272         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
30273         * modules/cosf: New file.
30274         * tests/test-math-c++.cc: Check the declaration of cosf.
30275         * doc/posix-functions/cosf.texi: Mention the new module.
30277         cos: Use a .m4 file.
30278         * m4/cos.m4: New file.
30279         * modules/cos (Files): Add it.
30280         (configure.ac): Just invoke gl_FUNC_COS.
30282 2011-10-08  Bruno Haible  <bruno@clisp.org>
30284         Tests for module 'sinf'.
30285         * modules/sinf-tests: New file.
30286         * tests/test-sinf.c: New file.
30288         New module 'sinf'.
30289         * lib/math.in.h (sinf): New declaration.
30290         * lib/sinf.c: New file.
30291         * m4/sinf.m4: New file.
30292         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
30293         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
30294         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
30295         * modules/sinf: New file.
30296         * tests/test-math-c++.cc: Check the declaration of sinf.
30297         * doc/posix-functions/sinf.texi: Mention the new module.
30299         sin: Use a .m4 file.
30300         * m4/sin.m4: New file.
30301         * modules/sin (Files): Add it.
30302         (configure.ac): Just invoke gl_FUNC_SIN.
30304 2011-10-08  Bruno Haible  <bruno@clisp.org>
30306         Tests for module 'powf'.
30307         * modules/powf-tests: New file.
30308         * tests/test-powf.c: New file.
30310         New module 'powf'.
30311         * lib/math.in.h (powf): New declaration.
30312         * lib/powf.c: New file.
30313         * m4/powf.m4: New file.
30314         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
30315         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
30316         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
30317         * modules/powf: New file.
30318         * tests/test-math-c++.cc: Check the declaration of powf.
30319         * doc/posix-functions/powf.texi: Mention the new module.
30321         pow: Use a .m4 file.
30322         * m4/pow.m4: New file.
30323         * modules/pow (Files): Add it.
30324         (configure.ac): Just invoke gl_FUNC_POW.
30326 2011-10-08  Bruno Haible  <bruno@clisp.org>
30328         Tests for module 'log10f'.
30329         * modules/log10f-tests: New file.
30330         * tests/test-log10f.c: New file.
30332         New module 'log10f'.
30333         * lib/math.in.h (log10f): New declaration.
30334         * lib/log10f.c: New file.
30335         * m4/log10f.m4: New file.
30336         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
30337         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
30338         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
30339         * modules/log10f: New file.
30340         * tests/test-math-c++.cc: Check the declaration of log10f.
30341         * doc/posix-functions/log10f.texi: Mention the new module.
30343         log10: Use a .m4 file.
30344         * m4/log10.m4: New file.
30345         * modules/log10 (Files): Add it.
30346         (configure.ac): Just invoke gl_FUNC_LOG10.
30348 2011-10-08  Bruno Haible  <bruno@clisp.org>
30350         Tests for module 'logf'.
30351         * modules/logf-tests: New file.
30352         * tests/test-logf.c: New file.
30354         New module 'logf'.
30355         * lib/math.in.h (logf): New declaration.
30356         * lib/logf.c: New file.
30357         * m4/logf.m4: New file.
30358         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
30359         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
30360         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
30361         * modules/logf: New file.
30362         * tests/test-math-c++.cc: Check the declaration of logf.
30363         * doc/posix-functions/logf.texi: Mention the new module.
30365         log: Use a .m4 file.
30366         * m4/log.m4: New file.
30367         * modules/log (Files): Add it.
30368         (configure.ac): Just invoke gl_FUNC_LOG.
30370 2011-10-08  Bruno Haible  <bruno@clisp.org>
30372         Tests for module 'expf'.
30373         * modules/expf-tests: New file.
30374         * tests/test-expf.c: New file.
30376         New module 'expf'.
30377         * lib/math.in.h (expf): New declaration.
30378         * lib/expf.c: New file.
30379         * m4/expf.m4: New file.
30380         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
30381         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
30382         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
30383         * modules/expf: New file.
30384         * tests/test-math-c++.cc: Check the declaration of expf.
30385         * doc/posix-functions/expf.texi: Mention the new module.
30387         exp: Use a .m4 file.
30388         * m4/exp.m4: New file.
30389         * modules/exp (Files): Add it.
30390         (configure.ac): Just invoke gl_FUNC_EXP.
30392 2011-10-08  Bruno Haible  <bruno@clisp.org>
30394         Tests for module 'sqrtf'.
30395         * modules/sqrtf-tests: New file.
30396         * tests/test-sqrtf.c: New file.
30398         New module 'sqrtf'.
30399         * lib/math.in.h (sqrtf): New declaration.
30400         * lib/sqrtf.c: New file.
30401         * m4/sqrtf.m4: New file.
30402         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
30403         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
30404         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
30405         * modules/sqrtf: New file.
30406         * tests/test-math-c++.cc: Check the declaration of sqrtf.
30407         * doc/posix-functions/sqrtf.texi: Mention the new module.
30409 2011-10-08  Bruno Haible  <bruno@clisp.org>
30411         Tests: Avoid link failures w.r.t. libintl.
30412         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
30413         $(LIBINTL).
30414         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
30415         $(LIBINTL).
30416         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
30417         against $(LIBINTL).
30418         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
30419         $(LIBINTL).
30420         * modules/openat-tests (Makefile.am): Link test-fchmodat against
30421         $(LIBINTL).
30422         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
30424 2011-10-08  Bruno Haible  <bruno@clisp.org>
30426         pow tests: Defeat compiler optimizations.
30427         * tests/test-pow.c (main): Assign arguments to x and y before use.
30429 2011-10-08  Bruno Haible  <bruno@clisp.org>
30431         gnulib-tool: Improve last commit.
30432         * gnulib-tool (func_modules_transitive_closure): Simplify code.
30433         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
30434         ignore dependencies that are not among the modules list.
30436 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
30438         gnulib-tool: don't follow dependencies to avoided modules
30439         This fixes a bug that is related to the previous one.
30440         * gnulib-tool (func_modules_transitive_closure)
30441         (func_emit_autoconf_snippets):
30442         Check whether a dependency is acceptable before using it.
30443         (--extract-dependencies): Report an error if --avoid is also used,
30444         since this combination of options is not yet supported.
30446         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
30447         Problem reported by Peter Dyballa in
30448         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
30449         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
30450         when echoing "$condition".
30452 2011-10-07  Bruno Haible  <bruno@clisp.org>
30454         Fix documentation about math functions on MacOS X.
30455         * doc/posix-functions/exp2.texi: Don't say the function is missing on
30456         MacOS X 10.5.
30457         * doc/posix-functions/fdim.texi: Likewise.
30458         * doc/posix-functions/feclearexcept.texi: Likewise.
30459         * doc/posix-functions/fegetenv.texi: Likewise.
30460         * doc/posix-functions/fegetround.texi: Likewise.
30461         * doc/posix-functions/feholdexcept.texi: Likewise.
30462         * doc/posix-functions/feraiseexcept.texi: Likewise.
30463         * doc/posix-functions/fesetenv.texi: Likewise.
30464         * doc/posix-functions/fesetround.texi: Likewise.
30465         * doc/posix-functions/fetestexcept.texi: Likewise.
30466         * doc/posix-functions/feupdateenv.texi: Likewise.
30467         * doc/posix-functions/fmax.texi: Likewise.
30468         * doc/posix-functions/fmin.texi: Likewise.
30469         * doc/posix-functions/log2.texi: Likewise.
30470         * doc/posix-functions/modff.texi: Likewise.
30471         * doc/posix-functions/nan.texi: Likewise.
30472         * doc/posix-functions/nanf.texi: Likewise.
30473         * doc/posix-functions/nextafterf.texi: Likewise.
30474         * doc/posix-functions/remquo.texi: Likewise.
30476 2011-10-07  Bruno Haible  <bruno@clisp.org>
30478         modff: Drop assumption about library that defines modff.
30479         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
30480         AC_CHECK_FUNCS.
30481         * modules/modff (Files): Add m4/mathfunc.m4.
30483 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
30485         raise tests: Avoid a GCC warning.
30486         * tests/test-raise.c (handler): Use _Noreturn.
30488 2011-10-07  Bruno Haible  <bruno@clisp.org>
30490         Tests for module 'ldexpf'.
30491         * modules/ldexpf-tests: New file.
30492         * tests/test-ldexpf.c: New file.
30494         New module 'ldexpf'.
30495         * lib/math.in.h (ldexpf): New declaration.
30496         * lib/ldexpf.c: New file.
30497         * m4/ldexpf.m4: New file.
30498         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
30499         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
30500         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
30501         * modules/ldexpf: New file.
30502         * tests/test-math-c++.cc: Check the declaration of ldexpf.
30503         * doc/posix-functions/ldexpf.texi: Mention the new module.
30505 2011-10-06  Bruno Haible  <bruno@clisp.org>
30507         frexpf: Work around problems on IRIX and mingw.
30508         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
30509         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
30510         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
30511         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
30512         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
30513         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
30514         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
30516 2011-10-06  Bruno Haible  <bruno@clisp.org>
30518         fabsf: Drop assumption about library that defines fabsf.
30519         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
30520         AC_CHECK_FUNCS.
30521         * modules/fabsf (Files): Add m4/mathfunc.m4.
30523 2011-10-06  Bruno Haible  <bruno@clisp.org>
30525         frexpf: Drop assumption about library that defines frexpf.
30526         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
30527         'int *', 'float *', 'long double *', 'float', 'long double'.
30528         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
30529         AC_CHECK_FUNCS.
30530         * modules/frexpf (Files): Add m4/mathfunc.m4.
30532         Tests for module 'frexpf'.
30533         * modules/frexpf-tests: New file.
30534         * tests/test-frexpf.c: New file.
30536         New module 'frexpf'.
30537         * lib/math.in.h (frexpf): New declaration.
30538         * lib/frexpf.c: New file.
30539         * m4/frexpf.m4: New file.
30540         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
30541         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
30542         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
30543         * modules/frexpf: New file.
30544         * tests/test-math-c++.cc: Check the declaration of frexpf.
30545         * doc/posix-functions/frexpf.texi: Mention the new module.
30547 2011-10-06  Bruno Haible  <bruno@clisp.org>
30549         math: Sort function declarations of math.in.h.
30550         * lib/math.in.h (frexp, logb): Move declarations.
30552 2011-10-05  Bruno Haible  <bruno@clisp.org>
30554         Tests for module 'modff'.
30555         * modules/modff-tests: New file.
30556         * tests/test-modff.c: New file.
30558         New module 'modff'.
30559         * lib/math.in.h (modff): New declaration.
30560         * lib/modff.c: New file.
30561         * m4/modff.m4: New file.
30562         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
30563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
30564         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
30565         * modules/modff: New file.
30566         * tests/test-math-c++.cc: Check the declaration of modff.
30567         * doc/posix-functions/modff.texi: Mention the new module.
30569         modf tests: Make test sharper.
30570         * tests/test-modf.c (main): Strengthen upper bound.
30572         modf: Use a .m4 file.
30573         * m4/modf.m4: New file.
30574         * modules/modf (Files): Add it.
30575         (configure.ac): Just invoke gl_FUNC_MODF.
30577 2011-10-05  Bruno Haible  <bruno@clisp.org>
30579         Tests for module 'fmodf'.
30580         * modules/fmodf-tests: New file.
30581         * tests/test-fmodf.c: New file.
30583         New module 'fmodf'.
30584         * lib/math.in.h (fmodf): New declaration.
30585         * lib/fmodf.c: New file.
30586         * m4/fmodf.m4: New file.
30587         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
30588         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
30589         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
30590         * modules/fmodf: New file.
30591         * tests/test-math-c++.cc: Check the declaration of fmodf.
30592         * doc/posix-functions/fmodf.texi: Mention the new module.
30594         fmod: Use a .m4 file.
30595         * m4/fmod.m4: New file.
30596         * modules/fmod (Files): Add it.
30597         (configure.ac): Just invoke gl_FUNC_FMOD.
30599 2011-10-05  Bruno Haible  <bruno@clisp.org>
30601         Tests for module 'fabsf'.
30602         * modules/fabsf-tests: New file.
30603         * tests/test-fabsf.c: New file.
30605         New module 'fabsf'.
30606         * lib/math.in.h (fabsf): New declaration.
30607         * lib/fabsf.c: New file.
30608         * m4/fabsf.m4: New file.
30609         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
30610         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
30611         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
30612         * modules/fabsf: New file.
30613         * tests/test-math-c++.cc: Check the declaration of fabsf.
30614         * doc/posix-functions/fabsf.texi: Mention the new module.
30616         fabs: Use a .m4 file.
30617         * m4/fabs.m4: New file.
30618         * modules/fabs (Files): Add it.
30619         (configure.ac): Just invoke gl_FUNC_FABS.
30621 2011-10-05  Jim Meyering  <meyering@redhat.com>
30623         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
30624         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
30625         ls -lL regression introduced in coreutils-8.12, it does so at the
30626         cost of an additional stat call in the common case.  Besides, now
30627         that the kernel change that prompted commit 95f7c57f has been reverted
30628         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
30629         we have no use for commit 95f7c57f, "file-has-acl: use
30630         acl_extended_file_nofollow if available".
30632 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
30634         file-has-acl: revert unintended change in behavior of ls -L
30635         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
30636         derived from...
30637         (file_has_acl): ...code here.  Call it.
30638         This problem was introduced with 2011-07-22 commit 95f7c57f,
30639         "file-has-acl: use acl_extended_file_nofollow if available".
30640         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
30642 2011-10-03  Bruno Haible  <bruno@clisp.org>
30644         poll: Avoid link errors on MSVC.
30645         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
30646         * modules/poll (Depends-on): Add sockets.
30647         (Link): New section.
30648         * NEWS: Mention the change.
30649         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
30650         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
30651         $(LIB_POLL) instead of $(LIBSOCKET).
30653 2011-10-03  Bruno Haible  <bruno@clisp.org>
30655         sys_select tests: Fix link error on MSVC 9.
30656         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
30657         with $(LIB_SELECT) instead of $(LIBSOCKET).
30659 2011-10-03  Bruno Haible  <bruno@clisp.org>
30661         sys_select: Fix compilation error on mingw.
30662         * lib/sys_select.in.h: On native Windows, include <io.h>.
30664 2011-10-03  Bruno Haible  <bruno@clisp.org>
30666         wmemset: Support for MSVC.
30667         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
30668         whether wmemset() exists.
30670 2011-10-03  Bruno Haible  <bruno@clisp.org>
30672         wmemmove: Support for MSVC.
30673         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
30674         whether wmemmove() exists.
30676 2011-10-03  Bruno Haible  <bruno@clisp.org>
30678         wmemcpy: Support for MSVC.
30679         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
30680         whether wmemcpy() exists.
30682 2011-10-03  Bruno Haible  <bruno@clisp.org>
30684         wmemcmp: Support for MSVC.
30685         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
30686         whether wmemcmp() exists.
30688 2011-10-03  Bruno Haible  <bruno@clisp.org>
30690         wmemchr: Support for MSVC.
30691         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
30692         whether wmemchr() exists.
30694 2011-10-03  Bruno Haible  <bruno@clisp.org>
30696         glthread/*, strsignal: Support for MSVC.
30697         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
30698         including <winsock.h> on MSVC 9.
30699         * lib/glthread/lock.h: Likewise.
30700         * lib/glthread/thread.h: Likewise.
30701         * lib/glthread/tls.h: Likewise.
30702         * lib/glthread/yield.h: Likewise.
30703         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
30704         if HAVE_UNISTD_H is false.
30705         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
30707 2011-10-03  Bruno Haible  <bruno@clisp.org>
30709         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
30710         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
30711         Set to 100000.
30713 2011-10-03  Bruno Haible  <bruno@clisp.org>
30715         acl: Fix specification.
30716         * lib/file-has-acl.c (file_has_acl): Fix specification.
30718 2011-10-03  Bruno Haible  <bruno@clisp.org>
30720         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
30721         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
30722         (compute_curr_prefix, shared_library_fullname,
30723         find_shared_library_fullname, get_shared_library_fullname, relocate):
30724         Use it together with PIC && INSTALLDIR.
30725         Reported by <jojelino@gmail.com>
30726         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
30728 2011-10-01  Jim Meyering  <meyering@redhat.com>
30730         maint.mk: adjust a release-related rule not to require use of gzip
30731         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
30732         Instead, check each file in $(DIST_ARCHIVES).  This is better for
30733         projects that build only .tar.xz files.  Also fix an erroneous test.
30735         test-linkat: don't leave behind a temporary file
30736         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
30737         Otherwise, coreutils' "make distcheck" would fail with this:
30738           Only in /c/cu/tests/torture/coreutils/test/\
30739             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
30740           make[2]: *** [my-distcheck] Error 1
30742         float, math: add omitted file
30743         * lib/itold.c: Add file, required for yesterday's float change.
30745 2011-10-01  Bruno Haible  <bruno@clisp.org>
30747         isinf: Fix for OpenBSD/x86.
30748         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
30749         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
30750         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
30752 2011-10-01  Bruno Haible  <bruno@clisp.org>
30754         isfinite: Fix syntax error in configure test.
30755         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
30757         isfinite: Fix typo.
30758         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
30759         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
30761 2011-10-01  Bruno Haible  <bruno@clisp.org>
30763         nonblocking tests: Fix test failure on Linux/IA-64.
30764         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
30765         Set to 270000.
30767 2011-10-01  Bruno Haible  <bruno@clisp.org>
30769         mkfifoat tests: Fix a test failure on mingw.
30770         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
30771         with error ENOSYS.
30773 2011-09-30  Bruno Haible  <bruno@clisp.org>
30775         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
30776         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
30777         'long double'. Set REPLACE_ITOLD.
30778         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
30779         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
30780         * lib/itold.c: New file.
30781         * modules/float (Files): Add lib/itold.c.
30782         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
30783         (Makefile.am): Substitute REPLACE_ITOLD.
30784         * modules/math (Depends-on): Add float.
30785         (Makefile.am): Substitute REPLACE_ITOLD.
30786         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
30787         * doc/posix-headers/math.texi: Likewise.
30788         * doc/posix-functions/logl.texi: Likewise.
30790 2011-09-30  Bruno Haible  <bruno@clisp.org>
30792         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
30793         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
30794         Set to 140000.
30796 2011-09-30  Bruno Haible  <bruno@clisp.org>
30798         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
30799         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
30800         invocation, say "right after AC_PROG_CC_STDC", not "right after
30801         AC_PROG_CC".
30802         Reported by Gary V. Vaughan <gary@gnu.org>.
30804 2011-09-30  Bruno Haible  <bruno@clisp.org>
30806         Centralize C99 requirement.
30807         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
30808         * modules/stdarg (configure.ac-early): Invoke it instead of
30809         AC_PROG_CC_STDC.
30810         Reported by Gary V. Vaughan and Paul Eggert.
30812 2011-09-29  Bruno Haible  <bruno@clisp.org>
30814         float: Fix LDBL_MAX value on Linux/PowerPC.
30815         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
30816         on Linux/PowerPC.
30817         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
30818         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
30819         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
30820         platform.
30821         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
30823 2011-09-29  Bruno Haible  <bruno@clisp.org>
30825         doc: Improve doc about gl_EARLY.
30826         * doc/gnulib-tool.texi (Initial import): Mention where to place an
30827         AC_PROG_CC_STDC invocation.
30828         Reported by Gary V. Vaughan <gary@gnu.org>.
30830 2011-09-28  Bruno Haible  <bruno@clisp.org>
30832         fgetc, fputc, fread, fwrite tests: Fix link error.
30833         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
30834         on non-MSVC platforms.
30835         * tests/test-fputc.c (main): Likewise.
30836         * tests/test-fread.c (main): Likewise.
30837         * tests/test-fwrite.c (main): Likewise.
30838         Reported by Jim Meyering.
30840 2011-09-27  Bruno Haible  <bruno@clisp.org>
30842         fputc, fwrite tests: Avoid test failure on MSVC.
30843         * tests/test-fgetc.c: Include msvc-inval.h.
30844         (main): Invoke gl_msvc_inval_ensure_handler.
30845         * tests/test-fputc.c: Include msvc-inval.h.
30846         (main): Invoke gl_msvc_inval_ensure_handler.
30847         * tests/test-fread.c: Include msvc-inval.h.
30848         (main): Invoke gl_msvc_inval_ensure_handler.
30849         * tests/test-fwrite.c: Include msvc-inval.h.
30850         (main): Invoke gl_msvc_inval_ensure_handler.
30851         * modules/fgetc-tests (Depends-on): Add msvc-inval.
30852         * modules/fputc-tests (Depends-on): Likewise.
30853         * modules/fread-tests (Depends-on): Likewise.
30854         * modules/fwrite-tests (Depends-on): Likewise.
30856 2011-09-27  Bruno Haible  <bruno@clisp.org>
30858         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
30859         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
30860         (raise): Remove older, duplicated declaration.
30861         (_gl_raise_SIGPIPE): New declaration.
30862         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
30863         (rpl_raise): Remove function.
30864         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
30865         a gnulib-defined SIGPIPE here.
30866         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
30867         'sigprocmask' has detected missing signal-blocking and the module
30868         'sigpipe' is enabled.
30869         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
30871 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
30873         base64-tests: avoid memory leak
30874         * tests/test-base64.c (main): Plug memory leak.
30876         base32: new module
30877         * modules/base32: New module.
30878         * lib/base32.c: New file.
30879         * lib/base32.h: Likewise.
30880         * m4/base32.m4: Likewise.
30881         * modules/base32-tests: New test.
30882         * tests/test-base32.c: Likewise.
30883         * MODULES.html.sh (Misc): Mention it.
30885 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
30887         gnulib: use more-standard license notice wording
30888         * gnulib-tool (func_emit_copyright_notice): When emitting a
30889         license notice into a file, use the standard wording as suggested
30890         by the current information for GNU maintainers, except say "file"
30891         rather than "program".  The new wording gives a license version
30892         number, which addresses an issue raised by Glenn Morris in
30893         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
30894         * m4/onceonly.m4: Use that same wording here, too.
30896         dup2: minor simplification
30897         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
30898         as lib/dup2.c no longer uses 'inline'.
30900 2011-09-25  Bruno Haible  <bruno@clisp.org>
30902         strings: Fix compilation error on MSVC.
30903         * lib/strings.in.h: Include <stddef.h> for size_t.
30905 2011-09-25  Bruno Haible  <bruno@clisp.org>
30907         fflush et al.: Document limitation on MSVC.
30908         * doc/posix-functions/fflush.texi: Document possible crash in handling
30909         mode other than DEFAULT_HANDLING.
30910         * doc/posix-functions/fgetc.texi: Likewise.
30911         * doc/posix-functions/fputc.texi: Likewise.
30912         * doc/posix-functions/fread.texi: Likewise.
30913         * doc/posix-functions/fwrite.texi: Likewise.
30915 2011-09-25  Bruno Haible  <bruno@clisp.org>
30917         msvc-inval: Allow three invalid parameter handling modes.
30918         * lib/msvc-inval.h: Don't include <stdlib.h> here.
30919         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
30920         macros.
30921         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
30922         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
30923         SANE_LIBRARY_HANDLING as a no-op.
30924         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
30925         <stdlib.h>.
30926         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
30928 2011-09-25  Bruno Haible  <bruno@clisp.org>
30930         msvc-inval: Make handler multithread-safe.
30931         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
30932         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
30933         declarations.
30934         (gl_msvc_inval_current): New declaration.
30935         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30936         Operate on the structure returned by gl_msvc_inval_current().
30937         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
30938         Remove varaiables.
30939         (tls_index, tls_initialized): New variables.
30940         (not_per_thread): New variable.
30941         (gl_msvc_inval_current): New function.
30942         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
30943         returned by gl_msvc_inval_current().
30945 2011-09-25  Bruno Haible  <bruno@clisp.org>
30947         msvc-inval: Install handler globally.
30948         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
30949         !_MSC_VER.
30950         (gl_msvc_invalid_parameter_handler): Remove declaration.
30951         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
30952         declarations.
30953         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
30954         Install the handler globally, don't uninstall it.
30955         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
30956         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
30957         currently valid, call RaiseException instead.
30958         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
30959         for !_MSC_VER.
30961 2011-09-25  Bruno Haible  <bruno@clisp.org>
30963         strerror_r-posix: Fix for MSVC 9.
30964         * lib/strerror_r.c (local_snprintf): New function.
30965         (snprintf): Define to local_snprintf, not to _snprintf.
30967 2011-09-25  Bruno Haible  <bruno@clisp.org>
30969         ftruncate: Support for MSVC 9.
30970         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
30971         (chsize_nothrow): New function.
30972         (chsize): Redefine as a macro.
30973         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
30974         * modules/ftruncate (Depends-on): Add msvc-inval.
30976 2011-09-25  Bruno Haible  <bruno@clisp.org>
30978         New module 'fstat'.
30979         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
30980         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
30981         * lib/fchdir.c (rpl_fstat): Remove function.
30982         * m4/fstat.m4: New file.
30983         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
30984         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
30985         declared.
30986         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
30987         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
30988         * modules/fstat: New file.
30989         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
30990         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
30991         is set.
30992         * doc/posix-functions/fstat.texi: Mention the new module and the
30993         problem on MSVC.
30994         * NEWS: Mention the change.
30995         * modules/acl (Depends-on): Add fstat.
30996         * modules/chdir-safer (Depends-on): Likewise.
30997         * modules/chown (Depends-on): Likewise.
30998         * modules/copy-file (Depends-on): Likewise.
30999         * modules/fchdir (Depends-on): Likewise.
31000         * modules/fdopendir (Depends-on): Likewise.
31001         * modules/fopen (Depends-on): Likewise.
31002         * modules/fts (Depends-on): Likewise.
31003         * modules/getcwd (Depends-on): Likewise.
31004         * modules/isapipe (Depends-on): Likewise.
31005         * modules/linkat (Depends-on): Likewise.
31006         * modules/lseek (Depends-on): Likewise.
31007         * modules/mkdir-p (Depends-on): Likewise.
31008         * modules/open (Depends-on): Likewise.
31009         * modules/openat (Depends-on): Likewise.
31010         * modules/read-file (Depends-on): Likewise.
31011         * modules/renameat (Depends-on): Likewise.
31012         * modules/utimens (Depends-on): Likewise.
31014 2011-09-25  Bruno Haible  <bruno@clisp.org>
31016         linkat: Fix compilation on MSVC 9.
31017         * lib/linkat.c: Don't include <stdint.h>.
31019 2011-09-25  Bruno Haible  <bruno@clisp.org>
31021         fclose: Support for MSVC 9.
31022         * lib/fclose.c: Include msvc-inval.h.
31023         (fclose_nothrow): New function.
31024         (rpl_fclose): Use it.
31025         * modules/fclose (Depends-on): Add msvc-inval.
31026         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
31028 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
31030         dup2: minor simplifications
31031         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
31032         that it's a performance win.
31033         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
31034         ! defined __CYGWIN__)" to "ifdef F_GETFL".
31036 2011-09-24  Jim Meyering  <meyering@redhat.com>
31038         test-futimens: avoid a warning from gcc -Wshadow
31039         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
31040         to avoid a shadowing warning.
31042 2011-09-24  Bruno Haible  <bruno@clisp.org>
31044         fdopen: Support for MSVC 9.
31045         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
31046         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
31047         * lib/fdopen.c: Include msvc-inval.h.
31048         (fdopen_nothrow): New function.
31049         (rpl_fdopen): Use it.
31050         * modules/fdopen (Depends-on): Add msvc-inval.
31051         * modules/fclose-tests (Depends-on): Add fdopen.
31052         * modules/fflush-tests (Depends-on): Likewise.
31053         * modules/fgetc-tests (Depends-on): Likewise.
31054         * modules/fputc-tests (Depends-on): Likewise.
31055         * modules/fread-tests (Depends-on): Likewise.
31056         * modules/freopen-tests (Depends-on): Likewise.
31057         * modules/fseeko-tests (Depends-on): Likewise.
31058         * modules/ftello-tests (Depends-on): Likewise.
31059         * modules/fwrite-tests  (Depends-on): Likewise.
31060         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
31062 2011-09-24  Bruno Haible  <bruno@clisp.org>
31064         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
31065         * modules/fgetc-tests (Depends-on): Add unistd.
31066         * modules/fputc-tests (Depends-on): Likewise.
31067         * modules/fread-tests (Depends-on): Likewise.
31068         * modules/fwrite-tests (Depends-on): Likewise.
31070 2011-09-24  Bruno Haible  <bruno@clisp.org>
31072         dup: Simplify autoconf test.
31073         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
31074         on gl_MSVC_INVAL's result.
31076 2011-09-24  Bruno Haible  <bruno@clisp.org>
31078         Tests for function fwrite().
31079         * modules/fwrite-tests: New file.
31080         * tests/test-fwrite.c: New file.
31081         * modules/stdio-tests (Depends-on): Add fwrite-tests.
31083         Tests for function fread().
31084         * modules/fread-tests: New file.
31085         * tests/test-fread.c: New file.
31086         * modules/stdio-tests (Depends-on): Add fread-tests.
31088         Activate fputc tests.
31089         * modules/stdio-tests (Depends-on): Add fputc-tests.
31091         Enhance fgetc, fputc tests.
31092         * tests/test-fgetc.c (main): Also test the stream's error indicator.
31093         * tests/test-fputc.c (main): Likewise.
31095 2011-09-24  Bruno Haible  <bruno@clisp.org>
31097         write: Support for MSVC 9.
31098         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31099         is not 1.
31100         * lib/write.c (write_nothrow): New function.
31101         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
31102         not 1. Use write_nothrow.
31103         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
31104         invalid parameter handler.
31105         (gl_PREREQ_WRITE): New macro.
31106         * modules/write (Depends-on): Add msvc-inval.
31107         (configure.ac): Invoke gl_PREREQ_WRITE.
31108         * doc/posix-functions/write.texi: Mention the problem on MSVC.
31110 2011-09-24  Bruno Haible  <bruno@clisp.org>
31112         read: Fix last commit.
31113         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
31115 2011-09-24  Bruno Haible  <bruno@clisp.org>
31117         dup2: Fix last commit.
31118         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
31119         (rpl_dup2): Disable fcntl workaround on native Windows.
31121         sigprocmask: Make code safer.
31122         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
31123         section that changes macro definitions for this compilation unit.
31125 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
31127         dup2: clarify by coalescing Windows-specific material
31128         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
31129         "msvc-nothrow.h"' to the Windows-specific section, so that the
31130         Emacs source need not contain these include files.
31131         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
31132         Windows-specific fixes into this function rather than just the
31133         nothrow fix, as this shortens and clarifies the code.  Always
31134         define as a function, as that's a bit cleaner than having it be
31135         sometimes a function and sometimes a macro.
31136         (rpl_dup2): Move the Windows-specific stuff out of here and into
31137         ms_windows_dup2.  Don't protect the Haiku-related fix with
31138         "#if !defined __linux__", as the same code also works around
31139         a Linux kernel bug, and it doesn't add any system calls on any
31140         platform.  Add comment about FreeBSD 6.1.
31142         sigprocmask: move #include directive
31143         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
31144         Windows-specific section, so that the Emacs source need not
31145         contain msvc-inval.h.
31147 2011-09-23  Bruno Haible  <bruno@clisp.org>
31149         read: Support for MSVC 9.
31150         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
31151         is not 1.
31152         * lib/read.c (read_nothrow): New function.
31153         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
31154         read_nothrow.
31155         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
31156         invalid parameter handler.
31157         (gl_PREREQ_READ): New macro.
31158         * modules/read (Depends-on): Add msvc-inval.
31159         (configure.ac): Invoke gl_PREREQ_READ.
31160         * doc/posix-functions/read.texi: Mention the problem on MSVC.
31162 2011-09-23  Bruno Haible  <bruno@clisp.org>
31164         close: Support for MSVC 9.
31165         * lib/close.c: Include <errno.h>, msvc-inval.h.
31166         (close_nothrow): New function.
31167         (rpl_close): Use it.
31168         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
31169         invalid parameter handler.
31170         * modules/close (Depends-on): Add msvc-inval.
31171         * modules/dup2-tests (Depends-on): Add close.
31172         * modules/dup3-tests (Depends-on): Likewise.
31173         * modules/fcntl-tests (Depends-on): Likewise.
31174         * modules/spawn-pipe-tests (Depends-on): Likewise.
31175         * modules/unistd-safer-tests (Depends-on): Likewise.
31176         * doc/posix-functions/close.texi: Mention the problem on MSVC.
31178 2011-09-23  Bruno Haible  <bruno@clisp.org>
31180         New module 'dup'.
31181         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
31182         Allow replacement.
31183         * lib/dup.c: New file.
31184         * lib/fchdir.c (rpl_dup): Remove function.
31185         * m4/dup.m4: New file.
31186         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
31187         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
31188         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
31189         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
31190         * modules/dup: New file.
31191         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
31192         'dup' module is in use.
31193         * modules/fdopendir (Depends-on): Add dup.
31194         * modules/fdutimensat-tests (Depends-on): Likewise.
31195         * modules/fts (Depends-on): Likewise.
31196         * modules/futimens-tests (Depends-on): Likewise.
31197         * modules/posix_spawnp-tests (Depends-on): Likewise.
31198         * modules/unistd-safer-tests (Depends-on): Likewise.
31199         * modules/utimens-tests (Depends-on): Likewise.
31200         * doc/posix-functions/dup.texi: Mention the new module and the problem
31201         on MSVC.
31203 2011-09-23  Bruno Haible  <bruno@clisp.org>
31205         getdtablesize: Support for MSVC 9.
31206         * lib/getdtablesize.c: Include msvc-inval.h.
31207         (_setmaxstdio_nothrow): New function.
31208         (_setmaxstdio): Redefine it.
31209         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
31210         * modules/getdtablesize (Depends-on): Add msvc-inval.
31211         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
31213 2011-09-23  Bruno Haible  <bruno@clisp.org>
31215         signal-h: Rename from signal.
31216         * modules/signal-h: Renamed from modules/signal.
31217         * modules/pthread_sigmask (Depends-on): Update.
31218         * modules/raise (Depends-on): Likewise.
31219         * modules/sigaction (Depends-on): Likewise.
31220         * modules/sigpipe (Depends-on): Likewise.
31221         * modules/sigprocmask (Depends-on): Likewise.
31222         * modules/sys_select (Depends-on): Likewise.
31223         * modules/signal-h-tests: Renamed from modules/signal-tests.
31224         (Files, Depends-on, Makefile.am): Update.
31225         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
31226         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
31227         (Files, Makefile.am): Update.
31228         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
31229         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
31230         * modules/signal: New placeholder file.
31231         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
31232         * doc/posix-headers/signal.texi: Update.
31233         * NEWS: Mention the change.
31235 2011-09-23  Bruno Haible  <bruno@clisp.org>
31237         sigprocmask: Avoid crashes through signal() on MSVC 9.
31238         * lib/sigprocmask.c: Include msvc-inval.h.
31239         (signal_nothrow): New function.
31240         (signal): Redefine it.
31241         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
31242         * modules/sigprocmask (Depends-on): Add msvc-inval.
31243         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
31245 2011-09-23  Bruno Haible  <bruno@clisp.org>
31247         Tests for module 'raise'.
31248         * modules/raise-tests: New file.
31249         * tests/test-raise.c: New file.
31251         raise: Support for MSVC.
31252         * lib/signal.in.h (raise): New declaration.
31253         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
31254         for native Windows platforms.
31255         * m4/raise.m4: New file.
31256         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
31257         HAVE_RAISE, REPLACE_RAISE.
31258         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
31259         REPLACE_RAISE.
31260         * modules/raise (Status, Notice): Remove fields.
31261         (Files): Add m4/raise.m4.
31262         (Depends-on): Add signal, msvc-inval.
31263         (configure.ac): Use the common idioms.
31264         (Maintainer): Add me.
31265         * tests/test-signal-c++.cc: Check the signature of raise.
31266         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
31268 2011-09-23  Bruno Haible  <bruno@clisp.org>
31270         pipe2: Fix compilation on pre-C99 compilers.
31271         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
31273 2011-09-23  Bruno Haible  <bruno@clisp.org>
31275         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
31276         * lib/msvc-nothrow.h: New file.
31277         * lib/msvc-nothrow.c: New file.
31278         * m4/msvc-nothrow.m4: New file.
31279         * modules/msvc-nothrow: New file.
31280         * lib/dup2.c: Include msvc-nothrow.h.
31281         (rpl_dup2): No need to protect _get_osfhandle call here.
31282         * lib/accept4.c: Include msvc-nothrow.h.
31283         * lib/error.c: Likewise.
31284         * lib/fcntl.c: Likewise.
31285         * lib/lseek.c: Likewise.
31286         * lib/nonblocking.c: Likewise.
31287         * lib/poll.c: Likewise.
31288         * lib/read.c: Likewise.
31289         * lib/select.c: Likewise.
31290         * lib/sockets.h: Likewise.
31291         * lib/sockets.c: Likewise.
31292         * lib/stdio-read.c: Likewise.
31293         * lib/stdio-write.c: Likewise.
31294         * lib/write.c: Likewise.
31295         * lib/w32sock.h: Likewise.
31296         * lib/w32spawn.h: Likewise.
31297         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
31298         * lib/fsync.c: Likewise.
31299         * lib/isapipe.c: Likewise.
31300         * modules/dup2 (Depends-on): Add msvc-nothrow.
31301         * modules/accept4 (Depends-on): Likewise.
31302         * modules/error (Depends-on): Likewise.
31303         * modules/fcntl (Depends-on): Likewise.
31304         * modules/lseek (Depends-on): Likewise.
31305         * modules/nonblocking (Depends-on): Likewise.
31306         * modules/poll (Depends-on): Likewise.
31307         * modules/read (Depends-on): Likewise.
31308         * modules/select (Depends-on): Likewise.
31309         * modules/sockets (Depends-on): Likewise.
31310         * modules/sigpipe (Depends-on): Likewise.
31311         * modules/write (Depends-on): Likewise.
31312         * modules/accept (Depends-on): Likewise.
31313         * modules/bind (Depends-on): Likewise.
31314         * modules/connect (Depends-on): Likewise.
31315         * modules/gethostname (Depends-on): Likewise.
31316         * modules/getpeername (Depends-on): Likewise.
31317         * modules/getsockname (Depends-on): Likewise.
31318         * modules/getsockopt (Depends-on): Likewise.
31319         * modules/ioctl (Depends-on): Likewise.
31320         * modules/listen (Depends-on): Likewise.
31321         * modules/recv (Depends-on): Likewise.
31322         * modules/recvfrom (Depends-on): Likewise.
31323         * modules/send (Depends-on): Likewise.
31324         * modules/sendto (Depends-on): Likewise.
31325         * modules/setsockopt (Depends-on): Likewise.
31326         * modules/shutdown (Depends-on): Likewise.
31327         * modules/socket (Depends-on): Likewise.
31328         * modules/execute (Depends-on): Likewise.
31329         * modules/spawn-pipe (Depends-on): Likewise.
31330         * modules/flock (Depends-on): Likewise.
31331         * modules/fsync (Depends-on): Likewise.
31332         * modules/isapipe (Depends-on): Likewise.
31333         * tests/test-cloexec.c: Include msvc-nothrow.h.
31334         * tests/test-dup-safer.c: Likewise.
31335         * tests/test-dup2.c: Likewise.
31336         * tests/test-dup3.c: Likewise.
31337         * tests/test-fcntl.c: Likewise.
31338         * tests/test-pipe.c: Likewise.
31339         * tests/test-pipe2.c: Likewise.
31340         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
31341         * modules/unistd-safer-tests (Depends-on): Likewise.
31342         * modules/dup2-tests (Depends-on): Likewise.
31343         * modules/dup3-tests (Depends-on): Likewise.
31344         * modules/fcntl-tests (Depends-on): Likewise.
31345         * modules/pipe-posix-tests (Depends-on): Likewise.
31346         * modules/pipe2-tests (Depends-on): Likewise.
31348 2011-09-23  Bruno Haible  <bruno@clisp.org>
31350         dup2: Make code more maintainable.
31351         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
31352         (rpl_dup2): Use it.
31353         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
31354         * modules/dup2 (configure.ac): Invoke it.
31355         Reported by Paul Eggert.
31357 2011-09-23  Bruno Haible  <bruno@clisp.org>
31359         msvc-inval: Fix compilation error.
31360         * lib/msvc-inval.h: Include <excpt.h>.
31362 2011-09-23  Bruno Haible  <bruno@clisp.org>
31364         mkdir: Tweak for MSVC 9.
31365         * lib/sys_stat.in.h: Update comments.
31366         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
31368         Tests for module 'chdir'.
31369         * modules/chdir-tests: New file.
31370         * tests/test-chdir.c: New file.
31372         New module 'chdir'.
31373         * modules/chdir: New file.
31374         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
31375         (chdir): New declaration.
31376         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
31377         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
31378         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
31379         * tests/test-unistd-c++.cc: Check signature of chdir.
31380         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
31381         * modules/chdir-long (Depends-on): Add chdir.
31382         * modules/fchdir (Depends-on): Likewise.
31383         * modules/rename (Depends-on): Likewise.
31384         * modules/savewd (Depends-on): Likewise.
31386         rmdir: Support for mingw, MSVC 9.
31387         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
31388         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
31390         getcwd: Tweak for MSVC 9.
31391         * lib/unistd.in.h: Update comments.
31392         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
31394 2011-09-22  Bruno Haible  <bruno@clisp.org>
31396         strerror_r-posix: Avoid a link error on MSVC.
31397         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
31398         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
31400 2011-09-22  Bruno Haible  <bruno@clisp.org>
31402         select: Avoid link errors on MSVC.
31403         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
31404         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
31405         * modules/pselect (Link): Likewise.
31406         * NEWS: Mention the change.
31407         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
31408         test-select-stdin against $(LIB_SELECT).
31409         * modules/pselect-tests (Makefile.am): Link test-pselect against
31410         $(LIB_SELECT).
31412 2011-09-22  Bruno Haible  <bruno@clisp.org>
31414         select: Avoid compilation error on MSVC.
31415         * lib/select.c: Don't include <stdbool.h>.
31417 2011-09-21  Bruno Haible  <bruno@clisp.org>
31419         Consolidate all uses of PATH_MAX in *.m4 files.
31420         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
31421         macros.
31422         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
31423         and gl_PATHMAX_SNIPPET.
31424         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
31425         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
31426         * modules/chdir-long (Files): Add m4/pathmax.m4.
31427         * modules/getcwd (Files): Likewise.
31429 2011-09-21  Bruno Haible  <bruno@clisp.org>
31431         ftruncate: Un-deprecate, concentrate on Win32 support.
31432         * modules/ftruncate (Status, Notice): Remove sections.
31433         (Depends-on): Add largefile.
31434         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
31435         non-mingw platforms.
31436         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
31437         include <io.h>.
31438         * modules/perror-tests (Depends-on): Add ftruncate.
31439         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
31440         'ftruncate' module.
31442 2011-09-21  Bruno Haible  <bruno@clisp.org>
31444         Add dependencies to new dirent related modules.
31445         * modules/opendir (Depends-on): Add closedir.
31446         * modules/getcwd (Depends-on): Add opendir, closedir.
31447         * modules/dirent-safer-tests (Depends-on): Likewise.
31448         * modules/fdopendir-tests (Depends-on): Likewise.
31449         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
31450         * modules/renameat-tests (Depends-on): Likewise.
31452 2011-09-21  Bruno Haible  <bruno@clisp.org>
31454         opendir: Avoid compilation error on mingw.
31455         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
31456         * modules/opendir (Depends-on): Add unistd.
31458 2011-09-21  Bruno Haible  <bruno@clisp.org>
31460         ftruncate tests: Avoid a test failure on mingw.
31461         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
31463 2011-09-21  Bruno Haible  <bruno@clisp.org>
31465         select tests: Avoid test failures on OSF/1 5.1 and mingw.
31466         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
31467         native Windows.
31469 2011-09-21  Bruno Haible  <bruno@clisp.org>
31471         New module 'fdopen'.
31472         * lib/stdio.in.h (fdopen): New declaration.
31473         * lib/fdopen.c: New file.
31474         * m4/fdopen.m4: New file.
31475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
31476         REPLACE_FDOPEN.
31477         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
31478         REPLACE_FDOPEN.
31479         * modules/fdopen: New file.
31480         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
31481         * tests/test-stdio-c++.cc: Check signature of fdopen.
31482         * doc/posix-functions/fdopen.texi: Mention the new module.
31484 2011-09-21  Bruno Haible  <bruno@clisp.org>
31486         unlockpt tests: Avoid test failure on NetBSD 5.1.
31487         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
31488         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
31490 2011-09-21  Bruno Haible  <bruno@clisp.org>
31492         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
31493         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
31494         * tests/test-getlogin_r.c (main): Likewise.
31496 2011-09-20  Bruno Haible  <bruno@clisp.org>
31498         time tests: Don't require pid_t.
31499         * doc/posix-headers/time.texi: Revert last change.
31500         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
31501         * tests/test-time.c: Comment out the check for pid_t.
31503 2011-09-20  Bruno Haible  <bruno@clisp.org>
31505         fsync tests: Avoid a test failure on mingw.
31506         * tests/test-fsync.c (main): Allow a failure with EIO.
31508 2011-09-20  Bruno Haible  <bruno@clisp.org>
31510         euidaccess: Update comments.
31511         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
31513 2011-09-20  Bruno Haible  <bruno@clisp.org>
31515         Ensure EBADF returns for socket functions on mingw.
31516         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
31517         descriptor is invalid.
31518         * lib/bind.c (rpl_bind): Likewise.
31519         * lib/connect.c (rpl_connect): Likewise.
31520         * lib/getpeername.c (rpl_getpeername): Likewise.
31521         * lib/getsockname.c (rpl_getsockname): Likewise.
31522         * lib/getsockopt.c (rpl_getsockopt): Likewise.
31523         * lib/listen.c (rpl_listen): Likewise.
31524         * lib/recv.c (rpl_recv): Likewise.
31525         * lib/recvfrom.c (rpl_recvfrom): Likewise.
31526         * lib/send.c (rpl_send): Likewise.
31527         * lib/sendto.c (rpl_sendto): Likewise.
31528         * lib/setsockopt.c (rpl_setsockopt): Likewise.
31529         * lib/shutdown.c (rpl_shutdown): Likewise.
31531 2011-09-20  Bruno Haible  <bruno@clisp.org>
31533         select tests: EBADF tests.
31534         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
31535         test_bad_fd): New functions.
31536         (test_function): Invoke also test_bad_fd.
31538 2011-09-20  Bruno Haible  <bruno@clisp.org>
31540         Tests for module 'posix_spawn_file_actions_addopen.
31541         * modules/posix_spawn_file_actions_addopen-tests: New file.
31542         * tests/test-posix_spawn_file_actions_addopen.c: New file.
31544         Tests for module 'posix_spawn_file_actions_adddup2'.
31545         * modules/posix_spawn_file_actions_adddup2-tests: New file.
31546         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
31548         Tests for module 'posix_spawn_file_actions_addclose'.
31549         * modules/posix_spawn_file_actions_addclose-tests: New file.
31550         * tests/test-posix_spawn_file_actions_addclose.c: New file.
31552 2011-09-20  Bruno Haible  <bruno@clisp.org>
31554         Tests for module 'unlockpt'.
31555         * modules/unlockpt-tests: New file.
31556         * tests/test-unlockpt.c: New file.
31557         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
31559         Tests for module 'grantpt'.
31560         * modules/grantpt-tests: New file.
31561         * tests/test-grantpt.c: New file.
31562         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
31564 2011-09-20  Bruno Haible  <bruno@clisp.org>
31566         freopen tests: EBADF tests.
31567         * tests/test-freopen.c: Include errno.h, unistd.h.
31568         (main): Add tests for EBADF, commented out for the moment.
31570         fclose tests: EBADF tests.
31571         * tests/test-fclose.c (main): Add tests for EBADF.
31573         fflush tests: EBADF tests.
31574         * tests/test-fflush.c: Include errno.h, macros.h.
31575         (main): Add tests for EBADF.
31577         ftello tests: EBADF tests.
31578         * tests/test-ftello4.sh: New file.
31579         * tests/test-ftello4.c: New file.
31580         * modules/ftello-tests (Files): Add them.
31581         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
31583         fseeko tests: EBADF tests.
31584         * tests/test-fseeko4.sh: New file.
31585         * tests/test-fseeko4.c: New file.
31586         * modules/fseeko-tests (Files): Add them.
31587         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
31589         Tests for function fputc().
31590         * modules/fputc-tests: New file.
31591         * tests/test-fputc.c: New file.
31592         * modules/stdio-tests (Depends-on): Add fputc-tests.
31594         Tests for function fgetc().
31595         * modules/fgetc-tests: New file.
31596         * tests/test-fgetc.c: New file.
31597         * modules/stdio-tests (Depends-on): Add fgetc-tests.
31599         Tests for function fdopen().
31600         * modules/fdopen-tests: New file.
31601         * tests/test-fdopen.c: New file.
31602         * modules/stdio-tests (Depends-on): Add fdopen-tests.
31604         Tests for module 'vdprintf'.
31605         * modules/vdprintf-tests: New file.
31606         * tests/test-vdprintf.c: New file.
31608         Tests for module 'dprintf'.
31609         * modules/dprintf-tests: New file.
31610         * tests/test-dprintf.c: New file.
31612 2011-09-20  Bruno Haible  <bruno@clisp.org>
31614         Tests for module 'ioctl'.
31615         * modules/ioctl-tests: New file.
31616         * tests/test-ioctl.c: New file.
31618 2011-09-20  Bruno Haible  <bruno@clisp.org>
31620         fcntl tests: EBADF tests.
31621         * tests/test-fcntl.c (main): Add more tests for EBADF.
31623 2011-09-20  Bruno Haible  <bruno@clisp.org>
31625         utimensat tests: EBADF tests.
31626         * tests/test-utimensat.c (main): Add tests for EBADF.
31628         renameat tests: EBADF tests.
31629         * tests/test-renameat.c (main): Add tests for EBADF.
31631         mkfifoat tests: EBADF tests.
31632         * tests/test-mkfifoat.c (main): Add tests for EBADF.
31634         readlinkat tests: EBADF tests.
31635         * tests/test-readlinkat.c (main): Add tests for EBADF.
31637         symlinkat tests: EBADF tests.
31638         * tests/test-symlinkat.c (main): Add tests for EBADF.
31640         linkat tests: EBADF tests.
31641         * tests/test-linkat.c (main): Add tests for EBADF.
31643         Tests for module 'faccessat'.
31644         * modules/faccessat-tests: New file.
31645         * tests/test-faccessat.c: New file.
31647         fdopendir tests: EBADF tests.
31648         * tests/test-fdopendir.c (main): Add more tests for EBADF.
31650         openat tests: EBADF tests.
31651         * tests/test-fchownat.c (main): Add tests for EBADF.
31652         * tests/test-fstatat.c (main): Likewise.
31653         * tests/test-mkdirat.c (main): Likewise.
31654         * tests/test-openat.c (main): Likewise.
31655         * tests/test-unlinkat.c (main): Likewise.
31656         * tests/test-fchmodat.c: New file.
31657         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
31658         (Makefile.am): Also run 'test-fchmodat'.
31660 2011-09-20  Bruno Haible  <bruno@clisp.org>
31662         utimens, futimens, fdutimensat tests: EBADF tests.
31663         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
31665         Tests for function fstat().
31666         * modules/fstat-tests: New file.
31667         * tests/test-fstat.c: New file.
31668         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
31670 2011-09-20  Bruno Haible  <bruno@clisp.org>
31672         test-ttyname_r tests: EBADF tests.
31673         * tests/test-ttyname_r.c (main): Add tests for EBADF.
31675         Tests for module 'isatty'.
31676         * modules/isatty-tests: New file.
31677         * tests/test-isatty.c: New file.
31679         Tests for module 'write'.
31680         * modules/write-tests: New file.
31681         * tests/test-write.c: New file.
31683         Tests for module 'read'.
31684         * modules/read-tests: New file.
31685         * tests/test-read.c: New file.
31687         pwrite tests: EBADF tests.
31688         * tests/test-pwrite.c (main): Add tests for EBADF.
31690         pread tests: EBADF tests.
31691         * tests/test-pread.c (main): Add tests for EBADF.
31693         lseek tests: EBADF tests.
31694         * tests/test-lseek.c (main): Add more tests for EBADF.
31696         Tests for module 'ftruncate'.
31697         * modules/ftruncate-tests: New file.
31698         * tests/test-ftruncate.sh: New file.
31699         * tests/test-ftruncate.c: New file.
31701         fsync tests: EBADF tests.
31702         * tests/test-fsync.c (main): Add more tests for EBADF.
31704         fdatasync tests: EBADF tests.
31705         * tests/test-fdatasync.c (main): Add more tests for EBADF.
31707         Tests for module 'fchown'.
31708         * modules/fchown-tests: New file.
31709         * tests/test-fchown.c: New file.
31711         Tests for module 'fchmod'.
31712         * modules/fchmod-tests: New file.
31713         * tests/test-fchmod.c: New file.
31715         fchdir tests: EBADF tests.
31716         * tests/test-fchdir.c (main): Add more tests for EBADF.
31718         dup2 tests: EBADF tests.
31719         * tests/test-dup2.c (main): Add more tests for EBADF.
31721         Tests for module 'dup'.
31722         * modules/dup-tests: New file.
31723         * tests/test-dup.c: New file.
31725         Tests for module 'close'.
31726         * modules/close-tests: New file.
31727         * tests/test-close.c: New file.
31729 2011-09-20  Bruno Haible  <bruno@clisp.org>
31731         Tests for module 'shutdown'.
31732         * modules/shutdown-tests: New file.
31733         * tests/test-shutdown.c: New file.
31735         Tests for module 'setsockopt'.
31736         * modules/setsockopt-tests: New file.
31737         * tests/test-setsockopt.c: New file.
31739         Tests for module 'sendto'.
31740         * modules/sendto-tests: New file.
31741         * tests/test-sendto.c: New file.
31743         Tests for module 'send'.
31744         * modules/send-tests: New file.
31745         * tests/test-send.c: New file.
31747         Tests for module 'recvfrom'.
31748         * modules/recvfrom-tests: New file.
31749         * tests/test-recvfrom.c: New file.
31751         Tests for module 'recv'.
31752         * modules/recv-tests: New file.
31753         * tests/test-recv.c: New file.
31755         Tests for module 'listen'.
31756         * modules/listen-tests: New file.
31757         * tests/test-listen.c: New file.
31759         Tests for module 'getsockopt'.
31760         * modules/getsockopt-tests: New file.
31761         * tests/test-getsockopt.c: New file.
31763         Tests for module 'getsockname'.
31764         * modules/getsockname-tests: New file.
31765         * tests/test-getsockname.c: New file.
31767         Tests for module 'getpeername'.
31768         * modules/getpeername-tests: New file.
31769         * tests/test-getpeername.c: New file.
31771         Tests for module 'connect'.
31772         * modules/connect-tests: New file.
31773         * tests/test-connect.c: New file.
31775         Tests for module 'bind'.
31776         * modules/bind-tests: New file.
31777         * tests/test-bind.c: New file.
31779         accept4 tests: Fix for native Windows.
31780         * tests/test-accept4.c: Include sockets.h.
31781         (main): Invoke gl_sockets_startup.
31782         * modules/accept4-tests (Depends-on): Add sockets.
31784         accept tests: Fix for native Windows.
31785         * tests/test-accept.c: Include sockets.h.
31786         (main): Invoke gl_sockets_startup.
31787         * modules/accept-tests (Depends-on): Add sockets.
31789 2011-09-19  Bruno Haible  <bruno@clisp.org>
31791         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
31792         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
31793         do...while(0).
31794         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
31795         Suggested by Paul Eggert.
31797 2011-09-19  Bruno Haible  <bruno@clisp.org>
31799         sched: Ensure pid_t is defined.
31800         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
31801         not define pid_t.
31802         * lib/sched.in.h: Include <sys/types.h>.
31803         * doc/posix-headers/sched.texi: Mention the pid_t problem.
31804         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31806 2011-09-19  Bruno Haible  <bruno@clisp.org>
31808         msvc-inval: Ensure the entire expansion is a single statement.
31809         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
31810         of braces.
31812 2011-09-19  Jim Meyering  <meyering@redhat.com>
31814         tests: use printf, not echo in init.sh's warn_ function
31815         * tests/init.sh (warn_): Use printf, not echo.  The latter would
31816         misbehave when given strings containing a backslash or starting
31817         with e.g., -n.  James Youngman suggested setting IFS.
31819 2011-09-19  Eric Blake  <eblake@redhat.com>
31821         futimens: enhance test
31822         * tests/test-futimens.h (test_futimens): Also check for EBADF on
31823         closed non-negative fd.
31825         date: accept 'hence' as opposite of 'ago'
31826         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
31827         * tests/test-parse-datetime.c (main): Enhance test.
31828         Suggested by Jesse Wilson.
31830 2011-09-19  Jim Meyering  <meyering@redhat.com>
31832         getcwd: don't fail in a deep directory on a system without openat
31833         Before this change, getcwd would fail when called from a directory
31834         of depth PATH_MAX / 3 or greater.  That was due to the fact that
31835         the non-openat implementation used "..", "../..", "../../..", etc.
31836         to access ancestor directories.  With too many, that string would
31837         be longer than PATH_MAX.
31838         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
31839         using gnulib's openat replacement.
31840         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
31841         we're using the replacement function.
31843 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
31845         maint.mk: avoid warnings from perl about missing files
31846         * top/maint.mk (def_sym_regex): Ignore files listed in
31847         $(gl_other_headers_) that do not exist, say because a project
31848         does not use a corresponding module.
31850 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
31852         stat: use pathmax.h only if needed
31853         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
31854         This is better for Emacs, which does not have a mingw port and
31855         therefore can avoid the pathmax module.
31857         utimens: remove dependency on dup2
31858         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
31859         to work around the Linux kernel bug.
31860         * modules/utimens (Depends-on): Remove dup2.
31862 2011-09-18  Bruno Haible  <bruno@clisp.org>
31864         inet_ntop, inet_pton: Look for it also in libresolv.
31865         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
31866         libnsl, search for it in libresolv.
31867         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
31868         Needed on Solaris 7.
31870 2011-09-18  Bruno Haible  <bruno@clisp.org>
31872         accept, accept4 tests: Avoid link error on Solaris.
31873         * modules/accept-tests (Makefile.am): Link test-accept against
31874         $(LIBSOCKET).
31875         * modules/accept4-tests (Makefile.am): Link test-accept4 against
31876         $(LIBSOCKET).
31878         accept4: Avoid link error on Solaris.
31879         * modules/accept4 (Link): New section.
31881         socket functions: Avoid link errors on Solaris.
31882         * modules/accept (Depends-on): Add socketlib.
31883         (Link): New section.
31884         * modules/bind (Depends-on): Add socketlib.
31885         (Link): New section.
31886         * modules/connect (Depends-on): Add socketlib.
31887         (Link): New section.
31888         * modules/getpeername (Depends-on): Add socketlib.
31889         (Link): New section.
31890         * modules/getsockname (Depends-on): Add socketlib.
31891         (Link): New section.
31892         * modules/getsockopt (Depends-on): Add socketlib.
31893         (Link): New section.
31894         * modules/listen (Depends-on): Add socketlib.
31895         (Link): New section.
31896         * modules/recv (Depends-on): Add socketlib.
31897         (Link): New section.
31898         * modules/recvfrom (Depends-on): Add socketlib.
31899         (Link): New section.
31900         * modules/send (Depends-on): Add socketlib.
31901         (Link): New section.
31902         * modules/sendto (Depends-on): Add socketlib.
31903         (Link): New section.
31904         * modules/setsockopt (Depends-on): Add socketlib.
31905         (Link): New section.
31906         * modules/shutdown (Depends-on): Add socketlib.
31907         (Link): New section.
31908         * modules/socket (Depends-on): Add socketlib.
31909         (Link): New section.
31911 2011-09-18  Bruno Haible  <bruno@clisp.org>
31913         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
31914         * tests/test-ptsname.c (main): Terminate the test if it takes longer
31915         than 5 seconds.
31916         * modules/ptsname-tests (configure.ac): Test for alarm.
31918 2011-09-18  Bruno Haible  <bruno@clisp.org>
31920         posix_spawn_file_actions_add*: Fix module dependencies.
31921         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
31922         posix_spawn_file_actions_init.
31923         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
31924         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
31926 2011-09-18  Bruno Haible  <bruno@clisp.org>
31928         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
31929         * tests/test-rename.h (test_rename): Allow error code EEXIST.
31930         * tests/test-renameat.c (main): Likewise.
31932 2011-09-18  Bruno Haible  <bruno@clisp.org>
31934         Tests for module 'accept4'.
31935         * modules/accept4-tests: New file.
31936         * tests/test-accept4.c: New file.
31938 2011-09-18  Bruno Haible  <bruno@clisp.org>
31940         Tests for module 'accept'.
31941         * modules/accept-tests: New file.
31942         * tests/test-accept.c: New file.
31944 2011-09-18  Bruno Haible  <bruno@clisp.org>
31946         dup2: Support for MSVC.
31947         * lib/dup2.c: Include msvc-inval.h.
31948         (rpl_dup2): Handle invalid parameter notifications during dup2 and
31949         _get_osfhandle calls.
31950         * modules/dup2 (Depends-on): Add msvc-inval.
31951         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
31953         New module 'msvc-inval'.
31954         * lib/msvc-inval.h: New file.
31955         * lib/msvc-inval.c: New file.
31956         * m4/msvc-inval.m4: New file.
31957         * modules/msvc-inval: New file.
31959 2011-09-17  Bruno Haible  <bruno@clisp.org>
31961         Tests for module 'pclose'.
31962         * modules/pclose-tests: New file.
31964         New module 'pclose'.
31965         * lib/stdio.in.h (pclose): New declaration.
31966         * lib/pclose.c: New file.
31967         * m4/pclose.m4: New file.
31968         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
31969         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
31970         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
31971         * modules/pclose: New file.
31972         * modules/popen-tests (Depends-on): Add pclose.
31973         * modules/popen-safer-tests (Depends-on): Likewise.
31974         * doc/posix-functions/pclose.texi: Mention the new module.
31976 2011-09-17  Bruno Haible  <bruno@clisp.org>
31978         popen: Support for MSVC.
31979         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
31980         * lib/popen.c (popen): Provide alternate definition for native Windows.
31981         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
31982         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
31983         * modules/popen (Depends-on, configure.ac): Update condition.
31984         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
31985         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
31986         fixed.
31988 2011-09-17  Bruno Haible  <bruno@clisp.org>
31990         isnanl, isnand, isnanf: Work around MSVC bug.
31991         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
31993 2011-09-17  Bruno Haible  <bruno@clisp.org>
31995         sys_socket tests: Fix recent mistake.
31996         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
31998 2011-09-17  Bruno Haible  <bruno@clisp.org>
32000         putenv: Support for MSVC.
32001         * modules/putenv (Depends-on): Add environ.
32002         * lib/putenv.c (environ): Disable declaration.
32003         * lib/unistd.in.h: Update comment.
32005 2011-09-17  Bruno Haible  <bruno@clisp.org>
32007         math: Avoid macro redefinition warnings on MSVC.
32008         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
32009         Undefine before redefining.
32011 2011-09-17  Bruno Haible  <bruno@clisp.org>
32013         doc: Mention functions which are declared as macros.
32014         * doc/posix-functions/*[fl].texi: Mention that some functions are
32015         defined as macros with arguments only.
32017 2011-09-17  Bruno Haible  <bruno@clisp.org>
32019         Add dependencies to new dirent related modules.
32020         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
32021         * modules/fts (Depends-on): Likewise.
32022         * modules/glob (Depends-on): Likewise.
32023         * modules/savedir (Depends-on): Likewise.
32024         * modules/scandir (Depends-on): Likewise.
32025         * modules/dirent-safer (Depends-on): Add opendir, closedir.
32026         * modules/fdopendir (Depends-on): Add opendir.
32028 2011-09-17  Bruno Haible  <bruno@clisp.org>
32030         inet_pton: Support for MSVC on Windows Vista or newer.
32031         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
32032         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
32033         HAVE_DECL_INET_PTON is defined.
32034         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32035         On platforms with <winsock2.h>, test whether inet_pton is declared in
32036         <ws2tcpip.h>. If so, arrange to replace it.
32037         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32038         REPLACE_INET_PTON.
32039         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
32040         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
32041         (Depends-on, configure.ac): Update condition.
32042         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
32044 2011-09-17  Bruno Haible  <bruno@clisp.org>
32046         inet_ntop: Support for MSVC on Windows Vista or newer.
32047         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
32048         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
32049         HAVE_DECL_INET_NTOP is defined.
32050         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
32051         On platforms with <winsock2.h>, test whether inet_ntop is declared in
32052         <ws2tcpip.h>. If so, arrange to replace it.
32053         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
32054         REPLACE_INET_NTOP.
32055         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
32056         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
32057         (Depends-on, configure.ac): Update condition.
32058         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
32060 2011-09-16  Eric Blake  <eblake@redhat.com>
32062         test-fsync: yet another enhancement
32063         * tests/test-fsync.c (main): Also test behavior on read-only text
32064         file.
32066 2011-09-16  Bruno Haible  <bruno@clisp.org>
32068         Enhance fsync, fdatasync tests.
32069         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
32070         * tests/test-fdatasync.c (main): Likewise.
32072 2011-09-16  Bruno Haible  <bruno@clisp.org>
32074         Support for MSVC compiler: Ensure mode_t gets defined.
32075         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
32076         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32077         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
32078         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
32079         * tests/test-fcntl-h.c: Check that mode_t is defined.
32080         * tests/test-sys_stat.c: Likewise.
32081         * tests/test-sys_types.c: Likewise.
32082         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
32083         * doc/posix-headers/sys_stat.texi: Likewise.
32084         * doc/posix-headers/sys_types.texi: Likewise.
32086 2011-09-16  Bruno Haible  <bruno@clisp.org>
32088         sys_stat: Support for MSVC.
32089         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
32090         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
32091         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
32092         MSVC.
32094 2011-09-16  Bruno Haible  <bruno@clisp.org>
32096         Support for MSVC compiler: Ensure off_t gets defined.
32097         * lib/unistd.in.h: Include <sys/types.h>.
32098         * tests/test-fcntl-h.c: Check that off_t is defined.
32099         * tests/test-sys_stat.c: Likewise.
32100         * tests/test-sys_types.c: Likewise.
32102 2011-09-16  Eric Blake  <eblake@redhat.com>
32104         fdatasync: port to Solaris
32105         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
32106         * modules/fdatasync (Link): Document it.
32107         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
32109         fdatasync: port to MacOS X 10.7
32110         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
32111         declared.
32112         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
32113         * modules/unistd (Makefile.am): Substitute it.
32114         * lib/unistd.in.h (fdatasync): Declare on MacOS.
32115         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
32117         fdatasync: minor improvements
32118         * modules/fdatasync (Depends-on): Add condition for fsync.
32119         * lib/fdatasync.c (fdatasync): Add comment.
32120         * tests/test-unistd-c++.cc: Test fdatasync.
32122         unistd: update refs to newer POSIX
32123         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
32124         Suggested by Bruno Haible.
32126         fdatasync: new module
32127         * modules/fsync (Description): Document difference to fdatasync.
32128         * modules/fdatasync: New module.
32129         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
32130         * lib/fdatasync.c (fdatasync): Likewise.
32131         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
32132         defaults.
32133         * modules/unistd (Makefile.am): Set witnesses.
32134         * lib/unistd.in.h (fdatasync): Declare.
32135         * MODULES.html.sh: Document it.
32136         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
32137         * modules/fdatasync-tests: New test.
32138         * tests/test-fdatasync.c: Likewise.
32140 2011-09-16  Eric Blake  <eblake@redhat.com>
32142         test-fsync: enhance tests
32143         * modules/fsync-tests (Depends-on): Add errno, for mingw.
32144         * tests/test-fsync.c (main): Enhance test.
32146 2011-09-15  Bruno Haible  <bruno@clisp.org>
32148         Support for MSVC compiler: Ensure ssize_t gets defined.
32149         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
32150         * doc/posix-headers/stdio.texi: Likewise.
32151         * modules/stdio (Depends-on): Add ssize_t.
32152         * modules/sys_socket (Depends-on): Likewise.
32153         * modules/sys_types (Depends-on): Likewise.
32154         * modules/sys_uio (Depends-on): Likewise.
32155         * modules/unistd (Depends-on): Likewise.
32156         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
32157         * tests/test-sys_types.c: Check that ssize_t is defined.
32159 2011-09-14  Bruno Haible  <bruno@clisp.org>
32161         Avoid using #, the m4 comment starter character, near brackets.
32162         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
32163         delimiter character in sed expressions.
32164         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
32165         Suggested by Eric Blake.
32167         Properly quote AC_CHECK_DECLS' 4th argument.
32168         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
32169         argument.
32170         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
32171         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32172         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
32173         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32174         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32175         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
32176         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
32177         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
32178         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
32179         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
32180         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
32181         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
32182         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32183         * m4/isinf.m4 (gl_ISINF): Likewise.
32184         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
32185         * m4/readutmp.m4 (gl_READUTMP): Likewise.
32186         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
32187         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
32188         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
32189         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
32190         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
32191         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
32192         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
32193         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
32194         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32195         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32196         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
32197         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
32198         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32199         Reported by Eric Blake.
32201         Properly quote AC_CHECK_DECL's 4th argument.
32202         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
32203         argument.
32204         * m4/argp.m4 (gl_ARGP): Likewise.
32205         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
32206         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
32207         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
32208         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
32209         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
32210         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
32211         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
32212         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
32213         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
32214         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
32215         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
32216         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
32217         Reported by Eric Blake.
32219 2011-09-14  Eric Blake  <eblake@redhat.com>
32221         opendir: avoid compile warning
32222         * lib/opendir.c (includes): Always include errno.h.
32223         Reported by Tatsuro MATSUOKA.
32225 2011-09-14  Jim Meyering  <meyering@redhat.com>
32227         maint.mk: sc_tight_scope: propagate failure from sub-make
32228         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
32229         Reported by Martin von Gagern.
32231 2011-09-13  Bruno Haible  <bruno@clisp.org>
32233         tempname: Support for MSVC.
32234         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
32235         MSVC.
32236         * modules/tempname (Depends-on): Add fcntl-h.
32238 2011-09-13  Bruno Haible  <bruno@clisp.org>
32240         sys_time: Support for MSVC.
32241         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
32242         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
32243         include <winsock2.h>.
32244         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
32245         function declarations that collide with POSIX.
32246         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
32247         (Makefile.am): Substitute HAVE_WINSOCK2_H.
32249 2011-09-13  Bruno Haible  <bruno@clisp.org>
32251         stat: Support for MSVC.
32252         * lib/stat.c: Include pathmax.h.
32253         * modules/stat (Depends-on): Add pathmax.
32255         pathmax: Support for native Windows.
32256         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
32258 2011-09-12  Bruno Haible  <bruno@clisp.org>
32260         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
32261         * lib/dirent.in.h (struct dirent): New type.
32262         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
32263         DT_WHT): New macros.
32264         (DIR): New type.
32265         (opendir, closedir): Declare only if the module 'opendir' is enabled.
32266         (readdir, rewinddir): New declarations.
32267         * lib/dirent-private.h: New file.
32268         * lib/opendir.c: New file.
32269         * lib/readdir.c: New file.
32270         * lib/rewinddir.c: New file.
32271         * lib/closedir.c: New file.
32272         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
32273         * m4/opendir.m4: New file.
32274         * m4/readdir.m4: New file.
32275         * m4/rewinddir.m4: New file.
32276         * m4/closedir.m4: New file.
32277         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
32278         REPLACE_CLOSEDIR here.
32279         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
32280         readdir, rewinddir are declared.
32281         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
32282         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
32283         HAVE_REWINDDIR, HAVE_CLOSEDIR.
32284         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
32285         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
32286         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
32287         * modules/opendir: New file.
32288         * modules/readdir: New file.
32289         * modules/rewinddir: New file.
32290         * modules/closedir: New file.
32291         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
32292         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
32293         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
32294         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
32295         * NEWS: Mention the 'fchdir' change.
32297 2011-09-11  Bruno Haible  <bruno@clisp.org>
32299         asm-underscore.m4: Support for MSVC.
32300         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
32301         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
32303 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
32305         Doc about crypt functions.
32306         * doc/posix-functions/crypt.texi: Expand range of glibc versions
32307         needing for _GNU_SOURCE to get crypt.
32308         * doc/posix-functions/encrypt.texi: Likewise.
32309         * doc/posix-functions/setkey.texi: Likewise.
32311 2011-09-11  Bruno Haible  <bruno@clisp.org>
32313         doc: Update regarding MSVC 9.
32314         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
32315         tested".
32316         * doc/posix-functions/*.texi: Update with info about MSVC 9.
32317         * doc/posix-headers/*.texi: Likewise.
32318         * doc/pastposix-functions/*.texi: Likewise.
32319         * doc/glibc-functions/*.texi: Likewise.
32320         * doc/glibc-headers/*.texi: Likewise.
32322 2011-09-11  Bruno Haible  <bruno@clisp.org>
32324         unistd et al.: Don't assume <unistd.h> exists.
32325         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
32326         does not exist.
32327         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
32328         exist. But include <stdlib.h>.
32329         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
32330         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
32331         symlink() does not exist.
32332         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
32333         include <io.h> instead.
32334         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
32335         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
32336         include <direct.h> instead.
32337         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
32338         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
32339         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
32340         <io.h> instead.
32341         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
32342         correctly if the system does not have hard links.
32343         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
32344         <direct.h> instead.
32345         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
32346         it when looking for function declarations.
32347         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
32348         <direct.h> and <io.h> instead.
32349         * doc/posix-headers/unistd.texi: More details about MSVC problem.
32351 2011-09-11  Bruno Haible  <bruno@clisp.org>
32353         strcase: Support for MSVC.
32354         * modules/strcase (Status, Notice): Remove obsoletion mark.
32355         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
32356         * doc/posix-functions/strncasecmp.texi: Likewise.
32358         strings: Don't assume <strings.h> exists.
32359         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
32360         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
32361         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
32362         * doc/posix-headers/strings.texi: Mention the MSVC problem.
32364 2011-09-11  Bruno Haible  <bruno@clisp.org>
32366         dirent: Don't assume <dirent.h> exists.
32367         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
32368         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
32369         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
32370         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
32372 2011-09-11  Bruno Haible  <bruno@clisp.org>
32374         Fix wint_t on MSVC.
32375         * lib/wchar.in.h (wint_t): On MSVC, override it.
32376         * lib/wctype.in.h (wint_t): Likewise.
32377         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
32378         MSVC.
32379         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
32380         * doc/posix-headers/wctype.texi: Likewise.
32382 2011-09-11  Bruno Haible  <bruno@clisp.org>
32384         sys_types: Fix typo.
32385         * lib/sys_types.in.h: Fix typo in comment.
32386         Reported by Paul Eggert.
32388         Support for MSVC compiler: Ensure size_t gets defined.
32389         * modules/strings (Depends-on): Add 'sys_types'.
32390         * modules/sys_uio (Depends-on): Likewise.
32391         * lib/sys_uio.in.h: Update comment.
32393         C++ tests for module 'sys_types'.
32394         * modules/sys_types-c++-tests: New file.
32395         * tests/test-sys_types-c++.cc: New file.
32397         Tests for module 'sys_types'.
32398         * modules/sys_types-tests: New file.
32399         * tests/test-sys_types.c: New file.
32401         New module 'sys_types'.
32402         * lib/sys_types.in.h: New file.
32403         * m4/sys_types_h.m4: New file.
32404         * modules/sys_types: New file.
32405         * doc/posix-headers/sys_types.texi: Mention the new module and the
32406         size_t problem on MSVC 9.
32408 2011-09-11  Bruno Haible  <bruno@clisp.org>
32410         Support for MSVC compiler: Avoid division by a literal 0.
32411         * lib/math.in.h (NAN): Define through a function call also on MSVC.
32412         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
32413         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
32414         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
32415         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
32416         * tests/infinity.h: New file.
32417         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
32418         on MSVC.
32419         * tests/test-ceilf1.c: Include infinity.h.
32420         (main): Use Infinityf.
32421         * tests/test-ceil1.c: Include infinity.h.
32422         (main): Use Infinityd.
32423         * tests/test-ceill.c: Include infinity.h.
32424         (main): Use Infinityl.
32425         * tests/test-dprintf-posix.c: Include infinity.h.
32426         (test_function): Use Infinityd.
32427         * tests/test-floorf1.c: Include infinity.h.
32428         (main): Use Infinityf.
32429         * tests/test-floor1.c: Include infinity.h.
32430         (main): Use Infinityd.
32431         * tests/test-floorl.c: Include infinity.h.
32432         (main): Use Infinityl.
32433         * tests/test-fprintf-posix.c: Include infinity.h.
32434         (test_function): Use Infinityd.
32435         * tests/test-frexp.c: Include infinity.h.
32436         (main): Use Infinityd.
32437         * tests/test-frexpl.c: Include infinity.h.
32438         (main): Use Infinityl.
32439         * tests/test-isfinite.c: Include infinity.h.
32440         (test_isfinitef): Use Infinityf.
32441         (test_isfinited): Use Infinityd.
32442         (test_isfinitel): Use Infinityl.
32443         * tests/test-isinf.c: Include infinity.h.
32444         (test_isinff): Use Infinityf.
32445         (test_isinfd): Use Infinityd.
32446         (test_isinfl): Use Infinityl.
32447         * tests/test-isnan.c: Include infinity.h.
32448         (test_float): Use Infinityf.
32449         (test_double): Use Infinityd.
32450         (test_long_double): Use Infinityl.
32451         * tests/test-isnanf.h: Include infinity.h.
32452         (main): Use Infinityf.
32453         * tests/test-isnand.h: Include infinity.h.
32454         (main): Use Infinityd.
32455         * tests/test-isnanl.h: Include infinity.h.
32456         (main): Use Infinityl.
32457         * tests/test-ldexpl.c: Include infinity.h.
32458         (main): Use Infinityl.
32459         * tests/test-printf-posix.h: Include infinity.h.
32460         (test_function): Use Infinityd.
32461         * tests/test-roundf1.c: Include infinity.h.
32462         (main): Use Infinityf.
32463         * tests/test-round1.c: Include infinity.h.
32464         (main): Use Infinityd.
32465         * tests/test-roundl.c: Include infinity.h.
32466         (main): Use Infinityl.
32467         * tests/test-signbit.c: Include infinity.h.
32468         (test_signbitf): Use Infinityf.
32469         (test_signbitd): Use Infinityd.
32470         (test_signbitl): Use Infinityl.
32471         * tests/test-snprintf-posix.h: Include infinity.h.
32472         (test_function): Use Infinityd, Infinityl.
32473         * tests/test-sprintf-posix.h: Include infinity.h.
32474         (test_function): Use Infinityd, Infinityl.
32475         * tests/test-truncf1.c: Include infinity.h.
32476         (main): Use Infinityf.
32477         * tests/test-trunc1.c: Include infinity.h.
32478         (main): Use Infinityd.
32479         * tests/test-truncl.c: Include infinity.h.
32480         (main): Use Infinityl.
32481         * tests/test-vasnprintf-posix.c: Include infinity.h.
32482         (test_function): Use Infinityd, Infinityl.
32483         * tests/test-vasprintf-posix.c: Include infinity.h.
32484         (test_function): Use Infinityd, Infinityl.
32485         * modules/ceilf-tests (Files): Add tests/infinity.h.
32486         * modules/ceil-tests (Files): Likewise.
32487         * modules/ceill-tests (Files): Likewise.
32488         * modules/dprintf-posix-tests (Files): Likewise.
32489         * modules/floorf-tests (Files): Likewise.
32490         * modules/floor-tests (Files): Likewise.
32491         * modules/floorl-tests (Files): Likewise.
32492         * modules/fprintf-posix-tests (Files): Likewise.
32493         * modules/frexp-tests (Files): Likewise.
32494         * modules/frexp-nolibm-tests (Files): Likewise.
32495         * modules/frexpl-tests (Files): Likewise.
32496         * modules/frexpl-nolibm-tests (Files): Likewise.
32497         * modules/isfinite-tests (Files): Likewise.
32498         * modules/isinf-tests (Files): Likewise.
32499         * modules/isnan-tests (Files): Likewise.
32500         * modules/isnanf-tests (Files): Likewise.
32501         * modules/isnanf-nolibm-tests (Files): Likewise.
32502         * modules/isnand-tests (Files): Likewise.
32503         * modules/isnand-nolibm-tests (Files): Likewise.
32504         * modules/isnanl-tests (Files): Likewise.
32505         * modules/isnanl-nolibm-tests (Files): Likewise.
32506         * modules/ldexpl-tests (Files): Likewise.
32507         * modules/printf-posix-tests (Files): Likewise.
32508         * modules/roundf-tests (Files): Likewise.
32509         * modules/round-tests (Files): Likewise.
32510         * modules/roundl-tests (Files): Likewise.
32511         * modules/signbit-tests (Files): Likewise.
32512         * modules/snprintf-posix-tests (Files): Likewise.
32513         * modules/sprintf-posix-tests (Files): Likewise.
32514         * modules/truncf-tests (Files): Likewise.
32515         * modules/trunc-tests (Files): Likewise.
32516         * modules/truncl-tests (Files): Likewise.
32517         * modules/vasnprintf-posix-tests (Files): Likewise.
32518         * modules/vasprintf-posix-tests (Files): Likewise.
32519         * modules/vdprintf-posix-tests (Files): Likewise.
32520         * modules/vfprintf-posix-tests (Files): Likewise.
32521         * modules/vprintf-posix-tests (Files): Likewise.
32522         * modules/vsnprintf-posix-tests (Files): Likewise.
32523         * modules/vsprintf-posix-tests (Files): Likewise.
32524         * modules/xprintf-posix-tests (Files): Likewise.
32526 2011-09-11  Bruno Haible  <bruno@clisp.org>
32528         Ensure pid_t gets defined.
32529         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
32530         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
32531         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
32532         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
32533         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
32534         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
32535         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
32536         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
32537         * tests/test-fcntl-h.c: Check that pid_t is defined.
32538         * tests/test-sched.c: Likewise.
32539         * tests/test-termios.c: Likewise.
32540         * tests/test-time.c: Likewise.
32541         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
32542         * doc/posix-headers/signal.texi: Likewise.
32543         * doc/posix-headers/sys_types.texi: Likewise.
32544         * doc/posix-headers/time.texi: Likewise.
32546 2011-09-11  Bruno Haible  <bruno@clisp.org>
32548         acl: Fix compilation on Solaris 10 (older version).
32549         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
32550         of ACE_EVERYONE.
32551         * lib/set-mode-acl.c (qset_acl): Likewise.
32552         Reported by Christian Jullien <eligis@orange.fr>.
32554 2011-09-10  Bruno Haible  <bruno@clisp.org>
32556         iconv, unsetenv: Add support for MSVC compiler.
32557         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
32558         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
32560 2011-09-10  Bruno Haible  <bruno@clisp.org>
32562         *printf: Add support for MSVC compiler.
32563         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
32564         handles the exception caused by the %n directive. When cross-compiling,
32565         guess no on native Windows.
32566         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
32567         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
32568         emulate it through vsnprintf.
32569         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
32570         * doc/posix-functions/dprintf.texi: Update documentation regarding
32571         MSVC 9.
32572         * doc/posix-functions/fprintf.texi: Likewise.
32573         * doc/posix-functions/printf.texi: Likewise.
32574         * doc/posix-functions/snprintf.texi: Likewise.
32575         * doc/posix-functions/sprintf.texi: Likewise.
32576         * doc/posix-functions/swprintf.texi: Likewise.
32577         * doc/posix-functions/vdprintf.texi: Likewise.
32578         * doc/posix-functions/vfprintf.texi: Likewise.
32579         * doc/posix-functions/vprintf.texi: Likewise.
32580         * doc/posix-functions/vsnprintf.texi: Likewise.
32581         * doc/posix-functions/vsprintf.texi: Likewise.
32582         * doc/glibc-functions/asprintf.texi: Likewise.
32583         * doc/glibc-functions/obstack_printf.texi: Likewise.
32584         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
32585         * doc/glibc-functions/vasprintf.texi: Likewise.
32587 2011-09-10  Bruno Haible  <bruno@clisp.org>
32589         nocrash: Add support for native Windows.
32590         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
32592 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
32593             Bruno Haible  <bruno@clisp.org>
32595         absolute-header, include-next: Add support for MSVC compiler.
32596         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
32597         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
32598         directory separator in #line directives.
32599         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
32600         recognize also backslash as directory separator in #line directives.
32602 2011-09-08  Jim Meyering  <meyering@redhat.com>
32604         maint.mk: mark the post-release commit log with "maint: " prefix
32605         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
32606         one-line commit-log summary.
32608 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
32609             Bruno Haible  <bruno@clisp.org>
32611         Doc about crypt functions.
32612         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
32613         systems.
32614         * doc/posix-functions/encrypt.texi: Likewise.
32615         * doc/posix-functions/setkey.texi: Likewise.
32617 2011-09-08  Simon Josefsson  <simon@josefsson.org>
32619         * lib/gc.h: Fix copyright header.
32621 2011-09-07  Bruno Haible  <bruno@clisp.org>
32623         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
32624         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
32625         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
32627 2011-09-07  Bruno Haible  <bruno@clisp.org>
32629         openat: Work around compilation error with OSF/1 5.1 DTK cc.
32630         * lib/fopen.c: Use different syntax for include of <stdio.h>.
32631         * lib/freopen.c: Likewise.
32632         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
32633         * lib/lstat.c: Likewise.
32634         * lib/stat.c: Likewise.
32635         * lib/open.c: Use different syntax for include of <fcntl.h>.
32636         * lib/openat.c: Include fcntl.h again, explicitly.
32638 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
32640         parse-datetime: document the newly accepted format
32641         * doc/parse-datetime.texi (Combined date and time of day items):
32642         New section.
32644 2011-09-06  Bruno Haible  <bruno@clisp.org>
32646         acl: Fix a test failure on newer Solaris 10 with ZFS.
32647         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
32648         ENOSYS as no ACL.
32649         Reported by Jim Meyering.
32651 2011-09-06  Bruno Haible  <bruno@clisp.org>
32653         acl: Update for AIX >= 5.3 with NFS.
32654         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
32655         ENOSYS as no ACL.
32657         acl: Fix a test failure on AIX >= 5.3 with NFS.
32658         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
32659         as no ACL.
32661 2011-09-06  Bruno Haible  <bruno@clisp.org>
32663         acl: Fix a test failure on IRIX 6.5 with NFS.
32664         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
32665         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
32666         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
32667         * lib/copy-acl.c (qcopy_acl): Likewise.
32669 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
32671         openat: port to AIX 7.1 with large files
32672         AIX 7.1 does a "#define openat open64at" if large files are in use,
32673         so we can't simply #undef openat.  Use the orig_openat trick (similar
32674         to orig_open in lib/open.c) to work around the problem.  Problem
32675         reported by Kevin Brott for GNU tar, in the thread containing
32676         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
32677         * lib/openat.c (__need_system_fcntl_h): Define first.
32678         Include <fcntl.h> and <sys/types.h> before undefining.
32679         (orig_openat) [HAVE_OPENAT]: New inline function.
32680         (openat) [HAVE_OPENAT]: Do not undef.
32681         (rpl_openat): Use orig_openat, not openat.
32683 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
32684             Bruno Haible  <bruno@clisp.org>
32686         acl: Avoid errors on NonStop Kernel.
32687         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
32688         ENOTSUP errors.
32690 2011-09-05  Bruno Haible  <bruno@clisp.org>
32692         acl: Clean up Solaris code.
32693         * lib/acl-internal.h: Remove no-op #if.
32694         * lib/file-has-acl.c: Likewise.
32695         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
32696         * lib/copy-acl.c (qcopy_acl): Likewise.
32698 2011-09-05  Bruno Haible  <bruno@clisp.org>
32700         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
32701         binaries built on the original Solaris 10.
32702         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
32703         trivial.
32705 2011-09-05  Bruno Haible  <bruno@clisp.org>
32707         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32708         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
32709         10.
32710         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
32711         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
32712         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
32713         instead of acl_get, facl_get, acl_set, facl_set.
32715 2011-09-05  Bruno Haible  <bruno@clisp.org>
32717         copy-file: Try unit tests on more file systems.
32718         * tests/test-copy-file-1.sh: New file.
32719         * tests/test-copy-file-2.sh: New file.
32720         * modules/copy-file-tests (Files): Add them.
32721         (Makefile.am): Add them to TESTS.
32723         acl: Try unit tests on more file systems.
32724         * tests/test-file-has-acl-1.sh: New file.
32725         * tests/test-file-has-acl-2.sh: New file.
32726         * tests/test-set-mode-acl-1.sh: New file.
32727         * tests/test-set-mode-acl-2.sh: New file.
32728         * tests/test-copy-acl-1.sh: New file.
32729         * tests/test-copy-acl-2.sh: New file.
32730         * modules/acl-tests (Files): Add them.
32731         (Makefile.am): Add them to TESTS.
32733 2011-09-04  Bruno Haible  <bruno@clisp.org>
32735         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
32736         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
32737         10.
32738         (OLD_ALLOW, OLD_DENY): New macros.
32739         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
32740         ACE_ACCESS_ALLOWED_ACE_TYPE.
32741         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
32742         ACE_ACCESS_DENIED_ACE_TYPE.
32743         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
32744         (NEW_ACE_EXECUTE): Fix value.
32745         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
32746         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
32747         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
32748         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
32749         NEW_ACE_SYNCHRONIZE): New macros.
32750         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
32751         instead of acl_fromtext, acl_set, facl_set.
32752         Fixes a coreutils/tests/cp/perm failure.
32754 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
32756         openat: test for fstatat (..., 0) bug
32757         Further testing with tar suggests that fstatat (..., 0)
32758         does not work in general, on AIX 7.1; see
32759         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
32760         So, give up entirely on AIX 7.1's fstatat, and fall back on our
32761         replacement fstatat (which is what older AIX releases were using
32762         anyway).
32763         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
32764         use is now changed to orig_fstatat.  This was probably the right
32765         thing to do anyway.
32766         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
32767         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
32768         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
32769         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
32770         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
32771         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
32772         if the bug is found.
32774         openat: test for fstatat (AT_FDCWD, ..., 0) bug
32775         This tests for another fstatat bug on AIX 7.1:
32776         fstatat (AT_FDCWD, ..., 0) does not work.  See
32777         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
32778         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
32779         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
32780         (rpl_fstatat): Adjust so that it works around either (or both)
32781         bugs if present.
32782         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
32784 2011-09-03  Karl Berry  <karl@gnu.org>
32786         * doc/regex.texi (Character Class Operators): Avoid literal ":"
32787         in index entries.
32789 2011-09-02  Bruno Haible  <bruno@clisp.org>
32791         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
32792         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
32793         values of AR, ARFLAGS, RANLIB.
32794         Reported by John W. Eaton <jwe@gnu.org> for Octave.
32796 2011-09-02  Bruno Haible  <bruno@clisp.org>
32798         Find 'ar' program that fits with --host argument.
32799         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
32801 2011-09-02  Bruno Haible  <bruno@clisp.org>
32803         tests: init.sh: Support any non-GNU diff.
32804         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
32805         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
32806         Solaris 8.
32808 2011-09-02  Bruno Haible  <bruno@clisp.org>
32810         tests: init.sh: work also with any non-GNU diff that supports -u
32811         * tests/init.sh: Relax check for diff -u support.
32812         Rather than checking for GNU diff via --version, simply check
32813         for support for -u itself.  Useful at least on OpenBSD 4.9,
32814         AIX 7.1, IRIX 6.5, and Solaris 10.
32816 2011-09-01  Bruno Haible  <bruno@clisp.org>
32818         strtoimax, strtoumax: Document problem on HP-UX 11.
32819         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
32820         * doc/posix-functions/strtoumax.texi: Likewise.
32822 2011-09-01  Bruno Haible  <bruno@clisp.org>
32824         strtoumax: Avoid link error on OSF/1 with DTK cc.
32825         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
32826         defined as a function.
32827         * modules/strtoumax (Depends-on, configure.ac): Test only whether
32828         strtoumax is defined, not whether it is declared.
32830 2011-09-01  Bruno Haible  <bruno@clisp.org>
32832         strtoimax: Avoid link error on OSF/1 with DTK cc.
32833         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
32834         defined as a function.
32835         * modules/strtoimax (Depends-on, configure.ac): Test only whether
32836         strtoimax is defined, not whether it is declared.
32838 2011-09-01  Bruno Haible  <bruno@clisp.org>
32840         imaxdiv: Avoid link error on OSF/1 with DTK cc.
32841         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
32842         as a function.
32843         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
32844         whether it is declared.
32846 2011-09-01  Bruno Haible  <bruno@clisp.org>
32848         imaxabs: Avoid link error on OSF/1 with DTK cc.
32849         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
32850         as a function.
32851         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
32852         whether it is declared.
32854 2011-09-01  Bruno Haible  <bruno@clisp.org>
32856         Tests for module 'strtoumax'.
32857         * modules/strtoumax-tests: New file.
32858         * tests/test-strtoumax.c: New file.
32860         Tests for module 'strtoimax'.
32861         * modules/strtoimax-tests: New file.
32862         * tests/test-strtoimax.c: New file.
32864         Tests for module 'imaxdiv'.
32865         * modules/imaxdiv-tests: New file.
32866         * tests/test-imaxdiv.c: New file.
32868         Tests for module 'imaxabs'.
32869         * modules/imaxabs-tests: New file.
32870         * tests/test-imaxabs.c: New file.
32872 2011-09-01  Bruno Haible  <bruno@clisp.org>
32874         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
32875         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
32876         pthread_create.
32878 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32880         openat: work around AIX 7.1 fstatat issue
32881         This should fix the problem that was not properly fixed
32882         in the previous change, dated 2011-08-30.
32883         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
32884         __need_system_stat_h defined.
32885         (orig_fstatat) [HAVE_FSTATAT]: New function.
32886         (rpl_fstatat): Go back to the old way of doing things,
32887         except call orig_fstatat instead of fstatat.
32888         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
32889         Remove unnecessary check whether fstatat fills in st_size etc.
32891 2011-09-01  Bruno Haible  <bruno@clisp.org>
32893         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
32894         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
32895         just include the system's header.
32897 2011-08-31  Jim Meyering  <meyering@redhat.com>
32899         tests: avoid spurious assertion failure in test-float.c on ppc64
32900         * tests/test-float.c (test_long_double): Comment out an assertion,
32901         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
32902         with gcc-4.4.4.
32904         maint: indent with spaces, not TABs
32905         I need to get in the habit of running gnulib's "make check".
32906         Both of these would have been caught.
32907         * m4/largefile.m4: Indent with spaces, not TABs.
32908         * lib/parse-datetime.y (iso_8601_time): Likewise.
32909         Spotted by Pádraig Brady.
32911         test-parse-datetime.c: accommodate a relatively strict gcc warning
32912         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
32913         to avoid a warning from gcc's -Werror=missing-declarations.
32914         Insert a few spaces-before-funcall-parenthesis.
32916 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
32918         parse-datetime: accept ISO 8601 date and time rep with "T" separator
32919         The parser now accepts ISO 8601 date-time strings with "T" as the
32920         separator.  It has long parsed dates like "2004-02-29 16:21:42"
32921         with a space between the date and time strings.  Now it also parses
32922         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
32923         variants like "2004-02-29T16:21:42.333-07:00"
32924         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
32925         of day representation using the 'T' separator character.
32926         * doc/parse-datetime.texi (General date syntax): replace use of
32927         deprecated --iso-8601 option with --rfc-3339 in example of date
32928         command output formats that can be parsed.
32929         * tests/test-parse-datetime.c (tm_diff): New function, taken from
32930         lib/parse-datetime.y.
32931         (gmt_offset): New function.
32932         (main): Add additional test cases to validate ISO8601 extended
32933         date and time of day parsing.
32935 2011-08-31  Bruno Haible  <bruno@clisp.org>
32937         freopen: Documentation.
32938         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
32939         name.
32940         Reported by Claudio Bley <claudio.bley@gmail.com>.
32942 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
32944         freopen: Don't crash if the filename argument is NULL.
32945         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
32946         NULL.
32948 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
32950         openat: work around AIX 7.1 fstatat bug
32951         Problem reported by Kevin Brott for GNU tar, in the thread containing
32952         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
32953         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
32954         FSTATAT_ST_SIZE_ETC_BROKEN.
32955         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
32956         rpl_fstatat.
32957         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
32958         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
32959         AC_CHECK_FUNCS_ONCE for fstatat.
32960         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
32961         fchmodat, mkdirat, openat and unlinkat.
32963 2011-08-30  Bruno Haible  <bruno@clisp.org>
32965         Avoid endless recursions if config.h includes some header files.
32966         * lib/fopen.c (__need_FILE): Define already before including config.h.
32967         * lib/freopen.c (__need_FILE): Likewise.
32968         * lib/open.c (__need_system_fcntl_h): Likewise.
32969         * lib/stat.c (__need_system_sys_stat_h): Likewise.
32970         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
32971         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
32973 2011-08-25  Karl Berry  <karl@gnu.org>
32975         * config/srclist.txt (ylwrap): new try.
32976         * build-aux/ylwrap: new file.
32978 2011-08-23  Bruno Haible  <bruno@clisp.org>
32980         tmpdir: Use a good default directory on native Windows.
32981         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
32982         (P_tmpdir): Default to _P_tmpdir on native Windows.
32983         (path_search): On native Windows, try the value returned by GetTempPath
32984         before trying P_tmpdir.
32985         * modules/tmpdir (Depends-on): Add pathmax.
32986         Suggested by John Darrington <john@darrington.wattle.id.au>.
32988 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
32990         doc: fix typo in README-release
32991         * top/README-release: Capitalize first word of a sentence.
32993 2011-08-19  Jim Meyering  <meyering@redhat.com>
32995         fts: do not exhaust memory when processing million-entry directories
32996         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
32997         directory would require about 256*N bytes of memory.  Thus, it was
32998         easy to construct a directory too large to be processed by any of
32999         those tools.  With this change, fts' maximum memory utilization is
33000         now limited to around 30MB.
33001         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
33002         (fts_read): When we've processed the final entry (i.e., when
33003         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
33004         using the parent entry to read any remaining entries.  Dispatch
33005         depending on what fts_build returns:
33006         - NULL+stop, aka failure: stop
33007         - NULL otherwise: move up in the dir hierarchy
33008         - non-NULL: handle this new entry
33009         (fts_build): Declare and use new local, continue_readdir.
33010         Prepare to be called from fts_read, when the entries
33011         from a partially-read directory have just been exhausted.
33012         In that case, we'll skip the opendir and instead use the parent's
33013         fts_dirp and derive dir_fd from that.
33014         Finally, in the readdir loop, if we read max_entries entries,
33015         exit the loop ensuring *not* to call closedir.  This is required
33016         so that fts_dirp can be reused on a subsequent call.
33017         Prompted by Ben England's report of memory exhaustion in find
33018         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
33020         maint: fts: move decl of `dp' down into while loop; split a long line
33021         * lib/fts.c (fts_build): No semantic change.
33023         fts: add/use new struct member, fts_dirp
33024         We are about to use this to manage any directory with
33025         too many entries to read all of them into memory at once.
33026         To do that, we'll need to save the DIR* pointer in each
33027         affected FTSENT struct.
33028         * lib/fts_.h: Include <dirent.h>.
33029         (struct FTSENT) [fts_dirp]: New member.
33030         * lib/fts.c (closedir_and_clear): Define.
33031         Use it in place of closedir so that we are sure to
33032         clear the new fts_dirp member when done with it.
33033         (fts_alloc): Initialize the new member.
33034         (fts_lfree): Free, if needed.
33036         maint: fts: give __opendir2 a new parameter and rename
33037         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
33038         than surreptitiously using sole caller's "dir_fd".
33039         (fts_opendir): Rename from __opendir2.
33041         maint: fts.c: remove __opendir2's now-unused parameter, oflag
33042         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
33044         maint: fts.c: correct off-by-one indentation
33045         * lib/fts.c (fts_build): Correct indentation, change style
33046         of a couple of block comments, and bracing style.
33048         maint: fts.c: move __opendir2 #define "up" out of function body
33049         * lib/fts.c (__opendir2): Move "up".  No semantic change.
33051         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
33052         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
33053         out for a long time and besides was useful only on BSD systems.
33055 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
33057         regex: port to Stratus OpenVOS
33058         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
33059         define to empty, rather than attempting nonportable optimizations.
33060         Problem reported by Paul Green in:
33061         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
33062         and fix suggested by Eric Blake in:
33063         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
33065 2011-08-17  Eric Blake  <eblake@redhat.com>
33067         getcwd: fix test failures on mingw
33068         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
33069         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
33070         test if long directory cannot be created, and allow mingw errno.
33072         getcwd-lgpl: fix m4 to match relaxed test for BSD
33073         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
33074         (gl_FUNC_GETCWD_SIGNATURE): New macro.
33075         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
33076         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
33077         signature problem.
33079         getcwd: fix compilation on mingw64
33080         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
33081         getcwd.
33082         Reported by Marc-André Lureau.
33084         pipe2: silence compiler warning
33085         * lib/pipe2.c (pipe2): Hide label if it is not used.
33087 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
33089         relocatable-prog: fix link error
33090         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
33091         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
33092         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
33093         into modules/relocatable-lib without noticing that
33094         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
33095         also needs to build relocatable.c.
33097 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
33099         getaddrinfo: fix sh typo in gai_strerrorA decl checking
33100         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
33101         shell code: it contained a 'break' that was not in a loop.
33102         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
33103         via a shell-language loop; this may have been true in old Autoconf
33104         versions, but it's not true in Autoconf 2.68.  I found this bug
33105         when testing coreutils git on Solaris 8, whose shell complains
33106         about the syntax error.
33108 2011-08-12  Simon Josefsson  <simon@josefsson.org>
33110         * lib/base64.c: Fix comment to reference RFC 4648.
33111         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
33112         <gvtulder@gmail.com>.
33114 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
33116         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
33118         po/Makefile.in.in: fix make -q problem
33119         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
33120         rule, since there's no file named 'check-macro-version' and its
33121         use as a file breaks make -q.
33122         (all): Don't depend on check-macro-version.
33123         (CHECK_MACRO_VERSION): New macro.
33124         (stamp-po): Use it.
33126         configmake: fix make -q problem
33127         * modules/configmake (configmake.h): Update configmake.h's time stamp
33128         even if the file does not change.  Otherwise, 'make -q' fails.
33129         Problem reported by Simon Josefsson in
33130         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
33132 2011-08-11  Jim Meyering  <meyering@redhat.com>
33134         git-version-gen: correct the advice in a comment
33135         * build-aux/git-version-gen: Correct comment.
33136         Don't recommend to list .tarball-version in .gitignore.
33138 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
33140         base64: fix off-by-one buffer size bug
33141         Problem and (trivial) fix reported by Gijs van Tulder in
33142         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
33143         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
33144         * tests/test-base64.c (main): Catch the bug.
33146 2011-08-10  Eric Blake  <eblake@redhat.com>
33148         closein: correct comments
33149         * lib/closein.c (close_stdin): Improve comments.
33151 2011-08-09  Bruno Haible  <bruno@clisp.org>
33153         More tests for 'fseeko'.
33154         * tests/test-fseeko3.c: New file, from Eric Blake.
33155         * tests/test-fseeko3.sh: New file.
33156         * modules/fseeko-tests (Files): Add them.
33157         (TESTS): Add test-fseeko3.sh.
33158         (check_PROGRAMS): Add test-fseeko3.
33160 2011-08-09  Eric Blake  <eblake@redhat.com>
33162         fseeko: remove unneeded hack
33163         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
33165         fseeko: fix bug on glibc
33166         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
33167         Reported by John W. Eaton.
33169 2011-08-08  Bruno Haible  <bruno@clisp.org>
33171         unictype/base: Fix interoperability with preinstalled libunistring.
33172         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
33173         Reported by Simon Josefsson.
33175 2011-08-08  Bruno Haible  <bruno@clisp.org>
33177         iswblank: Detect declaration correctly.
33178         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
33179         AC_CHECK_DECLS invocation.
33181 2011-08-08  Bruno Haible  <bruno@clisp.org>
33183         tcgetsid: Detect declaration correctly.
33184         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
33185         AC_CHECK_DECLS invocation.
33186         Reported by Simon Josefsson.
33188 2011-08-08  Eric Blake  <eblake@redhat.com>
33190         largefile: fix typo that regressed large file support
33191         * modules/largefile (configure.ac-early): Fix section name.
33193 2011-08-06  Karl Berry  <karl@gnu.org>
33195         * MODULES.html.sh (func_all_files): _Noreturn is no longer
33196         a separate module.
33198 2011-08-05  Simon Josefsson  <simon@josefsson.org>
33200         openat: Fix warnings and commens when building unlinkat.c on Hurd.
33201         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
33202         get prototype for free.
33204 2011-08-04  Bruno Haible  <bruno@clisp.org>
33206         Tests for module 'pathmax'.
33207         * modules/pathmax-tests: New file.
33208         * tests/test-pathmax.c: New file.
33210         canonicalize-lgpl: Support larger filenames on the Hurd.
33211         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
33212         Reported by Paul Eggert.
33214         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
33215         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
33216         * lib/chdir-long.h: Include pathmax.h.
33217         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
33218         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
33219         (PATH_MAX): Remove code that is done by pathmax.h.
33220         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
33221         * lib/tmpfile.c: Add a comment.
33222         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
33223         * modules/chdir-long (Depends-on): Add pathmax.
33224         * modules/getcwd (Depends-on): Add pathmax.
33225         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
33226         is not defined.
33227         * doc/posix-headers/limits.texi: Mention the pathmax module.
33228         * NEWS: Mention the change.
33230 2011-08-02  Bruno Haible  <bruno@clisp.org>
33232         pthread_sigmask: Actually use results of gl_THREADLIB.
33233         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
33234         gl_THREADLIB, not gl_[]THREADLIB.
33235         Reported by Eric Blake.
33237 2011-08-02  Jim Meyering  <meyering@redhat.com>
33239         maint.mk: relax the default _gl_TS_function_match regexp
33240         * top/maint.mk (_gl_TS_function_match): Don't require at least one
33241         space between function name and "(" in an "extern" declaration.
33242         That would fail to match a decl with no space there: extern void foo();
33244 2011-07-31  Iain Nicol  <iain@thenicols.net>
33246         git-version-gen: document that EXTRA_DIST must include .version
33247         * build-aux/git-version-gen: In the how-to-use comment, document
33248         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
33249         will fail when run from an unpacked distribution tarball.
33251 2011-08-01  Bruno Haible  <bruno@clisp.org>
33253         wctype-h: Fix last change.
33254         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
33255         REPLACE_TOWLOWER to 0.
33256         Reported by Sam Steingold <sds@gnu.org>.
33258 2011-07-31  Bruno Haible  <bruno@clisp.org>
33260         frexpl: Update autoconf test.
33261         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
33262         according to changes of 2011-06-20.
33264 2011-07-31  Bruno Haible  <bruno@clisp.org>
33266         sys_utsname: Add support for Minix.
33267         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
33268         <sys/utsname.h>.
33269         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33270         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
33272 2011-07-31  Bruno Haible  <bruno@clisp.org>
33274         strings: Add support for Minix.
33275         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
33276         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
33277         * doc/posix-headers/strings.texi: Document the Minix problem.
33279 2011-07-31  Bruno Haible  <bruno@clisp.org>
33281         wctype-h: Add support for Minix.
33282         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
33283         REPLACE_TOWLOWER.
33284         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
33285         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
33286         REPLACE_ISWCNTRL.
33288 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
33290         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
33291         This is a performance improvement for 64-bit hosts: it causes the
33292         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
33294 2011-07-31  Bruno Haible  <bruno@clisp.org>
33296         stdioext: Add support for Minix.
33297         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
33298         * lib/fpurge.c (fpurge): Likewise.
33299         * lib/freadahead.c (freadahead): Likewise.
33300         * lib/freadable.c (freadable): Likewise.
33301         * lib/freading.c (freading): Likewise.
33302         * lib/freadptr.c (freadptr): Likewise.
33303         * lib/freadseek.c (freadptrinc): Likewise.
33304         * lib/fseeko.c (rpl_fseeko): Likewise.
33305         * lib/fseterr.c (fseterr): Likewise.
33306         * lib/fwritable.c (fwritable): Likewise.
33307         * lib/fwriting.c (fwriting): Likewise.
33308         * lib/fflush.c (clear_ungetc_buffer): Update comment.
33309         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
33311 2011-07-31  Bruno Haible  <bruno@clisp.org>
33313         errno: Port to Minix.
33314         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
33315         ECONNABORTED are defined.
33316         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
33317         GNULIB_defined_ECONNABORTED): New macros.
33318         * lib/strerror-override.h (strerror_override): Test also
33319         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
33320         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
33321         ECONNABORTED.
33322         * doc/posix-headers/errno.texi: Mention the Minix problem.
33324 2011-07-31  Bruno Haible  <bruno@clisp.org>
33326         Work around declaration collisions on Minix.
33327         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
33328         defined, set REPLACE_MBSINIT.
33329         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
33330         defined, set REPLACE_MBRTOWC.
33331         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
33332         set REPLACE_MBRLEN.
33333         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
33334         defined, set REPLACE_MBSRTOWCS.
33335         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
33336         defined, set REPLACE_WCRTOMB.
33337         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
33338         defined, set REPLACE_WCSRTOMBS.
33340 2011-07-31  Bruno Haible  <bruno@clisp.org>
33342         Add support for Minix with ACK compiler.
33343         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
33344         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
33345         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
33347 2011-07-31  Bruno Haible  <bruno@clisp.org>
33349         Documentation about Minix.
33350         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
33351         * doc/glibc-headers/*.texi: Likewise.
33352         * doc/posix-functions/*.texi: Likewise.
33353         * doc/glibc-functions/*.texi: Likewise.
33355 2011-07-31  Bruno Haible  <bruno@clisp.org>
33357         snippet/warn-on-use: Fix indentation.
33358         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
33360 2011-07-25  Jim Meyering  <meyering@redhat.com>
33362         tests: test-update-copyright.sh: remove unnecessary "rm" commands
33363         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
33364         commands.
33366 2011-07-27  Jim Meyering  <meyering@redhat.com>
33368         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
33369         * top/maint.mk (gl_extract_significant_defines_): Now that
33370         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
33371         gnulib/lib/signal.in.h, and now that we recommend to
33372         define-if-undefined those two symbols in application code,
33373         we must filter them out of the "significant" list.
33374         This avoids a "make syntax-check" failure in coreutils.
33376 2011-07-26  Eric Blake  <eblake@redhat.com>
33378         warnings: add comments about previous patch
33379         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
33380         * m4/include_next.m4: Likewise.
33381         * m4/warn-on-use.m4: Likewise.
33382         * m4/warnings.m4: Likewise, and simplify use.
33383         Suggested by Stefano Lattarini.
33385         include-next, warnings: support older autoconf
33386         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
33387         AS_VAR_PUSHDEF in a way that works with older autoconf.
33388         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
33389         Reported by Daniel P. Berrange.
33391 2011-07-25  Bruno Haible  <bruno@clisp.org>
33393         fseek, ftell: Fix doc.
33394         * doc/posix-functions/fseek.texi: Reword statement about
33395         AC_SYS_LARGEFILE.
33396         * doc/posix-functions/ftell.texi: Likewise.
33398 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33399             Bruno Haible  <bruno@clisp.org>
33401         Add dependencies to the 'largefile' module.
33402         * modules/fopen (Depends-on): Add 'largefile'.
33403         * modules/freopen (Depends-on): Likewise.
33404         * modules/fseeko (Depends-on): Likewise.
33405         * modules/ftello (Depends-on): Likewise.
33406         * modules/glob (Depends-on): Likewise.
33407         * modules/lseek (Depends-on): Likewise.
33408         * modules/lstat (Depends-on): Likewise.
33409         * modules/mkostemp (Depends-on): Likewise.
33410         * modules/mkostemps (Depends-on): Likewise.
33411         * modules/mkstemp (Depends-on): Likewise.
33412         * modules/mkstemps (Depends-on): Likewise.
33413         * modules/open (Depends-on): Likewise.
33414         * modules/openat (Depends-on): Likewise.
33415         * modules/pread (Depends-on): Likewise.
33416         * modules/pwrite (Depends-on): Likewise.
33417         * modules/scandir (Depends-on): Likewise.
33418         * modules/stat (Depends-on): Likewise.
33419         * modules/tmpfile (Depends-on): Likewise.
33420         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
33421         since the containing module now depends on the largefile module.
33422         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
33423         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
33424         off_t is fixed by gnulib.
33425         * doc/posix-functions/freopen.texi: Likewise.
33426         * doc/posix-functions/fseeko.texi: Likewise.
33427         * doc/posix-functions/fstatat.texi: Likewise.
33428         * doc/posix-functions/ftello.texi: Likewise.
33429         * doc/posix-functions/glob.texi: Likewise.
33430         * doc/posix-functions/lseek.texi: Likewise.
33431         * doc/posix-functions/lstat.texi: Likewise.
33432         * doc/posix-functions/mkstemp.texi: Likewise.
33433         * doc/posix-functions/open.texi: Likewise.
33434         * doc/posix-functions/openat.texi: Likewise.
33435         * doc/posix-functions/pread.texi: Likewise.
33436         * doc/posix-functions/pwrite.texi: Likewise.
33437         * doc/posix-functions/scandir.texi: Likewise.
33438         * doc/posix-functions/stat.texi: Likewise.
33439         * doc/posix-functions/tmpfile.texi: Likewise.
33440         * doc/glibc-functions/mkostemp.texi: Likewise.
33441         * doc/glibc-functions/mkostemps.texi: Likewise.
33442         * doc/glibc-functions/mkstemps.texi: Likewise.
33444 2011-07-25  Bruno Haible  <bruno@clisp.org>
33446         fcntl: Move AC_LIBOBJ invocation to module description.
33447         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
33448         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
33450         fcntl: Remove call-in from fchdir.m4.
33451         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
33452         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
33454         dup3: Remove potential call-in from fchdir.m4.
33455         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
33456         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
33458         dup2: Move AC_LIBOBJ invocation to module description.
33459         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
33460         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
33461         Don't invoke AC_LIBOBJ.
33462         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
33464         dup2: Remove call-in from fchdir.m4.
33465         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
33466         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
33468         fclose: Move AC_LIBOBJ invocation to module description.
33469         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
33470         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
33471         to 1.
33472         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
33474         fclose: Remove call-in from close.m4.
33475         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
33476         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
33478         close: Move AC_LIBOBJ invocation to module description.
33479         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
33480         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
33481         1.
33482         * modules/close (configure.ac): Invoke AC_LIBOBJ.
33484         close: Remove call-in from fchdir.m4.
33485         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
33486         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
33488         open: Move AC_LIBOBJ invocation to module description.
33489         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
33490         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
33491         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
33493         open: Remove call-in from fchdir.m4.
33494         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
33495         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
33497         fchdir: Start to remove gl_REPLACE_* idiom.
33498         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
33499         (gl_FUNC_FCHDIR): Invoke it.
33501 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
33503         * lib/ftell.c (ftell): Comment out cast.
33505         close: use gl_REPLACE_FCLOSE only if defined
33506         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
33507         is defined.  The close module doesn't depend on the fclose module
33508         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
33509         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
33510         I reproduced the problem with "./gnulib-tool --test close sys_socket".
33512 2011-07-24  Jim Meyering  <meyering@redhat.com>
33514         test-select.h: avoid warning when using gcc's -Wmissing-declarations
33515         * tests/test-select.h (test_function): Declare as "static".
33517 2011-07-24  Bruno Haible  <bruno@clisp.org>
33519         doc: Mention the effects of AC_SYS_LARGEFILE.
33520         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
33521         on this function.
33522         * doc/posix-functions/aio_error.texi: Likewise.
33523         * doc/posix-functions/aio_fsync.texi: Likewise.
33524         * doc/posix-functions/aio_read.texi: Likewise.
33525         * doc/posix-functions/aio_return.texi: Likewise.
33526         * doc/posix-functions/aio_suspend.texi: Likewise.
33527         * doc/posix-functions/aio_write.texi: Likewise.
33528         * doc/posix-functions/fgetpos.texi: Likewise.
33529         * doc/posix-functions/fopen.texi: Likewise.
33530         * doc/posix-functions/freopen.texi: Likewise.
33531         * doc/posix-functions/fsetpos.texi: Likewise.
33532         * doc/posix-functions/fstatvfs.texi: Likewise.
33533         * doc/posix-functions/ftruncate.texi: Likewise.
33534         * doc/posix-functions/ftw.texi: Likewise.
33535         * doc/posix-functions/getrlimit.texi: Likewise.
33536         * doc/posix-functions/glob.texi: Likewise.
33537         * doc/posix-functions/lio_listio.texi: Likewise.
33538         * doc/posix-functions/lockf.texi: Likewise.
33539         * doc/posix-functions/mkstemp.texi: Likewise.
33540         * doc/posix-functions/mmap.texi: Likewise.
33541         * doc/posix-functions/nftw.texi: Likewise.
33542         * doc/posix-functions/openat.texi: Likewise.
33543         * doc/posix-functions/opendir.texi: Likewise.
33544         * doc/posix-functions/posix_fadvise.texi: Likewise.
33545         * doc/posix-functions/posix_fallocate.texi: Likewise.
33546         * doc/posix-functions/pread.texi: Likewise.
33547         * doc/posix-functions/pwrite.texi: Likewise.
33548         * doc/posix-functions/readdir.texi: Likewise.
33549         * doc/posix-functions/readdir_r.texi: Likewise.
33550         * doc/posix-functions/rewinddir.texi: Likewise.
33551         * doc/posix-functions/scandir.texi: Likewise.
33552         * doc/posix-functions/seekdir.texi: Likewise.
33553         * doc/posix-functions/setrlimit.texi: Likewise.
33554         * doc/posix-functions/statvfs.texi: Likewise.
33555         * doc/posix-functions/telldir.texi: Likewise.
33556         * doc/posix-functions/tmpfile.texi: Likewise.
33557         * doc/posix-functions/truncate.texi: Likewise.
33558         * doc/glibc-functions/fallocate.texi: Likewise.
33559         * doc/glibc-functions/fstatfs.texi: Likewise.
33560         * doc/glibc-functions/fts_children.texi: Likewise.
33561         * doc/glibc-functions/fts_read.texi: Likewise.
33562         * doc/glibc-functions/getdirentries.texi: Likewise.
33563         * doc/glibc-functions/mkostemp.texi: Likewise.
33564         * doc/glibc-functions/mkostemps.texi: Likewise.
33565         * doc/glibc-functions/mkstemps.texi: Likewise.
33566         * doc/glibc-functions/preadv.texi: Likewise.
33567         * doc/glibc-functions/pwritev.texi: Likewise.
33568         * doc/glibc-functions/sendfile.texi: Likewise.
33569         * doc/glibc-functions/statfs.texi: Likewise.
33571 2011-07-24  Bruno Haible  <bruno@clisp.org>
33573         doc: Fix typo.
33574         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
33576 2011-07-24  Bruno Haible  <bruno@clisp.org>
33578         doc: Mention fsusage.
33579         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
33581 2011-07-24  Bruno Haible  <bruno@clisp.org>
33583         doc: Mention new glibc headers and functions.
33584         * doc/glibc-headers/gshadow.texi: New file.
33585         * doc/glibc-functions/endsgent.texi: New file.
33586         * doc/glibc-functions/fgetsgent.texi: New file.
33587         * doc/glibc-functions/fgetsgent_r.texi: New file.
33588         * doc/glibc-functions/getsgent.texi: New file.
33589         * doc/glibc-functions/getsgent_r.texi: New file.
33590         * doc/glibc-functions/getsgnam.texi: New file.
33591         * doc/glibc-functions/getsgnam_r.texi: New file.
33592         * doc/glibc-functions/putsgent.texi: New file.
33593         * doc/glibc-functions/setsgent.texi: New file.
33594         * doc/glibc-functions/sgetsgent.texi: New file.
33595         * doc/glibc-functions/sgetsgent_r.texi: New file.
33596         * doc/glibc-functions/malloc_info.texi: New file.
33597         * doc/glibc-functions/preadv.texi: New file.
33598         * doc/glibc-functions/pwritev.texi: New file.
33599         * doc/glibc-functions/register_printf_modifier.texi: New file.
33600         * doc/glibc-functions/register_printf_specifier.texi: New file.
33601         * doc/glibc-functions/register_printf_type.texi: New file.
33602         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
33603         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
33604         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
33605         * doc/glibc-functions/pthread_getname_np.texi: New file.
33606         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
33607         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
33608         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
33609         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
33610         * doc/glibc-functions/pthread_setname_np.texi: New file.
33611         * doc/glibc-functions/pthread_sigqueue.texi: New file.
33612         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
33613         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
33614         * doc/glibc-functions/qsort_r.texi: New file.
33615         * doc/glibc-functions/quick_exit.texi: New file.
33616         * doc/glibc-functions/syncfs.texi: New file.
33617         * doc/gnulib.texi: Include them.
33618         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
33619         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
33620         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
33621         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
33622         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
33623         * doc/glibc-functions/execvpe.texi: Likewise.
33625 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33627         ftell: don't include <unistd.h>
33628         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
33629         guaranteed to define off_t, and the ftell module depends on the
33630         stdio module.
33632         ftell: do not assume wraparound signed arithmetic
33633         * lib/ftell.c: Include <limits.h>.
33634         (ftell): Don't assume wraparound signed arithmetic.
33636 2011-07-24  Bruno Haible  <bruno@clisp.org>
33638         close: No longer depend on module 'fclose'.
33639         * modules/close (Depends-on): Remove fclose.
33640         * NEWS: Mention the change.
33641         Suggested by Sam Steingold <sds@gnu.org>.
33643 2011-07-24  Bruno Haible  <bruno@clisp.org>
33645         fsusage: Enable large volume support on AIX >= 5.2.
33646         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
33647         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
33648         instead of STAT_STATVFS.
33649         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
33651         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
33652         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
33653         f_blocks field only on MacOS X.
33655         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
33656         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
33657         * modules/fsusage (Depends-on): Add largefile.
33659 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
33661         * README: Modernize discussion of signed integers.
33662         Assuming overflow wraparound is no longer safe.
33663         Mention ones' complement and signed magnitude.
33665 2011-07-22  Bruno Haible  <bruno@clisp.org>
33667         select tests, pselect tests: Refactor.
33668         * tests/test-select.h: New file, extracted from tests/test-select.c.
33669         (select_fn): New type.
33670         (test, do_select, do_select_nowait, do_select_wait, test_tty,
33671         test_connect_first, test_accept_first, test_pair, test_socket_pair,
33672         test_pipe): Add my_select argument.
33673         (test_function): Renamed from main. Add my_select argument.
33674         * tests/test-select.c: Move most code to tests/test-select.h. Include
33675         test-select.h.
33676         * modules/select-tests (Files): Add tests/test-select.h.
33677         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
33678         (my_select, main): New functions.
33679         * modules/pselect-tests (Files): Add tests/test-select.h,
33680         tests/macros.h, tests/signature.h.
33681         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
33682         (configure.ac): Check for <sys/wait.h>.
33684 2011-07-22  Bruno Haible  <bruno@clisp.org>
33686         sys_select tests: Check the signature of FD_*.
33687         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
33688         signature tests from here...
33689         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
33690         here.
33691         * modules/sys_select-tests (Files): Add tests/signature.h.
33693 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
33695         largefile: new module, replacing large-inode
33696         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
33697         * MODULES.html.sh: Add largefile, remove large-inode.
33698         * modules/largefile, m4/largefile.m4: New files.
33699         * modules/large-inode, m4/large-inode.m4: Remove.
33701         fsusage: port to MacOS X 10.7 with 4 TiB file systems
33702         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
33703         implementations that use only 32 bits to count blocks.
33704         On typical hosts with 1024-byte blocks, this fails with file
33705         systems as small as 4 TiB.  Problem reported by Herb Wartens
33706         <http://debbugs.gnu.org/9140> and this should also fix a similar
33707         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
33709         large-inode: New module
33710         * MODULES.html.sh: Add it.
33711         * modules/large-inode, m4/large-inode.m4: New files.
33713         extensions: Enable extensions on MacOS X 10.5 and later.
33714         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
33716 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
33718         file-has-acl: use acl_extended_file_nofollow if available
33719         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
33720         (acl_extended_file): New macro.
33721         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
33722         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
33724 2011-07-21  Bruno Haible  <bruno@clisp.org>
33726         Declare system functions in a way that works with C++.
33727         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
33728         declare fdopendir as extern "C".
33729         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
33730         declare frexpl as extern "C".
33731         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
33732         declare gai_strerror as extern "C".
33733         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
33734         programs, declare gai_strerror as extern "C".
33735         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
33736         declare getlogin_r as extern "C".
33737         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
33738         as extern "C".
33739         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
33740         declare ldexpl as extern "C".
33741         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
33742         as extern "C".
33743         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
33744         program, declare getmntinfo as extern "C".
33745         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
33746         stpncpy as extern "C".
33747         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
33748         program, declare __xpg_strerror_r as extern "C".
33749         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
33750         strndup as extern "C".
33751         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
33752         declare memset and bzero as extern "C".
33753         Reported by Sam Steingold <sds@gnu.org>.
33755 2011-07-12  Jim Meyering  <meyering@redhat.com>
33757         maint.mk: prohibit inclusion of "verify.h" without use
33758         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
33760 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33762         timer-time: A new module to check for timer_settime()
33763         * m4/timer_time.m4: Check for the posix function.
33764         * modules/timer-time: Add the new module.
33765         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
33766         Mention it.
33768 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
33769             Bruno Haible  <bruno@clisp.org>
33771         pthread_sigmask: assume POSIX threads if --avoid=threadlib
33772         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
33773         not defined, assume POSIX threads and look for pthread_sigmask in
33774         $LIBS, without changing $CPPFLAGS.
33776 2011-07-19  Bruno Haible  <bruno@clisp.org>
33778         strstr: Update cross-compilation guess.
33779         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
33780         CPUs, guess no, in view of glibc
33781         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
33782         Suggested by Eric Blake. Reported by Reuben Thomas.
33784 2011-07-19  Pádraig Brady  <P@draigBrady.com>
33786         getopt-gnu: suppress core dumps from detection code
33787         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
33788         to suppress core dumps that may well occur on glibc systems.
33789         * modules/getopt-gnu: Depend on nocrash.
33791 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
33793         pthread_sigmask: ensure usleep is declared
33794         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
33795         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
33797 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
33799         doc: Document NonStop portability issues.
33800         * doc/posix-functions/sigaction.texi (sigaction):
33801         * doc/posix-headers/signal.texi (signal.h):
33802         Document NonStop.  See Joachim Schmitz in
33803         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
33805 2011-07-15  Bruno Haible  <bruno@clisp.org>
33807         ffsl, ffsll: Avoid unportable behaviour.
33808         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
33810 2011-07-15  Bruno Haible  <bruno@clisp.org>
33812         ffs: More tests.
33813         * tests/test-ffs.c (NBITS): New macro.
33814         (main): Add more tests.
33815         * tests/test-ffsl.c (NBITS): New macro.
33816         (main): Add more tests.
33817         * tests/test-ffsll.c (NBITS): New macro.
33818         (main): Add more tests.
33820 2011-07-15  Eric Blake  <eblake@redhat.com>
33822         ffsl, ffsll: new modules
33823         * modules/ffsl: New file.
33824         * modules/ffsll: Likewise.
33825         * m4/ffsl.m4: Likewise.
33826         * m4/ffsll.m4: Likewise.
33827         * lib/ffsl.c: Likewise.
33828         * lib/ffsl.h: Likewise.
33829         * lib/ffsll.c: Likewise.
33830         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
33831         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
33832         * modules/string (Makefile.am): Substitute witnesses.
33833         * lib/strings.in.h (ffsl, ffsll): Declare.
33834         * modules/ffsl-tests: New test file.
33835         * modules/ffsll-tests: Likewise.
33836         * tests/test-ffsl.c: Likewise.
33837         * tests/test-ffsll.c: Likewise.
33838         * MODULES.html.sh (Integer arithmetic functions): Mention it.
33839         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
33840         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
33842         ffs: fix m4 prerequisite
33843         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
33845         ffs: avoid undefined behavior
33846         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
33847         * tests/test-ffs.c (naive, main): Avoid signed shifts.
33848         Reported by Bruno Haible.
33850 2011-07-12  Bruno Haible  <bruno@clisp.org>
33852         pthread_sigmask: Rely on module 'threadlib'.
33853         * modules/pthread_sigmask (Depends-on): Add threadlib.
33854         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
33855         is defined.
33857 2011-07-12  Bruno Haible  <bruno@clisp.org>
33859         regex: Depend on module 'strcase'.
33860         * modules/regex (Depends-on): Add strcase, for strcasecmp().
33862 2011-07-12  Jim Meyering  <meyering@redhat.com>
33864         warn-on-use: fix typo in file name
33865         * modules/snippet/warn-on-use (Files): Correct file name:
33866         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
33868 2011-07-12  Bruno Haible  <bruno@clisp.org>
33870         strings: Document module.
33871         * doc/posix-headers/strings.texi: Mention module 'strings'.
33873 2011-07-12  Bruno Haible  <bruno@clisp.org>
33875         Rename module '_Noreturn' to 'snippet/_Noreturn'.
33876         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
33877         (Files, Makefile.am): Update.
33878         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
33879         * modules/stdlib (Depends-on): Update.
33881 2011-07-12  Bruno Haible  <bruno@clisp.org>
33883         * NEWS: Mention the changes.
33885         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
33886         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
33887         (Files, Makefile.am): Update.
33888         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
33889         * modules/arpa_inet (Depends-on): Update.
33890         * modules/ctype (Depends-on): Update.
33891         * modules/dirent (Depends-on): Update.
33892         * modules/fcntl-h (Depends-on): Update.
33893         * modules/glob (Depends-on): Update.
33894         * modules/iconv-h (Depends-on): Update.
33895         * modules/inttypes-incomplete (Depends-on): Update.
33896         * modules/langinfo (Depends-on): Update.
33897         * modules/locale (Depends-on): Update.
33898         * modules/math (Depends-on): Update.
33899         * modules/netdb (Depends-on): Update.
33900         * modules/poll-h (Depends-on): Update.
33901         * modules/pty (Depends-on): Update.
33902         * modules/search (Depends-on): Update.
33903         * modules/signal (Depends-on): Update.
33904         * modules/spawn (Depends-on): Update.
33905         * modules/stdio (Depends-on): Update.
33906         * modules/stdlib (Depends-on): Update.
33907         * modules/string (Depends-on): Update.
33908         * modules/strings (Depends-on): Update.
33909         * modules/sys_file (Depends-on): Update.
33910         * modules/sys_ioctl (Depends-on): Update.
33911         * modules/sys_select (Depends-on): Update.
33912         * modules/sys_socket (Depends-on): Update.
33913         * modules/sys_stat (Depends-on): Update.
33914         * modules/sys_time (Depends-on): Update.
33915         * modules/sys_times (Depends-on): Update.
33916         * modules/sys_utsname (Depends-on): Update.
33917         * modules/sys_wait (Depends-on): Update.
33918         * modules/termios (Depends-on): Update.
33919         * modules/time (Depends-on): Update.
33920         * modules/unistd (Depends-on): Update.
33921         * modules/wchar (Depends-on): Update.
33922         * modules/wctype-h (Depends-on): Update.
33923         * MODULES.html.sh (Support for building libraries and executables):
33924         Update.
33926         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
33927         * modules/snippet/unused-parameter: Renamed from
33928         modules/unused-parameter.
33929         (Files, Makefile.am): Update.
33930         * build-aux/snippet/unused-parameter.h: Renamed from
33931         build-aux/unused-parameter.h.
33932         * modules/selinux-h (Depends-on): Update.
33933         * modules/unistr/base (Depends-on): Update.
33934         * MODULES.html.sh (Core language properties): Update.
33936         Rename module 'link-warning' to 'snippet/link-warning'.
33937         * modules/snippet/link-warning: Renamed from modules/link-warning.
33938         (Files, Makefile.am): Update.
33939         * build-aux/snippet/link-warning.h: Renamed from
33940         build-aux/link-warning.h.
33941         * MODULES.html.sh (Support for building libraries and executables):
33942         Update.
33944         Rename module 'c++defs' to 'snippet/c++defs'.
33945         * modules/snippet/c++defs: Renamed from modules/c++defs.
33946         (Files, Makefile.am): Update.
33947         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
33948         * modules/arpa_inet (Depends-on): Update.
33949         * modules/ctype (Depends-on): Update.
33950         * modules/dirent (Depends-on): Update.
33951         * modules/fcntl-h (Depends-on): Update.
33952         * modules/glob (Depends-on): Update.
33953         * modules/iconv-h (Depends-on): Update.
33954         * modules/langinfo (Depends-on): Update.
33955         * modules/locale (Depends-on): Update.
33956         * modules/math (Depends-on): Update.
33957         * modules/netdb (Depends-on): Update.
33958         * modules/poll-h (Depends-on): Update.
33959         * modules/pty (Depends-on): Update.
33960         * modules/search (Depends-on): Update.
33961         * modules/signal (Depends-on): Update.
33962         * modules/spawn (Depends-on): Update.
33963         * modules/stdio (Depends-on): Update.
33964         * modules/stdlib (Depends-on): Update.
33965         * modules/string (Depends-on): Update.
33966         * modules/strings (Depends-on): Update.
33967         * modules/sys_ioctl (Depends-on): Update.
33968         * modules/sys_select (Depends-on): Update.
33969         * modules/sys_socket (Depends-on): Update.
33970         * modules/sys_stat (Depends-on): Update.
33971         * modules/sys_time (Depends-on): Update.
33972         * modules/sys_wait (Depends-on): Update.
33973         * modules/termios (Depends-on): Update.
33974         * modules/time (Depends-on): Update.
33975         * modules/unistd (Depends-on): Update.
33976         * modules/wchar (Depends-on): Update.
33977         * modules/wctype-h (Depends-on): Update.
33979         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
33980         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
33981         (Files, Makefile.am): Update.
33982         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
33983         * modules/argv-iter (Depends-on): Update.
33984         * modules/arpa_inet (Depends-on): Update.
33985         * modules/dirent (Depends-on): Update.
33986         * modules/fcntl-h (Depends-on): Update.
33987         * modules/fnmatch (Depends-on): Update.
33988         * modules/getopt-posix (Depends-on): Update.
33989         * modules/glob (Depends-on): Update.
33990         * modules/iconv-h (Depends-on): Update.
33991         * modules/inttypes-incomplete (Depends-on): Update.
33992         * modules/locale (Depends-on): Update.
33993         * modules/math (Depends-on): Update.
33994         * modules/netdb (Depends-on): Update.
33995         * modules/search (Depends-on): Update.
33996         * modules/signal (Depends-on): Update.
33997         * modules/spawn (Depends-on): Update.
33998         * modules/stdio (Depends-on): Update.
33999         * modules/stdlib (Depends-on): Update.
34000         * modules/string (Depends-on): Update.
34001         * modules/strings (Depends-on): Update.
34002         * modules/sys_socket (Depends-on): Update.
34003         * modules/sys_stat (Depends-on): Update.
34004         * modules/sys_time (Depends-on): Update.
34005         * modules/sys_times (Depends-on): Update.
34006         * modules/sys_utsname (Depends-on): Update.
34007         * modules/time (Depends-on): Update.
34008         * modules/unistd (Depends-on): Update.
34009         * modules/wchar (Depends-on): Update.
34010         * MODULES.html.sh (Support for building libraries and executables):
34011         Update.
34013 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
34015         Improvements on _Noreturn and related modules.
34017         modules/_Exit-tests: test _Noreturn too
34018         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
34019         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
34020         (main): Use them.
34022         stdnoreturn, stdnoreturn-tests: remove modules
34023         They're not needed here and a bit premature for use elsewhere.  See
34024         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
34025         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
34026         * tests/test-stdnoreturn.c: Remove files.
34027         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
34028         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
34029         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
34030         and using noreturn.
34031         * modules/openat, modules/sigpipe-die, modules/xalloc:
34032         * modules/xmemdup0, modules/xstrtol:
34033         Remove dependency on stdnoreturn.
34035         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
34036         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
34037         Reparenthesize to avoid GCC warning.
34038         Support Microsoft's syntax.
34039         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
34041         _Noreturn-tests: remove module
34042         * modules/_Noreturn-tests: Remove.
34043         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
34044         * tests/test-_Noreturn.c: Remove.
34045         * tests/test-stdnoreturn.c: Merge from the old
34046         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
34048 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
34050         _Noreturn, stdnoreturn, and related modules.
34052         * top/maint.mk: Adjust to new noreturn support.
34053         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
34054         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
34056         xalloc: use stdnoreturn.h
34057         * lib/xalloc.h: Include <stdnoreturn.h>.
34058         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34059         * modules/xalloc (Depends-on): Add stdnoreturn.
34061         xstrtol: use stdnoreturn.h
34062         * lib/xstrtol.h: Include <stdnoreturn.h>.
34063         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34064         * modules/xstrtol (Depends-on): Add stdnoreturn.
34066         xmemdup0: use stdnoreturn.h
34067         * lib/xmemdup0.h: Include <stdnoreturn.h>.
34068         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34069         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
34071         sigpipe-die: use stdnoreturn.h
34072         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
34073         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34074         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
34076         openat: use stdnoreturn.h
34077         * lib/openat.h: Include <stdnoreturn.h>.
34078         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
34079         * modules/openat (Depends-on): Add stdnoreturn.
34081         * lib/openat-die.c (openat_save_fail): Modernize comment.
34083         * lib/xalloc-die.c (xalloc_die): Modernize comment.
34085         * lib/glthread/thread.h: Modernize comment.
34087         obstack: use _Noreturn
34088         * lib/obstack.c (__attribute__): Remove macro.
34089         (print_and_abort): Use _Noreturn.
34091         c-stack: use _Noreturn
34092         * lib/c-stack.c (die, overflow_handler, segv_handler):
34093         Use _Noreturn rather than __attribute__((noreturn)).
34095         argmatch-tests, exclude_tests: use _Noreturn
34096         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
34097         Remove.
34098         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
34100         stdlib: use _Noreturn
34101         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
34102         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
34103         * modules/stdlib (Depends-on): Add _Noreturn.
34104         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
34106         stdnoreturn-tests: new module
34107         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
34109         stdnoreturn: new module
34110         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
34111         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
34113         _Noreturn-tests: new module
34114         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
34116         _Noreturn: new module
34117         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
34118         New section, mentioning it.
34119         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
34121         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
34123 2011-07-11  Eric Blake  <eblake@redhat.com>
34125         ffs: new module
34126         * modules/ffs: New file.
34127         * m4/ffs.m4: Likewise.
34128         * lib/ffs.c: Likewise.
34129         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
34130         * modules/strings (Makefile.am): Substitute witness.
34131         (Depends-on): Add c++defs.
34132         * lib/strings.in.h (ffs): Declare.
34133         * modules/ffs-tests: New test file.
34134         * tests/test-ffs.c: Test new module.
34135         * MODULES.html.sh (Integer arithmetic functions): Mention it.
34136         * doc/posix-functions/ffs.texi (ffs): Likewise.
34138         regex: avoid compiler warning
34139         * lib/regex.c (includes): Include <strings.h>, for use of
34140         strcasecmp in regcomp.c.
34141         Reported by Joachim Schmitz.
34143 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34145         stdint: respect system's intmax_t if INTMAX_MAX
34146         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
34147         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
34148         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
34149         long but int64_t is long long, and where we will clash with the
34150         system intmax_t if we override it.  See
34151         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
34152         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
34153         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
34154         similarly for UINTMAX_C.
34156 2011-07-08  Bruno Haible  <bruno@clisp.org>
34158         pthread_sigmask tests: Avoid a compiler warning.
34159         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
34160         non-zero.
34162         sigprocmask tests: A better way to avoid a compiler warning.
34163         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
34164         (main): Complain if system() returns non-zero.
34165         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
34167 2011-07-08  Bruno Haible  <bruno@clisp.org>
34169         pthread_sigmask: Work around IRIX bug.
34170         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
34171         bug.
34172         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
34173         there may be unblocked pending signals.
34174         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
34176 2011-07-08  Bruno Haible  <bruno@clisp.org>
34178         pthread_sigmask: Work around Cygwin bug.
34179         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
34180         bug.
34181         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
34182         the system's pthread_sigmask function.
34183         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
34185 2011-07-08  Bruno Haible  <bruno@clisp.org>
34187         pthread_sigmask: Work around bug in single-threaded implementation.
34188         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
34189         FreeBSD, HP-UX, Solaris bug.
34190         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
34191         * lib/pthread_sigmask.c: Include <stddef.h>.
34192         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
34193         the system's pthread_sigmask function.
34194         * modules/pthread_sigmask (configure.ac): Invoke
34195         gl_PREREQ_PTHREAD_SIGMASK.
34196         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
34197         HP-UX, Solaris.
34199 2011-07-08  Eric Blake  <eblake@redhat.com>
34201         test-sigprocmask: avoid compiler warning
34202         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
34203         * tests/test-sigprocmask.c (main): Use it to silence warning.
34204         Reported by Jim Meyering.
34206         test-snprintf: avoid compiler warning
34207         * tests/test-snprintf.c (main): Avoid shadowed declaration.
34208         * tests/test-vsnprintf.c (main): Likewise.
34209         Reported by Jim Meyering.
34211 2011-07-08  Bruno Haible  <bruno@clisp.org>
34213         Tests for module 'pthread_sigmask'.
34214         * modules/pthread_sigmask-tests: New file.
34215         * tests/test-pthread_sigmask1.c: New file, based on
34216         tests/test-sigprocmask.c.
34217         * tests/test-pthread_sigmask2.c: New file.
34219 2011-07-08  Jim Meyering  <meyering@redhat.com>
34221         test-getopt.h: avoid warning about an unused variable
34222         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
34224 2011-07-07  Jim Meyering  <meyering@redhat.com>
34226         maint: reduce list of files exempt from sc_prohibit_leading_TABs
34227         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
34228         now that it no longer contains leading TABs.
34229         Remove unused "url=FIXME" statement.
34231 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
34233         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
34234         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34235         When gl_THREADLIB is not in use, assume that the POSIX sematics
34236         are desired.  This is better for Emacs, which uses POSIX semantics
34237         on GNUish and/or POSIXish platforms, and does not use threads at
34238         all otherwise.
34240         pthread_sigmask: fix typo when testing for libraries
34241         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
34242         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
34244 2011-07-08  Eric Blake  <eblake@redhat.com>
34246         fts: introduce FTS_NOATIME
34247         * lib/fts_.h (FTS_NOATIME): New bit flag.
34248         (FTS_OPTIONMASK): Adjust.
34249         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
34250         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
34252 2011-07-08  Bruno Haible  <bruno@clisp.org>
34254         Tests for module 'thread'.
34255         * modules/thread-tests: New file.
34256         * tests/test-thread_self.c: New file.
34257         * tests/test-thread_create.cc: New file.
34259 2011-07-08  Bruno Haible  <bruno@clisp.org>
34261         thread: Avoid gcc warnings when using gl_thread_self().
34262         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
34263         'void *'.
34264         (gl_thread_self_pointer): Update.
34266 2011-07-07  Bruno Haible  <bruno@clisp.org>
34268         signal-c++-tests: Check declaration of pthread_sigmask.
34269         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
34270         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
34271         $(LIB_PTHREAD_SIGMASK).
34273 2011-07-07  Bruno Haible  <bruno@clisp.org>
34275         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
34276         * lib/signal.in.h (pthread_sigmask): Override if
34277         REPLACE_PTHREAD_SIGMASK is 1.
34278         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34279         REPLACE_PTHREAD_SIGMASK.
34280         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
34281         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
34282         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
34283         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34284         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
34286 2011-07-07  Bruno Haible  <bruno@clisp.org>
34288         pthread_sigmask: Ensure declaration in <signal.h>.
34289         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
34290         include <pthread.h>.
34291         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
34292         problem.
34294 2011-07-07  Bruno Haible  <bruno@clisp.org>
34296         pthread_sigmask: Document the module.
34297         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
34299 2011-07-07  Bruno Haible  <bruno@clisp.org>
34301         pthread_sigmask: Follow gnulib conventions.
34302         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
34303         gl_PTHREAD_SIGMASK.
34304         * modules/pthread_sigmask (configure.ac): Update.
34306 2011-07-07  Bruno Haible  <bruno@clisp.org>
34308         pthread_sigmask: Make declaration C++ safe.
34309         * lib/signal.in.h: In two special conditions, just do an #include_next.
34310         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34311         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
34312         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
34313         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
34314         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
34315         not REPLACE_PTHREAD_MASK.
34316         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
34317         not REPLACE_PTHREAD_MASK.
34318         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
34320 2011-07-07  Bruno Haible  <bruno@clisp.org>
34322         pthread_sigmask: Fix return value.
34323         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
34324         * lib/pthread_sigmask.c: New file.
34325         * modules/pthread_sigmask (Files): Add it.
34326         (configure.ac): Invoke AC_LIBOBJ.
34328 2011-07-07  Eric Blake  <eblake@redhat.com>
34330         getopt: more portable argv creation
34331         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
34332         const, use char arrays rather than strings.
34333         Suggested by Paul Eggert.
34335 2011-07-07  Bruno Haible  <bruno@clisp.org>
34337         Tests for module 'sigprocmask'.
34338         * modules/sigprocmask-tests: New file.
34339         * tests/test-sigprocmask.c: New file.
34341 2011-07-07  Bruno Haible  <bruno@clisp.org>
34343         float tests: Tweak.
34344         * tests/test-float.c (main): Tweak skip message.
34346 2011-07-07  Eric Blake  <eblake@redhat.com>
34348         getopt: avoid compiler warning during configure
34349         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
34350         assigning string literals to non-const pointer.
34352         getopt-gnu: avoid crash in glibc getopt
34353         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
34354         * tests/test-getopt.h (test_getopt): Enhance test.
34355         * tests/test-getopt_long.h (test_getopt_long): Likewise.
34356         * doc/posix-functions/getopt.texi (getopt): Document it.
34357         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34358         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34359         Likewise.
34361 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
34363         getopt: handle W; without long options in getopt [BZ #12922]
34364         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
34365         but no long options are defined, just return 'W'.
34367 2011-07-07  Bruno Haible  <bruno@clisp.org>
34369         Avoid literal tabs.
34370         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
34371         variable containing a tab instead of a literal tab.
34372         Reported by Jim Meyering.
34374 2011-07-07  Bruno Haible  <bruno@clisp.org>
34376         Comments.
34377         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
34379 2011-07-06  Bruno Haible  <bruno@clisp.org>
34381         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
34382         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
34383         <winsock2.h>.
34384         (rpl_fd_isset, FD_ISSET): New definitions, copied from
34385         lib/sys_socket.in.h.
34386         (close, gethostname): Hide declarations from <winsock2.h>.
34387         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34388         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
34389         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
34390         (select): Don't override if gnulib's <sys/select.h> was already
34391         included.
34392         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34393         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34394         setsockopt, shutdown, select): Tweak indentation.
34396 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34398         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
34399         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
34400         in an application that does not use the sys_select module.
34402 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
34404         poll: do not return 0 on timeout=-1
34405         * lib/poll.c: Loop with yield if no events occurred.
34407 2011-07-06  Eric Blake  <eblake@redhat.com>
34409         pthread_sigmask: always replace when not using pthread
34410         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
34411         replacement when using some threading other than pthread.  Fix
34412         logic bug.
34414 2011-07-06  Bruno Haible  <bruno@clisp.org>
34416         Comments.
34417         * m4/printf.m4: Update comments about mingw.
34419 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34421         sys_select: define sigset_t more portably
34422         * lib/sys_select.in.h: Always include <sys/types.h>, since
34423         we now need sigset_t and mingw defines it there.
34424         Include <signal.h> before split inclusion guard, to avoid
34425         mishaps on Solaris, whose <signal.h> eventually includes us.
34426         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
34427         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
34428         which come from ...
34429         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
34430         gl_CHECK_TYPE_SIGSET_T.
34431         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
34432         does the real work.
34433         * modules/sys_select (Depends-on): Add 'signal'.
34435         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
34436         Suggested by Bruno Haible.
34438         pselect: Use pthread_sigmask, not sigprocmask.
34439         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
34440         multithreaded apps better than sigprocmask does.
34441         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
34442         sigprocmask directly.
34444 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
34446         * lib/pselect.c (pselect): Use plain name, without "rpl_".
34447         Don't #undef,  since we don't need any underlying pselect.
34448         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
34449         (Depends-on): Add select.
34450         (Link): Add $(LIBSOCKET).
34451         These changes suggested by Bruno Haible.
34453         pselect: document better
34454         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34455         * doc/posix-functions/pselect.texi (pselect): Document new module.
34457         pthread_sigmask: new module
34458         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
34459         * doc/posix-functions/pthread_sigmask.texi: Document new module.
34460         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
34461         This is done only as a macro; I don't know how well that'll
34462         work for C++.  Move <sys/types.h> include before the include_next,
34463         to avoid mishap on Solaris.
34464         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
34465         * modules/signal (Makefile.am): Substitute the check's results.
34466         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
34468         test-pselect: new module
34469         * modules/pselect-tests, tests/test-pselect.c: New files.
34470         * tests/test-select.c, tests/test-sys_select-c++.cc:
34471         If TEST_PSELECT is defined, test pselect instead of testing select.
34473         * tests/test-sys_select.c (sigset_t): Test for it, too.
34474         Suggested by Bruno Haible.
34476 2011-07-05  Eric Blake  <eblake@redhat.com>
34478         snprintf: guarantee %1$d, for libintl
34479         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
34480         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
34481         * doc/posix-functions/snprintf.texi (snprintf): Update.
34482         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
34483         * tests/test-snprintf.c (main): Enhance test.
34484         * tests/test-vsnprintf.c (main): Likewise.
34486 2011-07-05  Jim Meyering  <meyering@redhat.com>
34488         maint: exempt stdio-read.c and stdio-write.c from the cppi check
34489         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
34490         per Bruno's request, to accommodate this idiom (no space after "#")
34491         even when the function is inside an #if block:
34492         char *
34493         gets (char *s)
34494         #undef gets
34495         {
34496           ...
34497         }
34499 2011-07-04  Jim Meyering  <meyering@redhat.com>
34501         maint: indent with spaces, not TABs, and add a rule to check this
34502         * tests/test-userspec.c: Indent with spaces, not TABs.
34503         * tests/test-argp.c: Likewise.
34504         * tests/test-c-stack2.sh: Likewise.
34505         * tests/test-parse-duration.sh: Likewise
34506         * m4/strtod.m4: Likewise.
34507         * m4/alloca.m4: Likewise.
34508         * m4/pselect.m4: Likewise.
34509         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
34511 2011-07-03  Jim Meyering  <meyering@redhat.com>
34513         maint.mk: correct omissions in prohibit_argmatch_without_use check
34514         This rule would mistakenly report that argmatch.h is included without
34515         use even when both the argmatch and invalid_arg macro were used.
34516         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
34517         of argmatch and invalid_arg.
34519 2011-07-03  Bruno Haible  <bruno@clisp.org>
34521         Comments about EINTR.
34522         * lib/safe-read.h: Explain the purpose of this module.
34523         * lib/safe-write.h: Likewise.
34524         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
34525         module.
34526         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
34527         module.
34528         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34530 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
34532         xnanosleep: Rewrite to use new dtotimespec module.
34533         It has the conversion code that used to be in xnanosleep.
34534         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
34535         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
34536         (TIME_T_MAX): Remove.
34537         (xnanosleep): Rewrite in terms of dtotimespec.
34538         * modules/xnanosleep (Depends-on): Add dtotimespec.
34539         Remove intprops, stdbool.
34541         timespec-add, timespec-sub: new modules
34542         * lib/timespec.h (timespec_add, timespec_sub): New decls.
34543         * lib/timespec-add.c, lib/timespec-sub.c:
34544         * modules/timespec-add, modules/timespec-sub: New files.
34546         dtotimespec: new module
34547         * lib/timespec.h (dtotimespec): New decl.
34548         * lib/dtotimespec.c, modules/dtotimespec: New files.
34550         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
34552         pselect: new module
34553         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
34554         (pselect): New decls.
34555         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
34556         since the standard pselect decl uses 'restrict'.
34557         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
34558         HAVE_PSELECT, REPLACE_PSELECT.
34559         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
34560         HAVE_PSELECT, REPLACE_PSELECT.
34561         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
34563         sys_select: don't depend on sys_socket
34564         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
34565         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
34566         This fix works on GNU and GNU-like platforms, but has not been tested
34567         on native Windows.
34568         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
34569         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
34570         gl_HEADER_SYS_SOCKET.
34571         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
34572         gl_PREREQ_SYS_H_WINSOCK2.
34574 2011-06-29  Eric Blake  <eblake@redhat.com>
34576         pipe2: fix C89 compile problem
34577         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
34578         Reported by Bruno Haible.
34580         pipe, pipe2: don't corrupt fd on error
34581         * lib/pipe.c (pipe): Leave fd unchanged on error.
34582         * lib/pipe2.c (pipe2): Likewise.
34583         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
34584         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
34586 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
34588         mmap-anon: do not use regular expressions inadvertently
34589         * m4/mmap-anon.m4: Remove trailing period from strings sought
34590         in the output.
34592 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
34594         nanosleep: fix integer overflow problem
34595         * lib/nanosleep.c (my_usleep): Don't assume signed integer
34596         arithmetic wraps around on overflow.
34598         nanosleep: simplify carrying
34599         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
34600         first call to the underyling nanosleep, not for the last one.
34601         This doesn't fix any bugs, but it simplifies the computation of
34602         the remaining delay.  Found while auditing integer overflow issues.
34604         dup2: remove test for existence of fcntl
34605         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
34606         "#if HAVE_FCNTL", in the configure-time test program.
34607         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
34608         and therefore speeds up "configure" a bit.  Found while
34609         adding the dup2 module to Emacs.
34611 2011-06-24  Eric Blake  <eblake@redhat.com>
34613         maint.mk: enhance useless header checks
34614         * top/maint.mk (_sc_header_without_use): Check both include
34615         styles.
34616         (sc_prohibit_assert_without_use)
34617         (sc_prohibit_close_stream_without_use)
34618         (sc_prohibit_getopt_without_use)
34619         (sc_prohibit_quotearg_without_use)
34620         (sc_prohibit_quote_without_use)
34621         (sc_prohibit_long_options_without_use)
34622         (sc_prohibit_inttostr_without_use)
34623         (sc_prohibit_ignore_value_without_use)
34624         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
34625         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
34626         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
34627         (sc_prohibit_hash_pjw_without_use)
34628         (sc_prohibit_safe_read_without_use)
34629         (sc_prohibit_argmatch_without_use)
34630         (sc_prohibit_canonicalize_without_use)
34631         (sc_prohibit_root_dev_ino_without_use)
34632         (sc_prohibit_openat_without_use)
34633         (sc_prohibit_c_ctype_without_use)
34634         (sc_prohibit_signal_without_use)
34635         (sc_prohibit_stdio--_without_use)
34636         (sc_prohibit_stdio-safer_without_use)
34637         (sc_prohibit_strings_without_use)
34638         (sc_prohibit_intprops_without_use)
34639         (sc_prohibit_stddef_without_use)
34640         (sc_prohibit_xfreopen_without_use): Update clients.
34642 2011-06-24  Jim Meyering  <meyering@redhat.com>
34644         syntax-check: keep one maint.mk rule in sync with its header
34645         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
34646         of the bug Eric has just fixed, with today's commit 25e4c2ec.
34647         I prefer to avoid temporary files here, so use <(...), but that
34648         is not supported by /bin/sh, so...
34649         (SHELL): Define to /bin/bash.
34651 2011-06-24  Eric Blake  <eblake@redhat.com>
34653         maint.mk: update sc_prohibit_intprops_without_use
34654         * top/maint.mk (_intprops_names): Match recent changes.
34656 2011-06-24  Bruno Haible  <bruno@clisp.org>
34658         strerror-override: No-op tweak.
34659         * lib/strerror-override.h (strerror_override): Reorder conditions,
34660         for consistency with lib/strerror-override.c.
34662 2011-06-23  Eric Blake  <eblake@redhat.com>
34664         maint.mk: test further PATH_MAX issues
34665         * top/maint.mk (sc_prohibit_path_max_array): Rename...
34666         (sc_prohibit_path_max_allocation): ...and also test alloca.
34667         Suggested by Jim Meyering.
34669 2011-06-22  Eric Blake  <eblake@redhat.com>
34671         maint.mk: add syntax-check to avoid char[PATH_MAX]
34672         * top/maint.mk (sc_prohibit_path_max_array): New rule.
34674         stat: be robust to PATH_MAX definition
34675         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
34676         * modules/stat (Depends-on): Add verify.
34678         link: work around IRIX bug
34679         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
34680         * lib/link.c (rpl_link): Work around it.
34681         * tests/test-link.h (test_link): Enhance test.
34682         * doc/posix-functions/link.texi (link): Document the bug.
34684         getopt: silence clang warning
34685         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
34686         dereference.
34687         Reported by Gustavo Martin Domato.
34689 2011-06-22  Jim Meyering  <meyering@redhat.com>
34691         bootstrap: do not insert a blank line into each .gitignore file
34692         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
34694 2011-06-21  Eric Blake  <eblake@redhat.com>
34696         perror: test for output mismatch
34697         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
34698         perror on IRIX.
34700         strerror_r: fix OpenBSD behavior on out-of-range
34701         * lib/strerror_r.c (strerror_r): Always use maximal string.
34702         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
34704         strerror_r: fix OpenBSD behavior on 0
34705         * lib/strerror-override.c (strerror_override): Also override 0
34706         when needed.
34707         * lib/strerror-override.h (strerror_override): Likewise.
34708         * lib/strerror.c (strerror): Simplify, now that 0 override is done
34709         earlier.
34710         * lib/strerror_r.c (strerror_r): Likewise.
34711         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
34712         behavior...
34713         (gl_FUNC_STRERROR_0): ...into new macro.
34714         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
34715         is overridden.
34716         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
34717         * modules/strerror-override (Files): Add strerror.m4.
34718         (configure.ac): Also provide override for 0 when needed.
34719         * doc/posix-functions/strerror.texi (strerror): Document this.
34720         * doc/posix-functions/perror.texi (perror): Likewise.
34722         perror: adjust array size
34723         * modules/perror (Depends-on): Add strerror-override.
34724         * lib/perror.c (perror): Use it to avoid magic number.
34726         strerror-override: reduce size
34727         * lib/strerror-override.c (strerror_override): Use fewer lines.
34729 2011-06-20  Bruno Haible  <bruno@clisp.org>
34731         pathmax: Ensure correct value for PATH_MAX on HP-UX.
34732         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
34734 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
34736         alloca: port to compilers that can optimize like GCC 4.6.0
34737         * lib/alloca.c (find_stack_direction): New signature, taken from
34738         Autoconf git.  This works with GCC 4.6.0.  This code should never
34739         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
34740         be used with other compilers that optimize as well as GCC 4.6.0 does.
34741         (alloca): Adjust to new signature.
34742         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
34743         New macro, which patches Autoconf in a similar way.
34745         c-stack: stop worrying about stack direction
34746         * lib/c-stack.c (find_stack_direction): Remove.
34747         (segv_handler): Don't worry about stack direction growth, as it's
34748         too much of a pain to configure this correctly, given how compilers
34749         are optimizing-away our stack-growth detection code.  Instead, assume
34750         that any access to just before or just after the stack is OK.
34751         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
34752         Don't require AC_FUNC_ALLOCA; no longer needed.
34754 2011-06-20  Eric Blake  <eblake@redhat.com>
34756         test-stat: don't allocate PATH_MAX bytes
34757         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
34758         PATH_MAX-sized buffer.
34759         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
34760         * modules/stat-tests (Depends-on): Likewise.
34761         * tests/test-fstatat.c (includes): Drop pathmax.h.
34762         * tests/test-stat.c (includes): Likewise.
34763         Reported by Bruno Haible.
34765 2011-06-20  Bruno Haible  <bruno@clisp.org>
34767         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
34768         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
34769         * lib/float.c: New file.
34770         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
34771         REPLACE_FLOAT_LDBL.
34772         * modules/float (Files): Add lib/float.c.
34773         (configure.ac): Invoke AC_LIBOBJ.
34774         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
34776 2011-06-20  Bruno Haible  <bruno@clisp.org>
34778         Tests for module 'float'.
34779         * modules/float-tests: New file.
34780         * tests/test-float.c: New file.
34782 2011-06-19  Bruno Haible  <bruno@clisp.org>
34784         isinf: Coding style.
34785         * lib/isinf.c: Use GNU coding style.
34787 2011-06-19  Bruno Haible  <bruno@clisp.org>
34789         linkat test: Avoid test failure on AIX 7.1.
34790         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
34791         * tests/test-link.h (test_link): Likewise.
34793 2011-06-19  Bruno Haible  <bruno@clisp.org>
34795         pread test: Avoid test failure on OpenBSD 4.9.
34796         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
34798 2011-06-19  Bruno Haible  <bruno@clisp.org>
34800         sprintf-posix: Fix test failure on AIX 7.1.
34801         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
34802         * doc/posix-functions/dprintf.texi: Mention limited precision problem
34803         on AIX.
34804         * doc/posix-functions/fprintf.texi: Likewise.
34805         * doc/posix-functions/printf.texi: Likewise.
34806         * doc/posix-functions/snprintf.texi: Likewise.
34807         * doc/posix-functions/sprintf.texi: Likewise.
34808         * doc/posix-functions/vdprintf.texi: Likewise.
34809         * doc/posix-functions/vfprintf.texi: Likewise.
34810         * doc/posix-functions/vprintf.texi: Likewise.
34811         * doc/posix-functions/vsnprintf.texi: Likewise.
34812         * doc/posix-functions/vsprintf.texi: Likewise.
34814 2011-06-19  Bruno Haible  <bruno@clisp.org>
34816         roundl-ieee: Fix test failure on AIX 7.1.
34817         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
34818         * doc/posix-functions/roundl.texi: Mention problem with negative
34819         arguments.
34821 2011-06-19  Bruno Haible  <bruno@clisp.org>
34823         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34824         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
34825         * doc/posix-functions/round.texi: Mention problem with negative
34826         arguments.
34827         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
34829 2011-06-19  Bruno Haible  <bruno@clisp.org>
34831         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
34832         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
34833         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
34834         * doc/posix-functions/roundf.texi: Mention problem with negative
34835         arguments.
34836         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
34838 2011-06-19  Bruno Haible  <bruno@clisp.org>
34840         ceilf-ieee: Work around bug on MacOS X 10.5.
34841         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
34843         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
34844         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
34845         IEEE compliant, avoid compiler optimizations.
34846         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
34847         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34848         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
34849         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34850         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34851         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
34852         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34853         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
34854         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
34855         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
34857 2011-06-19  Bruno Haible  <bruno@clisp.org>
34859         ceilf-ieee: Work around bug on AIX 7.1.
34860         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
34861         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
34863 2011-06-19  Bruno Haible  <bruno@clisp.org>
34865         ceil-ieee: Work around bug on AIX 7.1.
34866         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
34867         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
34869 2011-06-18  Bruno Haible  <bruno@clisp.org>
34871         fsync test: Avoid test failure on MacOS X and AIX.
34872         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
34873         EINVAL.
34875 2011-06-18  Bruno Haible  <bruno@clisp.org>
34877         openat, fdopendir tests: Fix link errors.
34878         * modules/openat-tests (Depends-on): Add progname.
34879         * modules/fdopendir-tests (Depends-on): Likewise.
34880         * tests/test-fchownat.c: Include progname.h.
34881         (main): Call set_program_name.
34882         * tests/test-fstatat.c: Include progname.h.
34883         (main): Call set_program_name.
34884         * tests/test-mkdirat.c: Include progname.h.
34885         (main): Call set_program_name.
34886         * tests/test-openat.c: Include progname.h.
34887         (main): Call set_program_name.
34888         * tests/test-unlinkat.c: Include progname.h.
34889         (main): Call set_program_name.
34890         * tests/test-fdopendir.c: Include progname.h.
34891         (main): Call set_program_name.
34893 2011-06-18  Bruno Haible  <bruno@clisp.org>
34895         Doc update.
34896         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
34897         HP-UX.
34898         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
34900 2011-06-18  Bruno Haible  <bruno@clisp.org>
34902         getcwd tests: Avoid compilation error on HP-UX 11.31.
34903         * modules/getcwd-tests (Depends-on): Add pathmax.
34904         * tests/test-getcwd.c: Include pathmax.h.
34906 2011-06-18  Bruno Haible  <bruno@clisp.org>
34908         isfinite, isinf: Fix link error on AIX 6 and 7.
34909         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
34910         needed, also test the macro with a 'float' argument.
34911         * m4/isinf.m4 (gl_ISINF): Likewise.
34913 2011-06-18  Bruno Haible  <bruno@clisp.org>
34915         getloadavg: Don't clobber LIBS. Regression from previous commit.
34916         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
34917         AC_CHECK_LIB from here...
34918         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
34919         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
34920         gl_func_getloadavg_done.
34921         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34923 2011-06-18  Bruno Haible  <bruno@clisp.org>
34925         clean-temp: Improve documentation.
34926         * lib/clean-temp.h: Explain better how to use this module.
34927         Reported by John Darrington <john@darrington.wattle.id.au>.
34929 2011-06-17  Bruno Haible  <bruno@clisp.org>
34931         pread, pwrite: Avoid cc warning on AIX.
34932         * lib/unistd.in.h (pread): Undefine before defining as a macro.
34933         (pwrite): Likewise.
34935 2011-06-17  Bruno Haible  <bruno@clisp.org>
34937         spawn-pipe tests: Fix link error.
34938         * tests/test-spawn-pipe-child.c: Undefine fprintf.
34939         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34941 2011-06-17  Bruno Haible  <bruno@clisp.org>
34943         Tests: Remove unnecessary dependency.
34944         * modules/canonicalize-tests (Depends-on): Remove progname.
34945         * modules/chown-tests (Depends-on): Likewise.
34946         * modules/dirname-tests (Depends-on): Likewise.
34947         * modules/fdopendir-tests (Depends-on): Likewise.
34948         * modules/fdutimensat-tests (Depends-on): Likewise.
34949         * modules/hash-tests (Depends-on): Likewise.
34950         * modules/lchown-tests (Depends-on): Likewise.
34951         * modules/linkat-tests (Depends-on): Likewise.
34952         * modules/renameat-tests (Depends-on): Likewise.
34953         * modules/spawn-pipe-tests (Depends-on): Likewise.
34954         * modules/utimensat-tests (Depends-on): Likewise.
34956 2011-06-17  Bruno Haible  <bruno@clisp.org>
34958         spawn-pipe tests: Fix link error.
34959         * tests/test-spawn-pipe-child.c: Undefine fflush.
34961 2011-06-17  Bruno Haible  <bruno@clisp.org>
34963         Fix tests link errors.
34964         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
34965         * modules/chown-tests (Makefile.am): Don't link test-chown with
34966         LIBINTL.
34967         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
34968         LIBINTL.
34969         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
34970         LIBINTL.
34971         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
34972         LIBINTL.
34974 2011-06-16  Bruno Haible  <bruno@clisp.org>
34976         crypto/gc-sha1: Fix recent regression.
34977         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
34978         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
34980         crypto/gc-md5: Fix recent regression.
34981         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
34983         crypto/gc-md4: Fix recent regression.
34984         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
34985         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
34987         crypto/gc-arctwo: Fix recent regression.
34988         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
34989         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
34991         crypto/gc-rijndael: Fix recent regression.
34992         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
34993         (configure.ac): Invoke AC_LIBOBJ here.
34994         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
34995         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
34997         crypto/gc-hmac-sha1: Fix recent regression.
34998         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
34999         (configure.ac): Invoke AC_LIBOBJ here.
35000         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
35001         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35003         crypto/gc-hmac-md5: Fix recent regression.
35004         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
35005         (configure.ac): Invoke AC_LIBOBJ here.
35006         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
35007         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35009         crypto/gc-des: Fix recent regression.
35010         * modules/crypto/gc-des (Files): Remove m4/des.m4.
35011         (configure.ac): Invoke AC_LIBOBJ here.
35012         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
35013         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35015         crypto/gc-arcfour: Fix recent regression.
35016         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
35017         (configure.ac): Invoke AC_LIBOBJ here.
35018         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
35019         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
35021 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
35023         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
35024         After the 2011-05-21 change, this macro requires
35025         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
35026         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
35028 2011-06-16  Bruno Haible  <bruno@clisp.org>
35030         fprintftime: Move AC_LIBOBJ invocations to module description.
35031         * m4/fprintftime.m4: Remove file.
35032         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
35033         (configure.ac): Remove gl_FPRINTFTIME call.
35034         (Makefile.am): Augment lib_SOURCES.
35035         Reported by Jim Meyering.
35037 2011-06-16  Bruno Haible  <bruno@clisp.org>
35039         tmpfile-safer: Finish 2011-05-23 commit.
35040         * m4/stdio-safer.m4: Really remove file.
35041         Reported by Jim Meyering.
35043 2011-06-16  Bruno Haible  <bruno@clisp.org>
35045         syntax-check: Fix typo.
35046         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
35047         printf-posix.m4.
35048         Reported by Jim Meyering.
35050 2011-06-13  Jim Meyering  <meyering@redhat.com>
35052         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
35053         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
35055 2011-05-23  Bruno Haible  <bruno@clisp.org>
35057         yesno: Move AC_LIBOBJ invocations to module description.
35058         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
35059         * modules/yesno (Makefile.am): Augment lib_SOURCES.
35061 2011-05-23  Bruno Haible  <bruno@clisp.org>
35063         xstrtol: Move AC_LIBOBJ invocations to module description.
35064         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
35065         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
35067 2011-05-23  Bruno Haible  <bruno@clisp.org>
35069         xstrtold: Move AC_LIBOBJ invocations to module description.
35070         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
35071         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
35073 2011-05-23  Bruno Haible  <bruno@clisp.org>
35075         xstrtod: Move AC_LIBOBJ invocations to module description.
35076         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
35077         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
35079 2011-05-23  Bruno Haible  <bruno@clisp.org>
35081         xnanosleep: Move AC_LIBOBJ invocations to module description.
35082         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
35083         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
35085 2011-05-23  Bruno Haible  <bruno@clisp.org>
35087         xgetcwd: Move AC_LIBOBJ invocations to module description.
35088         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
35089         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
35091 2011-05-23  Bruno Haible  <bruno@clisp.org>
35093         xalloc: Move AC_LIBOBJ invocations to module description.
35094         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
35095         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
35097 2011-05-23  Bruno Haible  <bruno@clisp.org>
35099         write-any-file: Move AC_LIBOBJ invocations to module description.
35100         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
35101         invocation.
35102         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
35104 2011-05-23  Bruno Haible  <bruno@clisp.org>
35106         utimens: Move AC_LIBOBJ invocations to module description.
35107         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
35108         * modules/utimens (Makefile.am): Augment lib_SOURCES.
35110 2011-05-23  Bruno Haible  <bruno@clisp.org>
35112         utimecmp: Move AC_LIBOBJ invocations to module description.
35113         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
35114         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
35116 2011-05-23  Bruno Haible  <bruno@clisp.org>
35118         userspec: Move AC_LIBOBJ invocations to module description.
35119         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
35120         * modules/userspec (Makefile.am): Augment lib_SOURCES.
35122 2011-05-23  Bruno Haible  <bruno@clisp.org>
35124         unlinkdir: Move AC_LIBOBJ invocations to module description.
35125         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
35126         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
35128 2011-05-23  Bruno Haible  <bruno@clisp.org>
35130         unistd-safer: Move AC_LIBOBJ invocations to module description.
35131         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
35132         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
35134 2011-05-23  Bruno Haible  <bruno@clisp.org>
35136         tempname: Move AC_LIBOBJ invocations to module description.
35137         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
35138         * modules/tempname (Makefile.am): Augment lib_SOURCES.
35140 2011-05-23  Bruno Haible  <bruno@clisp.org>
35142         strftime: Move AC_LIBOBJ invocations to module description.
35143         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
35144         * modules/strftime (Makefile.am): Augment lib_SOURCES.
35146 2011-05-23  Bruno Haible  <bruno@clisp.org>
35148         stdlib-safer: Move AC_LIBOBJ invocations to module description.
35149         * m4/stdlib-safer.m4: Remove file.
35150         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
35151         (configure.ac): Remove gl_STDLIB_SAFER call.
35152         (Makefile.am): Augment lib_SOURCES.
35154 2011-05-23  Bruno Haible  <bruno@clisp.org>
35156         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
35157         * m4/stdio-safer.m4: Remove file.
35158         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
35159         (configure.ac): Remove gl_TMPFILE_SAFER call.
35160         (Makefile.am): Augment lib_SOURCES.
35162 2011-05-23  Bruno Haible  <bruno@clisp.org>
35164         popen-safer: Move AC_LIBOBJ invocations to module description.
35165         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
35166         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
35167         (configure.ac): Remove gl_POPEN_SAFER call.
35168         (Makefile.am): Augment lib_SOURCES.
35170 2011-05-23  Bruno Haible  <bruno@clisp.org>
35172         freopen-safer: Move AC_LIBOBJ invocations to module description.
35173         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
35174         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
35175         (configure.ac): Remove gl_FREOPEN_SAFER call.
35176         (Makefile.am): Augment lib_SOURCES.
35178 2011-05-23  Bruno Haible  <bruno@clisp.org>
35180         fopen-safer: Move AC_LIBOBJ invocations to module description.
35181         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
35182         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
35183         (configure.ac): Remove gl_FOPEN_SAFER call.
35184         (Makefile.am): Augment lib_SOURCES.
35186 2011-05-23  Bruno Haible  <bruno@clisp.org>
35188         crypto/sha512: Move AC_LIBOBJ invocations to module description.
35189         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
35190         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
35192 2011-05-23  Bruno Haible  <bruno@clisp.org>
35194         crypto/sha256: Move AC_LIBOBJ invocations to module description.
35195         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
35196         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
35198 2011-05-23  Bruno Haible  <bruno@clisp.org>
35200         crypto/sha1: Move AC_LIBOBJ invocations to module description.
35201         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
35202         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
35204 2011-05-23  Bruno Haible  <bruno@clisp.org>
35206         settime: Move AC_LIBOBJ invocations to module description.
35207         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
35208         * modules/settime (Makefile.am): Augment lib_SOURCES.
35210 2011-05-23  Bruno Haible  <bruno@clisp.org>
35212         savedir: Move AC_LIBOBJ invocations to module description.
35213         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
35214         * modules/savedir (Makefile.am): Augment lib_SOURCES.
35216 2011-05-23  Bruno Haible  <bruno@clisp.org>
35218         save-cwd: Move AC_LIBOBJ invocations to module description.
35219         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
35220         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
35222 2011-05-23  Bruno Haible  <bruno@clisp.org>
35224         same: Move AC_LIBOBJ invocations to module description.
35225         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
35226         * modules/same (Makefile.am): Augment lib_SOURCES.
35228 2011-05-23  Bruno Haible  <bruno@clisp.org>
35230         safe-write: Move AC_LIBOBJ invocations to module description.
35231         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
35232         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
35233         instead of gl_SAFE_WRITE.
35234         (Makefile.am): Augment lib_SOURCES.
35236 2011-05-23  Bruno Haible  <bruno@clisp.org>
35238         safe-read: Move AC_LIBOBJ invocations to module description.
35239         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
35240         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
35241         of gl_SAFE_READ.
35242         (Makefile.am): Augment lib_SOURCES.
35244 2011-05-23  Bruno Haible  <bruno@clisp.org>
35246         safe-alloc: Move AC_LIBOBJ invocations to module description.
35247         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
35248         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
35250 2011-05-23  Bruno Haible  <bruno@clisp.org>
35252         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
35253         * m4/rijndael.m4: Remove file.
35254         * modules/crypto/rijndael (Files): Remove it.
35255         (configure.ac): Remove gl_RIJNDAEL call.
35256         (Makefile.am): Augment lib_SOURCES.
35258 2011-05-23  Bruno Haible  <bruno@clisp.org>
35260         readtokens: Move AC_LIBOBJ invocations to module description.
35261         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
35262         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
35264 2011-05-23  Bruno Haible  <bruno@clisp.org>
35266         read-file: Move AC_LIBOBJ invocations to module description.
35267         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
35268         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
35269         of gl_FUNC_READ_FILE.
35270         (Makefile.am): Augment lib_SOURCES.
35272 2011-05-23  Bruno Haible  <bruno@clisp.org>
35274         quotearg: Move AC_LIBOBJ invocations to module description.
35275         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
35276         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
35278 2011-05-23  Bruno Haible  <bruno@clisp.org>
35280         quote: Move AC_LIBOBJ invocations to module description.
35281         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
35282         * modules/quote (Makefile.am): Augment lib_SOURCES.
35284 2011-05-23  Bruno Haible  <bruno@clisp.org>
35286         posixver: Move AC_LIBOBJ invocations to module description.
35287         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
35288         * modules/posixver (Makefile.am): Augment lib_SOURCES.
35290 2011-05-23  Bruno Haible  <bruno@clisp.org>
35292         posixtm: Move AC_LIBOBJ invocations to module description.
35293         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
35294         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
35296 2011-05-23  Bruno Haible  <bruno@clisp.org>
35298         physmem: Move AC_LIBOBJ invocations to module description.
35299         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
35300         * modules/physmem (Makefile.am): Augment lib_SOURCES.
35302 2011-05-23  Bruno Haible  <bruno@clisp.org>
35304         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
35305         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
35306         invocation.
35307         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
35309 2011-05-23  Bruno Haible  <bruno@clisp.org>
35311         mpsort: Move AC_LIBOBJ invocations to module description.
35312         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
35313         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
35315 2011-05-23  Bruno Haible  <bruno@clisp.org>
35317         modechange: Move AC_LIBOBJ invocations to module description.
35318         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
35319         * modules/modechange (Makefile.am): Augment lib_SOURCES.
35321 2011-05-23  Bruno Haible  <bruno@clisp.org>
35323         mkdir-p: Move AC_LIBOBJ invocations to module description.
35324         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
35325         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
35327 2011-05-23  Bruno Haible  <bruno@clisp.org>
35329         mkancesdirs: Move AC_LIBOBJ invocations to module description.
35330         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
35331         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
35333 2011-05-23  Bruno Haible  <bruno@clisp.org>
35335         mgetgroups: Move AC_LIBOBJ invocations to module description.
35336         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
35337         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
35339 2011-05-23  Bruno Haible  <bruno@clisp.org>
35341         memxor: Move AC_LIBOBJ invocations to module description.
35342         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
35343         * modules/memxor (Makefile.am): Augment lib_SOURCES.
35345 2011-05-23  Bruno Haible  <bruno@clisp.org>
35347         memcoll: Move AC_LIBOBJ invocations to module description.
35348         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
35349         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
35351 2011-05-23  Bruno Haible  <bruno@clisp.org>
35353         memcasecmp: Move AC_LIBOBJ invocations to module description.
35354         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
35355         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
35357 2011-05-23  Bruno Haible  <bruno@clisp.org>
35359         crypto/md5: Move AC_LIBOBJ invocations to module description.
35360         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
35361         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
35363 2011-05-23  Bruno Haible  <bruno@clisp.org>
35365         crypto/md4: Move AC_LIBOBJ invocations to module description.
35366         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
35367         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
35369 2011-05-23  Bruno Haible  <bruno@clisp.org>
35371         crypto/md2: Move AC_LIBOBJ invocations to module description.
35372         * m4/md2.m4: Remove file.
35373         * modules/crypto/md2 (Files): Remove it.
35374         (configure.ac): Remove gl_MD2 call.
35375         (Makefile.am): Augment lib_SOURCES.
35377 2011-05-23  Bruno Haible  <bruno@clisp.org>
35379         long-options: Move AC_LIBOBJ invocations to module description.
35380         * m4/long-options.m4: Remove file.
35381         * modules/long-options (Files): Remove it.
35382         (configure.ac): Remove gl_LONG_OPTIONS call.
35383         (Makefile.am): Augment lib_SOURCES.
35385 2011-05-23  Bruno Haible  <bruno@clisp.org>
35387         i-ring: Move AC_LIBOBJ invocations to module description.
35388         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
35389         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
35391 2011-05-23  Bruno Haible  <bruno@clisp.org>
35393         idcache: Move AC_LIBOBJ invocations to module description.
35394         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
35395         * modules/idcache (Makefile.am): Augment lib_SOURCES.
35397 2011-05-23  Bruno Haible  <bruno@clisp.org>
35399         human: Move AC_LIBOBJ invocations to module description.
35400         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
35401         * modules/human (Makefile.am): Augment lib_SOURCES.
35403 2011-05-23  Bruno Haible  <bruno@clisp.org>
35405         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
35406         * m4/hmac-sha1.m4: Remove file.
35407         * modules/crypto/hmac-sha1 (Files): Remove it.
35408         (configure.ac): Remove gl_HMAC_SHA1 call.
35409         (Makefile.am): Augment lib_SOURCES.
35411 2011-05-23  Bruno Haible  <bruno@clisp.org>
35413         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
35414         * m4/hmac-md5.m4: Remove file.
35415         * modules/crypto/hmac-md5 (Files): Remove it.
35416         (configure.ac): Remove gl_HMAC_MD5 call.
35417         (Makefile.am): Augment lib_SOURCES.
35419 2011-05-23  Bruno Haible  <bruno@clisp.org>
35421         hash: Move AC_LIBOBJ invocations to module description.
35422         * m4/hash.m4: Remove file.
35423         * modules/hash (Files): Remove it.
35424         (configure.ac): Remove gl_HASH call.
35425         (Makefile.am): Augment lib_SOURCES.
35427 2011-05-23  Bruno Haible  <bruno@clisp.org>
35429         hard-locale: Move AC_LIBOBJ invocations to module description.
35430         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
35431         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
35433 2011-05-23  Bruno Haible  <bruno@clisp.org>
35435         getugroups: Move AC_LIBOBJ invocations to module description.
35436         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
35437         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
35439 2011-05-23  Bruno Haible  <bruno@clisp.org>
35441         gettime: Move AC_LIBOBJ invocations to module description.
35442         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
35443         * modules/gettime (Makefile.am): Augment lib_SOURCES.
35445 2011-05-23  Bruno Haible  <bruno@clisp.org>
35447         getndelim2: Move AC_LIBOBJ invocations to module description.
35448         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
35449         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
35451 2011-05-23  Bruno Haible  <bruno@clisp.org>
35453         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
35454         * m4/gc-pbkdf2-sha1.m4: Remove file.
35455         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
35456         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
35457         (Makefile.am): Augment lib_SOURCES.
35459 2011-05-23  Bruno Haible  <bruno@clisp.org>
35461         fts: Move AC_LIBOBJ invocations to module description.
35462         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
35463         * modules/fts (configure.ac): ... to here.
35465 2011-05-23  Bruno Haible  <bruno@clisp.org>
35467         file-type: Move AC_LIBOBJ invocations to module description.
35468         * m4/file-type.m4: Remove file.
35469         * modules/file-type (Files): Remove it.
35470         (configure.ac): Remove gl_FILE_TYPE call.
35471         (Makefile.am): Augment lib_SOURCES.
35473 2011-05-23  Bruno Haible  <bruno@clisp.org>
35475         filenamecat*: Respect rules for use of AC_LIBOBJ.
35476         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
35477         Remove AC_LIBOBJ invocation.
35478         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
35479         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
35481 2011-05-23  Bruno Haible  <bruno@clisp.org>
35483         filemode: Move AC_LIBOBJ invocations to module description.
35484         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
35485         * modules/filemode (Makefile.am): Augment lib_SOURCES.
35487 2011-05-23  Bruno Haible  <bruno@clisp.org>
35489         openat-safer: Move AC_LIBOBJ invocations to module description.
35490         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
35491         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
35493 2011-05-23  Bruno Haible  <bruno@clisp.org>
35495         fcntl-safer: Move AC_LIBOBJ invocations to module description.
35496         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
35497         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
35499 2011-05-23  Bruno Haible  <bruno@clisp.org>
35501         exclude: Move AC_LIBOBJ invocations to module description.
35502         * m4/exclude.m4: Remove file.
35503         * modules/exclude (Files): Remove it.
35504         (configure.ac): Remove gl_EXCLUDE call.
35505         (Makefile.am): Augment lib_SOURCES.
35507 2011-05-23  Bruno Haible  <bruno@clisp.org>
35509         dirname*: Respect rules for use of AC_LIBOBJ.
35510         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
35511         invocations.
35512         * modules/dirname (Makefile.am): Augment lib_SOURCES.
35513         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
35515 2011-05-23  Bruno Haible  <bruno@clisp.org>
35517         dirent-safer: Move AC_LIBOBJ invocations to module description.
35518         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
35519         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
35521 2011-05-23  Bruno Haible  <bruno@clisp.org>
35523         crypto/des: Move AC_LIBOBJ invocations to module description.
35524         * m4/des.m4: Remove file.
35525         * modules/crypto/des (Files): Remove it.
35526         (configure.ac): Remove gl_DES call.
35527         (Makefile.am): Augment lib_SOURCES.
35529 2011-05-23  Bruno Haible  <bruno@clisp.org>
35531         cycle-check: Move AC_LIBOBJ invocations to module description.
35532         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
35533         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
35535 2011-05-23  Bruno Haible  <bruno@clisp.org>
35537         c-strtold: Move AC_LIBOBJ invocations to module description.
35538         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
35539         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
35541 2011-05-23  Bruno Haible  <bruno@clisp.org>
35543         c-strtod: Move AC_LIBOBJ invocations to module description.
35544         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
35545         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
35547 2011-05-23  Bruno Haible  <bruno@clisp.org>
35549         crc: Move AC_LIBOBJ invocations to module description.
35550         * m4/crc.m4: Remove file.
35551         * modules/crc (Files): Remove it.
35552         (configure.ac): Remove gl_CRC call.
35553         (Makefile.am): Augment lib_SOURCES.
35555 2011-05-23  Bruno Haible  <bruno@clisp.org>
35557         close-stream: Move AC_LIBOBJ invocations to module description.
35558         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
35559         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
35561 2011-05-23  Bruno Haible  <bruno@clisp.org>
35563         closeout: Move AC_LIBOBJ invocations to module description.
35564         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
35565         * modules/closeout (Makefile.am): Augment lib_SOURCES.
35567 2011-05-23  Bruno Haible  <bruno@clisp.org>
35569         closein: Move AC_LIBOBJ invocations to module description.
35570         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
35571         * modules/closein (Makefile.am): Augment lib_SOURCES.
35573 2011-05-23  Bruno Haible  <bruno@clisp.org>
35575         cloexec: Move AC_LIBOBJ invocations to module description.
35576         * m4/cloexec.m4: Remove file.
35577         * modules/cloexec (Files): Remove it.
35578         (configure.ac): Remove gl_CLOEXEC call.
35579         (Makefile.am): Augment lib_SOURCES.
35581 2011-05-23  Bruno Haible  <bruno@clisp.org>
35583         check-version: Move AC_LIBOBJ invocations to module description.
35584         * m4/check-version.m4: Remove file.
35585         * modules/check-version (Files): Remove it.
35586         (configure.ac): Remove gl_CHECK_VERSION call.
35587         (Makefile.am): Augment lib_SOURCES.
35589 2011-05-23  Bruno Haible  <bruno@clisp.org>
35591         chdir-safer: Move AC_LIBOBJ invocations to module description.
35592         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
35593         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
35595 2011-05-23  Bruno Haible  <bruno@clisp.org>
35597         canonicalize: Move AC_LIBOBJ invocations to module description.
35598         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
35599         AC_LIBOBJ invocation.
35600         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
35602 2011-05-23  Bruno Haible  <bruno@clisp.org>
35604         canon-host: Move AC_LIBOBJ invocations to module description.
35605         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
35606         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
35607         instead of gl_CANON_HOST.
35608         (Makefile.am): Augment lib_SOURCES.
35610 2011-05-23  Bruno Haible  <bruno@clisp.org>
35612         backupfile: Move AC_LIBOBJ invocations to module description.
35613         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
35614         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
35616 2011-05-23  Bruno Haible  <bruno@clisp.org>
35618         argmatch: Move AC_LIBOBJ invocations to module description.
35619         * m4/argmatch.m4: Remove file.
35620         * modules/argmatch (Files): Remove it.
35621         (configure.ac): Remove gl_ARGMATCH call.
35622         (Makefile.am): Augment lib_SOURCES.
35624 2011-05-23  Bruno Haible  <bruno@clisp.org>
35626         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
35627         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
35628         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
35630 2011-05-23  Bruno Haible  <bruno@clisp.org>
35632         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
35633         * m4/arcfour.m4: Remove file.
35634         * modules/crypto/arcfour (Files): Remove it.
35635         (configure.ac): Remove gl_ARCFOUR call.
35636         (Makefile.am): Augment lib_SOURCES.
35638 2011-05-22  Bruno Haible  <bruno@clisp.org>
35640         write: Move AC_LIBOBJ invocations to module description.
35641         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
35642         * modules/write (configure.ac): ... to here.
35644 2011-05-22  Bruno Haible  <bruno@clisp.org>
35646         wmemset: Move AC_LIBOBJ invocations to module description.
35647         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
35648         here...
35649         * modules/wmemset (configure.ac): ... to here.
35651 2011-05-22  Bruno Haible  <bruno@clisp.org>
35653         wmemmove: Move AC_LIBOBJ invocations to module description.
35654         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
35655         here...
35656         * modules/wmemmove (configure.ac): ... to here.
35658 2011-05-22  Bruno Haible  <bruno@clisp.org>
35660         wmemcpy: Move AC_LIBOBJ invocations to module description.
35661         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
35662         here...
35663         * modules/wmemcpy (configure.ac): ... to here.
35665 2011-05-22  Bruno Haible  <bruno@clisp.org>
35667         wmemcmp: Move AC_LIBOBJ invocations to module description.
35668         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
35669         here...
35670         * modules/wmemcmp (configure.ac): ... to here.
35672 2011-05-22  Bruno Haible  <bruno@clisp.org>
35674         wmemchr: Move AC_LIBOBJ invocations to module description.
35675         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
35676         here...
35677         * modules/wmemchr (configure.ac): ... to here.
35679 2011-05-22  Bruno Haible  <bruno@clisp.org>
35681         wcswidth: Move AC_LIBOBJ invocations to module description.
35682         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
35683         here...
35684         * modules/wcswidth (configure.ac): ... to here.
35686 2011-05-22  Bruno Haible  <bruno@clisp.org>
35688         wcwidth: Respect rules for use of AC_LIBOBJ.
35689         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
35690         invocation from here...
35691         * modules/wcwidth (configure.ac): ... to here.
35692         (Depends-on): Update conditions.
35694 2011-05-22  Bruno Haible  <bruno@clisp.org>
35696         wctype: Move AC_LIBOBJ invocations to module description.
35697         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
35698         invocation from here...
35699         * modules/wctype (configure.ac): ... to here.
35700         (Depends-on): Update conditions.
35702 2011-05-22  Bruno Haible  <bruno@clisp.org>
35704         wctrans: Move AC_LIBOBJ invocations to module description.
35705         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
35706         invocation from here...
35707         * modules/wctrans (configure.ac): ... to here.
35709 2011-05-22  Bruno Haible  <bruno@clisp.org>
35711         wctomb: Move AC_LIBOBJ invocations to module description.
35712         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
35713         invocations from here...
35714         * modules/wctomb (configure.ac): ... to here.
35716 2011-05-22  Bruno Haible  <bruno@clisp.org>
35718         wctob: Move AC_LIBOBJ invocations to module description.
35719         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
35720         gl_PREREQ_WCTOB invocations from here...
35721         * modules/wctob (configure.ac): ... to here.
35722         (Depends-on): Update conditions.
35724 2011-05-22  Bruno Haible  <bruno@clisp.org>
35726         wcsxfrm: Move AC_LIBOBJ invocations to module description.
35727         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
35728         here...
35729         * modules/wcsxfrm (configure.ac): ... to here.
35731 2011-05-22  Bruno Haible  <bruno@clisp.org>
35733         wcstok: Move AC_LIBOBJ invocations to module description.
35734         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
35735         * modules/wcstok (configure.ac): ... to here.
35737 2011-05-22  Bruno Haible  <bruno@clisp.org>
35739         wcsstr: Move AC_LIBOBJ invocations to module description.
35740         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
35741         * modules/wcsstr (configure.ac): ... to here.
35743 2011-05-22  Bruno Haible  <bruno@clisp.org>
35745         wcsspn: Move AC_LIBOBJ invocations to module description.
35746         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
35747         * modules/wcsspn (configure.ac): ... to here.
35749 2011-05-22  Bruno Haible  <bruno@clisp.org>
35751         wcsrtombs: Move AC_LIBOBJ invocations to module description.
35752         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
35753         gl_PREREQ_WCSRTOMBS invocations from here...
35754         * modules/wcsrtombs (configure.ac): ... to here.
35756 2011-05-22  Bruno Haible  <bruno@clisp.org>
35758         wcsrchr: Move AC_LIBOBJ invocations to module description.
35759         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
35760         here...
35761         * modules/wcsrchr (configure.ac): ... to here.
35763 2011-05-22  Bruno Haible  <bruno@clisp.org>
35765         wcspbrk: Move AC_LIBOBJ invocations to module description.
35766         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
35767         here...
35768         * modules/wcspbrk (configure.ac): ... to here.
35770 2011-05-22  Bruno Haible  <bruno@clisp.org>
35772         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
35773         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
35774         gl_PREREQ_WCSNRTOMBS invocations from here...
35775         * modules/wcsnrtombs (configure.ac): ... to here.
35777 2011-05-22  Bruno Haible  <bruno@clisp.org>
35779         wcsnlen: Move AC_LIBOBJ invocations to module description.
35780         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
35781         here...
35782         * modules/wcsnlen (configure.ac): ... to here.
35784 2011-05-22  Bruno Haible  <bruno@clisp.org>
35786         wcsncpy: Move AC_LIBOBJ invocations to module description.
35787         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
35788         here...
35789         * modules/wcsncpy (configure.ac): ... to here.
35791 2011-05-22  Bruno Haible  <bruno@clisp.org>
35793         wcsncmp: Move AC_LIBOBJ invocations to module description.
35794         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
35795         here...
35796         * modules/wcsncmp (configure.ac): ... to here.
35798 2011-05-22  Bruno Haible  <bruno@clisp.org>
35800         wcsncat: Move AC_LIBOBJ invocations to module description.
35801         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
35802         here...
35803         * modules/wcsncat (configure.ac): ... to here.
35805 2011-05-22  Bruno Haible  <bruno@clisp.org>
35807         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
35808         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
35809         from here...
35810         * modules/wcsncasecmp (configure.ac): ... to here.
35812 2011-05-22  Bruno Haible  <bruno@clisp.org>
35814         wcslen: Move AC_LIBOBJ invocations to module description.
35815         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
35816         * modules/wcslen (configure.ac): ... to here.
35818 2011-05-22  Bruno Haible  <bruno@clisp.org>
35820         wcsdup: Move AC_LIBOBJ invocations to module description.
35821         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
35822         * modules/wcsdup (configure.ac): ... to here.
35824 2011-05-22  Bruno Haible  <bruno@clisp.org>
35826         wcscspn: Move AC_LIBOBJ invocations to module description.
35827         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
35828         here...
35829         * modules/wcscspn (configure.ac): ... to here.
35831 2011-05-22  Bruno Haible  <bruno@clisp.org>
35833         wcscpy: Move AC_LIBOBJ invocations to module description.
35834         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
35835         * modules/wcscpy (configure.ac): ... to here.
35837 2011-05-22  Bruno Haible  <bruno@clisp.org>
35839         wcscoll: Move AC_LIBOBJ invocations to module description.
35840         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
35841         here...
35842         * modules/wcscoll (configure.ac): ... to here.
35844 2011-05-22  Bruno Haible  <bruno@clisp.org>
35846         wcscmp: Move AC_LIBOBJ invocations to module description.
35847         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
35848         * modules/wcscmp (configure.ac): ... to here.
35850 2011-05-22  Bruno Haible  <bruno@clisp.org>
35852         wcschr: Move AC_LIBOBJ invocations to module description.
35853         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
35854         * modules/wcschr (configure.ac): ... to here.
35856 2011-05-22  Bruno Haible  <bruno@clisp.org>
35858         wcscat: Move AC_LIBOBJ invocations to module description.
35859         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
35860         * modules/wcscat (configure.ac): ... to here.
35862 2011-05-22  Bruno Haible  <bruno@clisp.org>
35864         wcscasecmp: Move AC_LIBOBJ invocations to module description.
35865         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
35866         here...
35867         * modules/wcscasecmp (configure.ac): ... to here.
35869 2011-05-22  Bruno Haible  <bruno@clisp.org>
35871         wcrtomb: Move AC_LIBOBJ invocations to module description.
35872         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
35873         invocations from here...
35874         * modules/wcrtomb (configure.ac): ... to here.
35876 2011-05-22  Bruno Haible  <bruno@clisp.org>
35878         wcpncpy: Move AC_LIBOBJ invocations to module description.
35879         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
35880         here...
35881         * modules/wcpncpy (configure.ac): ... to here.
35883 2011-05-22  Bruno Haible  <bruno@clisp.org>
35885         wcpcpy: Move AC_LIBOBJ invocations to module description.
35886         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
35887         * modules/wcpcpy (configure.ac): ... to here.
35889 2011-05-22  Bruno Haible  <bruno@clisp.org>
35891         waitpid: Move AC_LIBOBJ invocations to module description.
35892         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
35893         invocation from here...
35894         * modules/waitpid (configure.ac): ... to here.
35896 2011-05-22  Bruno Haible  <bruno@clisp.org>
35898         utimensat: Move AC_LIBOBJ invocations to module description.
35899         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
35900         here...
35901         * modules/utimensat (configure.ac): ... to here.
35903 2011-05-22  Bruno Haible  <bruno@clisp.org>
35905         usleep: Move AC_LIBOBJ invocations to module description.
35906         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
35907         here...
35908         * modules/usleep (configure.ac): ... to here.
35910 2011-05-22  Bruno Haible  <bruno@clisp.org>
35912         unlockpt: Move AC_LIBOBJ invocations to module description.
35913         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
35914         gl_PREREQ_UNLOCKPT invocations from here...
35915         * modules/unlockpt (configure.ac): ... to here.
35917 2011-05-22  Bruno Haible  <bruno@clisp.org>
35919         unlink: Respect rules for use of AC_LIBOBJ.
35920         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
35921         * modules/unlink (configure.ac): ... to here.
35923 2011-05-22  Bruno Haible  <bruno@clisp.org>
35925         uname: Move AC_LIBOBJ invocations to module description.
35926         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
35927         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
35928         here...
35929         * modules/uname (configure.ac): ... to here.
35931 2011-05-22  Bruno Haible  <bruno@clisp.org>
35933         ttyname_r: Move AC_LIBOBJ invocations to module description.
35934         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
35935         gl_PREREQ_TTYNAME_R invocations from here...
35936         * modules/ttyname_r (configure.ac): ... to here.
35938 2011-05-22  Bruno Haible  <bruno@clisp.org>
35940         tsearch: Move AC_LIBOBJ invocations to module description.
35941         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
35942         invocations from here...
35943         * modules/tsearch (configure.ac): ... to here.
35945 2011-05-22  Bruno Haible  <bruno@clisp.org>
35947         towctrans: Move AC_LIBOBJ invocations to module description.
35948         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
35949         AC_LIBOBJ invocation from here...
35950         * modules/towctrans (configure.ac): ... to here.
35952 2011-05-22  Bruno Haible  <bruno@clisp.org>
35954         tmpfile: Move AC_LIBOBJ invocations to module description.
35955         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
35956         invocations from here...
35957         * modules/tmpfile (configure.ac): ... to here.
35959 2011-05-22  Bruno Haible  <bruno@clisp.org>
35961         times: Move AC_LIBOBJ invocations to module description.
35962         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
35963         * modules/times (configure.ac): ... to here.
35965 2011-05-22  Bruno Haible  <bruno@clisp.org>
35967         time_r: Move AC_LIBOBJ invocations to module description.
35968         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
35969         invocations from here...
35970         * modules/time_r (configure.ac): ... to here.
35972 2011-05-22  Bruno Haible  <bruno@clisp.org>
35974         timegm: Move AC_LIBOBJ invocations to module description.
35975         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
35976         invocations from here...
35977         * modules/timegm (configure.ac): ... to here.
35979 2011-05-22  Bruno Haible  <bruno@clisp.org>
35981         tcgetsid: Move AC_LIBOBJ invocations to module description.
35982         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
35983         and gl_PREREQ_TCGETSID invocations from here...
35984         * modules/tcgetsid (configure.ac): ... to here.
35985         (Depends-on): Update conditions.
35987 2011-05-22  Bruno Haible  <bruno@clisp.org>
35989         symlinkat: Move AC_LIBOBJ invocations to module description.
35990         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
35991         here...
35992         * modules/symlinkat (configure.ac): ... to here.
35994 2011-05-22  Bruno Haible  <bruno@clisp.org>
35996         symlink: Move AC_LIBOBJ invocations to module description.
35997         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
35998         here...
35999         * modules/symlink (configure.ac): ... to here.
36001 2011-05-22  Bruno Haible  <bruno@clisp.org>
36003         strverscmp: Move AC_LIBOBJ invocations to module description.
36004         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
36005         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
36006         from here...
36007         * modules/strverscmp (configure.ac): ... to here.
36009 2011-05-22  Bruno Haible  <bruno@clisp.org>
36011         strtok_r: Move AC_LIBOBJ invocations to module description.
36012         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
36013         and gl_PREREQ_STRTOK_R invocations from here...
36014         * modules/strtok_r (configure.ac): ... to here.
36015         (Depends-on): Update conditions.
36017 2011-05-22  Bruno Haible  <bruno@clisp.org>
36019         strtoumax: Move AC_LIBOBJ invocations to module description.
36020         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
36021         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
36022         from here...
36023         * modules/strtoumax (configure.ac): ... to here.
36025 2011-05-22  Bruno Haible  <bruno@clisp.org>
36027         strtoimax: Move AC_LIBOBJ invocations to module description.
36028         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
36029         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
36030         from here...
36031         * modules/strtoimax (configure.ac): ... to here.
36033 2011-05-22  Bruno Haible  <bruno@clisp.org>
36035         strtoull: Move AC_LIBOBJ invocations to module description.
36036         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
36037         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
36038         from here...
36039         * modules/strtoull (configure.ac): ... to here.
36041 2011-05-22  Bruno Haible  <bruno@clisp.org>
36043         strtoll: Move AC_LIBOBJ invocations to module description.
36044         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
36045         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
36046         here...
36047         * modules/strtoll (configure.ac): ... to here.
36049 2011-05-22  Bruno Haible  <bruno@clisp.org>
36051         strtoul: Move AC_LIBOBJ invocations to module description.
36052         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
36053         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36054         * modules/strtoul (configure.ac): ... to here.
36056 2011-05-22  Bruno Haible  <bruno@clisp.org>
36058         strtol: Move AC_LIBOBJ invocations to module description.
36059         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
36060         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
36061         * modules/strtol (configure.ac): ... to here.
36063 2011-05-22  Bruno Haible  <bruno@clisp.org>
36065         strtod: Move AC_LIBOBJ invocations to module description.
36066         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
36067         invocations from here...
36068         * modules/strtod (configure.ac): ... to here.
36070 2011-05-22  Bruno Haible  <bruno@clisp.org>
36072         strstr*: Move AC_LIBOBJ invocations to module description.
36073         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
36074         invocations from here...
36075         * modules/strstr-simple (configure.ac): ... to here.
36076         * modules/strstr (configure.ac): ... and here.
36078 2011-05-22  Bruno Haible  <bruno@clisp.org>
36080         strsignal: Move AC_LIBOBJ invocations to module description.
36081         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
36082         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
36083         * modules/strsignal (configure.ac): ... to here.
36084         (Depends-on): Update conditions.
36086 2011-05-22  Bruno Haible  <bruno@clisp.org>
36088         strsep: Move AC_LIBOBJ invocations to module description.
36089         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
36090         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
36091         here...
36092         * modules/strsep (configure.ac): ... to here.
36094 2011-05-22  Bruno Haible  <bruno@clisp.org>
36096         strptime: Move AC_LIBOBJ invocations to module description.
36097         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
36098         gl_PREREQ_STRPTIME invocations from here...
36099         * modules/strptime (configure.ac): ... to here.
36101 2011-05-22  Bruno Haible  <bruno@clisp.org>
36103         strpbrk: Move AC_LIBOBJ invocations to module description.
36104         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
36105         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
36106         here...
36107         * modules/strpbrk (configure.ac): ... to here.
36109 2011-05-22  Bruno Haible  <bruno@clisp.org>
36111         strnlen: Move AC_LIBOBJ invocations to module description.
36112         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
36113         invocations from here...
36114         * modules/strnlen (configure.ac): ... to here.
36116 2011-05-22  Bruno Haible  <bruno@clisp.org>
36118         strndup: Move AC_LIBOBJ invocations to module description.
36119         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
36120         invocations from here...
36121         * modules/strndup (configure.ac): ... to here.
36122         (Depends-on): Update conditions.
36124 2011-05-22  Bruno Haible  <bruno@clisp.org>
36126         strncat: Move AC_LIBOBJ invocations to module description.
36127         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
36128         invocations from here...
36129         * modules/strncat (configure.ac): ... to here.
36131 2011-05-22  Bruno Haible  <bruno@clisp.org>
36133         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
36134         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
36135         invocations from here...
36136         * modules/strdup (configure.ac): ... to here.
36137         * modules/strdup-posix (configure.ac): ... and here.
36139 2011-05-22  Bruno Haible  <bruno@clisp.org>
36141         strcspn: Move AC_LIBOBJ invocations to module description.
36142         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
36143         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
36144         here...
36145         * modules/strcspn (configure.ac): ... to here.
36147 2011-05-22  Bruno Haible  <bruno@clisp.org>
36149         strchrnul: Move AC_LIBOBJ invocations to module description.
36150         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
36151         gl_PREREQ_STRCHRNUL invocations from here...
36152         * modules/strchrnul (configure.ac): ... to here.
36154 2011-05-22  Bruno Haible  <bruno@clisp.org>
36156         strcasestr*: Move AC_LIBOBJ invocations to module description.
36157         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
36158         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
36159         * modules/strcasestr-simple (configure.ac): ... to here.
36160         * modules/strcasestr (configure.ac): ... and here.
36162 2011-05-22  Bruno Haible  <bruno@clisp.org>
36164         strcase: Move AC_LIBOBJ invocations to module description.
36165         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
36166         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
36167         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
36168         gl_PREREQ_STRNCASECMP invocations from here...
36169         * modules/strcase (configure.ac): ... to here.
36171 2011-05-22  Bruno Haible  <bruno@clisp.org>
36173         stpncpy: Move AC_LIBOBJ invocations to module description.
36174         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
36175         here...
36176         * modules/stpncpy (configure.ac): ... to here.
36178 2011-05-22  Bruno Haible  <bruno@clisp.org>
36180         stpcpy: Move AC_LIBOBJ invocations to module description.
36181         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
36182         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
36183         here...
36184         * modules/stpcpy (configure.ac): ... to here.
36186 2011-05-21  Bruno Haible  <bruno@clisp.org>
36188         stat: Move AC_LIBOBJ invocations to module description.
36189         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
36190         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
36191         here...
36192         * modules/stat (configure.ac): ... to here.
36194 2011-05-21  Bruno Haible  <bruno@clisp.org>
36196         sleep: Move AC_LIBOBJ invocations to module description.
36197         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
36198         * modules/sleep (configure.ac): ... to here.
36200 2011-05-21  Bruno Haible  <bruno@clisp.org>
36202         signbit: Move AC_LIBOBJ invocations to module description.
36203         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
36204         * modules/signbit (configure.ac): ... to here.
36206 2011-05-21  Bruno Haible  <bruno@clisp.org>
36208         sigprocmask: Move AC_LIBOBJ invocations to module description.
36209         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
36210         gl_PREREQ_SIGPROMASK invocations from here...
36211         * modules/sigprocmask (configure.ac): ... to here.
36213 2011-05-21  Bruno Haible  <bruno@clisp.org>
36215         sigaction: Move AC_LIBOBJ invocations to module description.
36216         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
36217         gl_PREREQ_SIGACTION invocations from here...
36218         * modules/sigaction (configure.ac): ... to here.
36220 2011-05-21  Bruno Haible  <bruno@clisp.org>
36222         sig2str: Move AC_LIBOBJ invocations to module description.
36223         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
36224         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
36225         here...
36226         * modules/sig2str (configure.ac): ... to here.
36228 2011-05-21  Bruno Haible  <bruno@clisp.org>
36230         setlocale: Move AC_LIBOBJ invocations to module description.
36231         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
36232         gl_PREREQ_SETLOCALE invocations from here...
36233         * modules/setlocale (configure.ac): ... to here.
36235 2011-05-21  Bruno Haible  <bruno@clisp.org>
36237         unsetenv: Move AC_LIBOBJ invocations to module description.
36238         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
36239         and gl_PREREQ_UNSETENV invocations from here...
36240         * modules/unsetenv (configure.ac): ... to here.
36241         (Depends-on): Update.
36243 2011-05-21  Bruno Haible  <bruno@clisp.org>
36245         setenv: Move AC_LIBOBJ invocations to module description.
36246         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
36247         here...
36248         * modules/setenv (configure.ac): ... to here.
36250 2011-05-21  Bruno Haible  <bruno@clisp.org>
36252         selinux-h: Move AC_LIBOBJ invocations to module description.
36253         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
36254         AC_LIBOBJ invocation from here...
36255         * modules/selinux-h (configure.ac): ... to here.
36257 2011-05-21  Bruno Haible  <bruno@clisp.org>
36259         select: Respect rules for use of AC_LIBOBJ.
36260         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
36261         here...
36262         * modules/select (configure.ac): ... to here.
36264 2011-05-21  Bruno Haible  <bruno@clisp.org>
36266         scandir: Move AC_LIBOBJ invocations to module description.
36267         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
36268         invocations from here...
36269         * modules/scandir (configure.ac): ... to here.
36271 2011-05-21  Bruno Haible  <bruno@clisp.org>
36273         rpmatch: Move AC_LIBOBJ invocations to module description.
36274         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
36275         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
36276         here...
36277         * modules/rpmatch (configure.ac): ... to here.
36279 2011-05-21  Bruno Haible  <bruno@clisp.org>
36281         rmdir: Respect rules for use of AC_LIBOBJ.
36282         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
36283         * modules/rmdir (configure.ac): ... to here.
36285 2011-05-21  Bruno Haible  <bruno@clisp.org>
36287         renameat: Move AC_LIBOBJ invocations to module description.
36288         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
36289         here...
36290         * modules/renameat (configure.ac): ... to here.
36292 2011-05-21  Bruno Haible  <bruno@clisp.org>
36294         rename: Respect rules for use of AC_LIBOBJ.
36295         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
36296         here...
36297         * modules/rename (configure.ac): ... to here.
36299 2011-05-21  Bruno Haible  <bruno@clisp.org>
36301         remove: Move AC_LIBOBJ invocations to module description.
36302         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
36303         here...
36304         * modules/remove (configure.ac): ... to here.
36306 2011-05-21  Bruno Haible  <bruno@clisp.org>
36308         relocatable-lib: Move AC_LIBOBJ invocations to module description.
36309         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
36310         macro.
36311         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
36312         * modules/relocatable-lib (configure.ac): ... to here.
36313         * modules/relocatable-prog-wrapper (configure.ac): Invoke
36314         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
36316 2011-05-21  Bruno Haible  <bruno@clisp.org>
36318         relocatable-prog: Move AC_LIBOBJ invocations to module description.
36319         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
36320         here...
36321         * modules/relocatable-prog (configure.ac): ... to here.
36323 2011-05-21  Bruno Haible  <bruno@clisp.org>
36325         regex: Move AC_LIBOBJ invocations to module description.
36326         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
36327         invocations from here...
36328         * modules/regex (configure.ac): ... to here.
36330 2011-05-21  Bruno Haible  <bruno@clisp.org>
36332         realloc-*: Move AC_LIBOBJ invocations to module description.
36333         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
36334         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
36335         AC_LIBOBJ invocations from here...
36336         * modules/realloc-gnu (configure.ac): ... to here.
36337         * modules/realloc-posix (configure.ac): ... and here.
36339 2011-05-21  Bruno Haible  <bruno@clisp.org>
36341         readutmp: Move AC_LIBOBJ invocations to module description.
36342         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
36343         * modules/readutmp (configure.ac): ... to here.
36345 2011-05-21  Bruno Haible  <bruno@clisp.org>
36347         readlinkat: Move AC_LIBOBJ invocations to module description.
36348         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
36349         here...
36350         * modules/readlinkat (configure.ac): ... to here.
36352 2011-05-21  Bruno Haible  <bruno@clisp.org>
36354         readlink: Move AC_LIBOBJ invocations to module description.
36355         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
36356         gl_PREREQ_READLINK invocations from here...
36357         * modules/readlink (configure.ac): ... to here.
36359 2011-05-21  Bruno Haible  <bruno@clisp.org>
36361         readline: Move AC_LIBOBJ invocations to module description.
36362         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
36363         gl_PREREQ_READLINE invocations from here...
36364         * modules/readline (configure.ac): ... to here.
36366 2011-05-21  Bruno Haible  <bruno@clisp.org>
36368         read: Move AC_LIBOBJ invocations to module description.
36369         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
36370         * modules/read (configure.ac): ... to here.
36372 2011-05-21  Bruno Haible  <bruno@clisp.org>
36374         rawmemchr: Move AC_LIBOBJ invocations to module description.
36375         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
36376         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
36377         from here...
36378         * modules/rawmemchr (configure.ac): ... to here.
36380 2011-05-21  Bruno Haible  <bruno@clisp.org>
36382         random_r: Move AC_LIBOBJ invocations to module description.
36383         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
36384         gl_PREREQ_RANDOM_R invocations from here...
36385         * modules/random_r (configure.ac): ... to here.
36387 2011-05-21  Bruno Haible  <bruno@clisp.org>
36389         pwrite: Move AC_LIBOBJ invocations to module description.
36390         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
36391         * modules/pwrite (configure.ac): ... to here.
36393 2011-05-21  Bruno Haible  <bruno@clisp.org>
36395         putenv: Move AC_LIBOBJ invocations to module description.
36396         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
36397         * modules/putenv (configure.ac): ... to here.
36399 2011-05-21  Bruno Haible  <bruno@clisp.org>
36401         login_tty: Move AC_LIBOBJ invocations to module description.
36402         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
36403         * modules/login_tty (configure.ac): ... to here.
36405 2011-05-21  Bruno Haible  <bruno@clisp.org>
36407         openpty: Move AC_LIBOBJ invocations to module description.
36408         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
36409         * modules/openpty (configure.ac): ... to here.
36411 2011-05-21  Bruno Haible  <bruno@clisp.org>
36413         forkpty: Move AC_LIBOBJ invocations to module description.
36414         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
36415         * modules/forkpty (configure.ac): ... to here.
36417 2011-05-21  Bruno Haible  <bruno@clisp.org>
36419         ptsname: Move AC_LIBOBJ invocations to module description.
36420         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
36421         invocations from here...
36422         * modules/ptsname (configure.ac): ... to here.
36424 2011-05-21  Bruno Haible  <bruno@clisp.org>
36426         pread: Move AC_LIBOBJ invocations to module description.
36427         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
36428         * modules/pread (configure.ac): ... to here.
36430 2011-05-21  Bruno Haible  <bruno@clisp.org>
36432         posix_spawn*: Move AC_LIBOBJ invocations to module description.
36433         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
36434         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
36435         * modules/posix_spawn (configure.ac): ... to here.
36436         * modules/posix_spawnp (configure.ac): ... and here.
36438 2011-05-21  Bruno Haible  <bruno@clisp.org>
36440         popen: Move AC_LIBOBJ invocations to module description.
36441         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
36442         invocations from here...
36443         * modules/popen (configure.ac): ... to here.
36445 2011-05-21  Bruno Haible  <bruno@clisp.org>
36447         poll: Move AC_LIBOBJ invocations to module description.
36448         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
36449         invocations from here...
36450         * modules/poll (configure.ac): ... to here.
36452 2011-05-21  Bruno Haible  <bruno@clisp.org>
36454         pipe-posix: Move AC_LIBOBJ invocations to module description.
36455         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
36456         * modules/pipe-posix (configure.ac): ... to here.
36458 2011-05-21  Bruno Haible  <bruno@clisp.org>
36460         openat: Respect rules for use of AC_LIBOBJ.
36461         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
36462         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36463         * modules/openat (configure.ac): ... to here.
36465 2011-05-21  Bruno Haible  <bruno@clisp.org>
36467         obstack-printf*: Move AC_LIBOBJ invocations to module description.
36468         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
36469         invocation from here...
36470         * modules/obstack-printf (configure.ac): ... to here.
36471         * modules/obstack-printf-posix (configure.ac): ... and here.
36473 2011-05-21  Bruno Haible  <bruno@clisp.org>
36475         nl_langinfo: Move AC_LIBOBJ invocations to module description.
36476         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
36477         from here...
36478         * modules/nl_langinfo (configure.ac): ... to here.
36480 2011-05-21  Bruno Haible  <bruno@clisp.org>
36482         nanosleep: Move AC_LIBOBJ invocations to module description.
36483         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
36484         gl_PREREQ_NANOSLEEP invocations from here...
36485         * modules/nanosleep (configure.ac): ... to here.
36487 2011-05-21  Bruno Haible  <bruno@clisp.org>
36489         mountlist: Move AC_LIBOBJ invocations to module description.
36490         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
36491         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
36492         * modules/mountlist (configure.ac): ... to here.
36494 2011-05-21  Bruno Haible  <bruno@clisp.org>
36496         mktime: Respect rules for use of AC_LIBOBJ.
36497         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
36498         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
36499         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
36500         (gl_FUNC_MKTIME_INTERNAL): ... and here...
36501         * modules/mktime (configure.ac): ... to here.
36502         * modules/mktime-internal (configure.ac): ... and here.
36503         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
36505 2011-05-21  Bruno Haible  <bruno@clisp.org>
36507         mkstemps: Move AC_LIBOBJ invocations to module description.
36508         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
36509         here...
36510         * modules/mkstemps (configure.ac): ... to here.
36512 2011-05-21  Bruno Haible  <bruno@clisp.org>
36514         mkstemp: Move AC_LIBOBJ invocations to module description.
36515         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
36516         gl_PREREQ_MKSTEMP invocations from here...
36517         * modules/mkstemp (configure.ac): ... to here.
36519 2011-05-21  Bruno Haible  <bruno@clisp.org>
36521         mkostemps: Move AC_LIBOBJ invocations to module description.
36522         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
36523         here...
36524         * modules/mkostemps (configure.ac): ... to here.
36526 2011-05-21  Bruno Haible  <bruno@clisp.org>
36528         mkostemp: Move AC_LIBOBJ invocations to module description.
36529         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
36530         gl_PREREQ_MKOSTEMP invocations from here...
36531         * modules/mkostemp (configure.ac): ... to here.
36533 2011-05-21  Bruno Haible  <bruno@clisp.org>
36535         mknod: Move AC_LIBOBJ invocations to module description.
36536         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
36537         * modules/mknod (configure.ac): ... to here.
36539 2011-05-21  Bruno Haible  <bruno@clisp.org>
36541         mkfifoat: Move AC_LIBOBJ invocations to module description.
36542         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
36543         here...
36544         * modules/mkfifoat (configure.ac): ... to here.
36546 2011-05-21  Bruno Haible  <bruno@clisp.org>
36548         mkfifo: Respect rules for use of AC_LIBOBJ.
36549         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
36550         here...
36551         * modules/mkfifo (configure.ac): ... to here.
36553 2011-05-21  Bruno Haible  <bruno@clisp.org>
36555         mkdtemp: Move AC_LIBOBJ invocations to module description.
36556         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
36557         invocations from here...
36558         * modules/mkdtemp (configure.ac): ... to here.
36560 2011-05-21  Bruno Haible  <bruno@clisp.org>
36562         mkdir: Move AC_LIBOBJ invocations to module description.
36563         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
36564         * modules/mkdir (configure.ac): ... to here.
36566 2011-05-21  Bruno Haible  <bruno@clisp.org>
36568         memset: Move AC_LIBOBJ invocations to module description.
36569         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
36570         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
36571         here...
36572         * modules/memset (configure.ac): ... to here.
36574 2011-05-21  Bruno Haible  <bruno@clisp.org>
36576         memrchr: Move AC_LIBOBJ invocations to module description.
36577         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
36578         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
36579         here...
36580         * modules/memrchr (configure.ac): ... to here.
36582 2011-05-21  Bruno Haible  <bruno@clisp.org>
36584         mempcpy: Move AC_LIBOBJ invocations to module description.
36585         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
36586         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
36587         here...
36588         * modules/mempcpy (configure.ac): ... to here.
36590 2011-05-21  Bruno Haible  <bruno@clisp.org>
36592         memmove: Move AC_LIBOBJ invocations to module description.
36593         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
36594         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
36595         here...
36596         * modules/memmove (configure.ac): ... to here.
36598 2011-05-21  Bruno Haible  <bruno@clisp.org>
36600         memmem*: Move AC_LIBOBJ invocations to module description.
36601         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
36602         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
36603         here...
36604         (gl_FUNC_MEMMEM): ... and here...
36605         * modules/memmem-simple (configure.ac): ... to here.
36606         * modules/memmem (configure.ac): ... and here.
36608 2011-05-21  Bruno Haible  <bruno@clisp.org>
36610         memcpy: Move AC_LIBOBJ invocations to module description.
36611         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
36612         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
36613         here...
36614         * modules/memcpy (configure.ac): ... to here.
36616 2011-05-21  Bruno Haible  <bruno@clisp.org>
36618         memcmp: Simplify autoconf macro.
36619         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
36620         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
36621         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
36623 2011-05-21  Bruno Haible  <bruno@clisp.org>
36625         memcmp: Move AC_LIBOBJ invocations to module description.
36626         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
36627         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
36628         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
36629         * modules/memcmp (configure.ac): ... to here.
36630         (Depends-on): Update conditions.
36632 2011-05-21  Bruno Haible  <bruno@clisp.org>
36634         memchr: Respect rules for use of AC_LIBOBJ.
36635         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
36636         invocations from here...
36637         * modules/memchr (configure.ac): ... to here.
36639 2011-05-21  Bruno Haible  <bruno@clisp.org>
36641         mbtowc: Move AC_LIBOBJ invocations to module description.
36642         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
36643         invocations from here...
36644         * modules/mbtowc (configure.ac): ... to here.
36646 2011-05-21  Bruno Haible  <bruno@clisp.org>
36648         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
36649         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
36650         gl_PREREQ_MBSRTOWCS invocations from here...
36651         * modules/mbsrtowcs (configure.ac): ... to here.
36653 2011-05-21  Bruno Haible  <bruno@clisp.org>
36655         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
36656         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
36657         gl_PREREQ_MBSNRTOWCS invocations from here...
36658         * modules/mbsnrtowcs (configure.ac): ... to here.
36660 2011-05-21  Bruno Haible  <bruno@clisp.org>
36662         mbsinit: Move AC_LIBOBJ invocations to module description.
36663         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
36664         invocations from here...
36665         * modules/mbsinit (configure.ac): ... to here.
36667 2011-05-21  Bruno Haible  <bruno@clisp.org>
36669         mbrlen: Move AC_LIBOBJ invocations to module description.
36670         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
36671         invocations from here...
36672         * modules/mbrlen (configure.ac): ... to here.
36674 2011-05-21  Bruno Haible  <bruno@clisp.org>
36676         mbrtowc: Respect rules for use of AC_LIBOBJ.
36677         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
36678         invocations from here...
36679         * modules/mbrtowc (configure.ac): ... to here.
36681 2011-05-21  Bruno Haible  <bruno@clisp.org>
36683         malloc-*: Move AC_LIBOBJ invocations to module description.
36684         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
36685         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
36686         AC_LIBOBJ invocations from here...
36687         * modules/malloc-gnu (configure.ac): ... to here.
36688         * modules/malloc-posix (configure.ac): ... and here.
36690 2011-05-21  Bruno Haible  <bruno@clisp.org>
36692         lstat, openat: Respect rules for use of AC_LIBOBJ.
36693         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
36694         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
36695         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
36696         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
36697         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
36698         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
36699         here.
36700         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
36702 2011-05-21  Bruno Haible  <bruno@clisp.org>
36704         lseek: Move AC_LIBOBJ invocations to module description.
36705         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
36706         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
36707         * modules/lseek (configure.ac): ... to here.
36709 2011-05-21  Bruno Haible  <bruno@clisp.org>
36711         linkat: Move AC_LIBOBJ invocations to module description.
36712         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
36713         here...
36714         * modules/linkat (configure.ac): ... to here.
36716 2011-05-21  Bruno Haible  <bruno@clisp.org>
36718         link: Respect rules for use of AC_LIBOBJ.
36719         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
36720         * modules/link (configure.ac): ... to here.
36722 2011-05-21  Bruno Haible  <bruno@clisp.org>
36724         lchown: Move AC_LIBOBJ invocations to module description.
36725         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
36726         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
36727         * modules/lchown (configure.ac): ... to here.
36729 2011-05-21  Bruno Haible  <bruno@clisp.org>
36731         iswctype: Move AC_LIBOBJ invocations to module description.
36732         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
36733         here...
36734         * modules/iswctype (configure.ac): ... to here.
36736 2011-05-21  Bruno Haible  <bruno@clisp.org>
36738         iswblank: Move AC_LIBOBJ invocations to module description.
36739         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
36740         here...
36741         * modules/iswblank (configure.ac): ... to here.
36743 2011-05-21  Bruno Haible  <bruno@clisp.org>
36745         atanl: Move AC_LIBOBJ invocations to module description.
36746         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
36747         * modules/atanl (configure.ac): ... to here.
36749 2011-05-21  Bruno Haible  <bruno@clisp.org>
36751         acosl: Move AC_LIBOBJ invocations to module description.
36752         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
36753         * modules/acosl (configure.ac): ... to here.
36755 2011-05-21  Bruno Haible  <bruno@clisp.org>
36757         asinl: Respect rules for use of AC_LIBOBJ.
36758         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
36759         * modules/asinl (configure.ac): ... to here.
36761 2011-05-21  Bruno Haible  <bruno@clisp.org>
36763         tanl: Move AC_LIBOBJ invocations to module description.
36764         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
36765         * modules/tanl (configure.ac): ... to here.
36767 2011-05-21  Bruno Haible  <bruno@clisp.org>
36769         cosl: Move AC_LIBOBJ invocations to module description.
36770         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
36771         * modules/cosl (configure.ac): ... to here.
36773 2011-05-21  Bruno Haible  <bruno@clisp.org>
36775         sinl: Move AC_LIBOBJ invocations to module description.
36776         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
36777         * modules/sinl (configure.ac): ... to here.
36779 2011-05-21  Bruno Haible  <bruno@clisp.org>
36781         logl: Move AC_LIBOBJ invocations to module description.
36782         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
36783         * modules/logl (configure.ac): ... to here.
36785 2011-05-21  Bruno Haible  <bruno@clisp.org>
36787         expl: Move AC_LIBOBJ invocations to module description.
36788         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
36789         * modules/expl (configure.ac): ... to here.
36791 2011-05-21  Bruno Haible  <bruno@clisp.org>
36793         roundl: Move AC_LIBOBJ invocations to module description.
36794         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
36795         * modules/roundl (configure.ac): ... to here.
36797 2011-05-21  Bruno Haible  <bruno@clisp.org>
36799         round: Move AC_LIBOBJ invocations to module description.
36800         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
36801         * modules/round (configure.ac): ... to here.
36803 2011-05-21  Bruno Haible  <bruno@clisp.org>
36805         roundf: Move AC_LIBOBJ invocations to module description.
36806         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
36807         * modules/roundf (configure.ac): ... to here.
36809 2011-05-21  Bruno Haible  <bruno@clisp.org>
36811         truncl: Move AC_LIBOBJ invocations to module description.
36812         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
36813         * modules/truncl (configure.ac): ... to here.
36815 2011-05-21  Bruno Haible  <bruno@clisp.org>
36817         trunc: Move AC_LIBOBJ invocations to module description.
36818         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
36819         * modules/trunc (configure.ac): ... to here.
36821 2011-05-21  Bruno Haible  <bruno@clisp.org>
36823         truncf: Move AC_LIBOBJ invocations to module description.
36824         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
36825         * modules/truncf (configure.ac): ... to here.
36827 2011-05-21  Bruno Haible  <bruno@clisp.org>
36829         ceill: Move AC_LIBOBJ invocations to module description.
36830         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
36831         * modules/ceill (configure.ac): ... to here.
36833 2011-05-21  Bruno Haible  <bruno@clisp.org>
36835         ceil: Move AC_LIBOBJ invocations to module description.
36836         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
36837         * modules/ceil (configure.ac): ... to here.
36839 2011-05-21  Bruno Haible  <bruno@clisp.org>
36841         ceilf: Move AC_LIBOBJ invocations to module description.
36842         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
36843         * modules/ceilf (configure.ac): ... to here.
36845 2011-05-21  Bruno Haible  <bruno@clisp.org>
36847         floorl: Respect rules for use of AC_LIBOBJ.
36848         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
36849         * modules/floorl (configure.ac): ... to here.
36851 2011-05-21  Bruno Haible  <bruno@clisp.org>
36853         floor: Respect rules for use of AC_LIBOBJ.
36854         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
36855         * modules/floor (configure.ac): ... to here.
36857 2011-05-21  Bruno Haible  <bruno@clisp.org>
36859         floorf: Move AC_LIBOBJ invocations to module description.
36860         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
36861         * modules/floorf (configure.ac): ... to here.
36863 2011-05-20  Bruno Haible  <bruno@clisp.org>
36865         sqrtl: Respect rules for use of AC_LIBOBJ.
36866         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
36867         * modules/sqrtl (configure.ac): ... to here.
36869 2011-05-20  Bruno Haible  <bruno@clisp.org>
36871         ldexpl: Respect rules for use of AC_LIBOBJ.
36872         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
36873         * modules/ldexpl (configure.ac): ... to here.
36875 2011-05-20  Bruno Haible  <bruno@clisp.org>
36877         frexpl*: Respect rules for use of AC_LIBOBJ.
36878         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
36879         invocation from here...
36880         * modules/frexpl (configure.ac): ... to here.
36881         * modules/frexpl-nolibm (configure.ac): ... and here.
36883 2011-05-20  Bruno Haible  <bruno@clisp.org>
36885         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
36886         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
36887         invocation from here...
36888         * modules/frexp (configure.ac): ... to here.
36889         * modules/frexp-nolibm (configure.ac): ... and here.
36891 2011-05-20  Bruno Haible  <bruno@clisp.org>
36893         isnan: Respect rules for use of AC_LIBOBJ.
36894         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
36895         invocations here.
36896         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
36897         REPLACE_ISNAN.
36898         * modules/isnand (configure.ac): Likewise.
36899         * modules/isnanl (configure.ac): Likewise.
36901 2011-05-20  Bruno Haible  <bruno@clisp.org>
36903         isnanl*: Respect rules for use of AC_LIBOBJ.
36904         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
36905         invocation from here...
36906         * modules/isnanl (configure.ac): ... to here.
36907         * modules/isnanl-nolibm (configure.ac): ... and here.
36909 2011-05-20  Bruno Haible  <bruno@clisp.org>
36911         isnand*: Move AC_LIBOBJ invocations to module description.
36912         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
36913         invocation from here...
36914         * modules/isnand (configure.ac): ... to here.
36915         * modules/isnand-nolibm (configure.ac): ... and here.
36917 2011-05-20  Bruno Haible  <bruno@clisp.org>
36919         isnanf*: Move AC_LIBOBJ invocations to module description.
36920         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
36921         invocation from here...
36922         * modules/isnanf (configure.ac): ... to here.
36923         * modules/isnanf-nolibm (configure.ac): ... and here.
36925 2011-05-20  Bruno Haible  <bruno@clisp.org>
36927         isnan*: Separate the AC_LIBOBJ invocations.
36928         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
36929         AC_LIBOBJ invocation.
36930         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
36931         here.
36932         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
36933         AC_LIBOBJ invocation.
36934         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
36935         here.
36936         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
36937         AC_LIBOBJ invocation.
36938         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
36939         here.
36940         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
36942 2011-05-08  Bruno Haible  <bruno@clisp.org>
36944         isinf: Move AC_LIBOBJ invocations to module description.
36945         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
36946         * modules/isinf (configure.ac): ... to here.
36948 2011-05-08  Bruno Haible  <bruno@clisp.org>
36950         isfinite: Move AC_LIBOBJ invocations to module description.
36951         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
36952         * modules/isfinite (configure.ac): ... to here.
36954 2011-05-08  Bruno Haible  <bruno@clisp.org>
36956         isblank: Move AC_LIBOBJ invocations to module description.
36957         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
36958         here...
36959         * modules/isblank (configure.ac): ... to here.
36961 2011-05-08  Bruno Haible  <bruno@clisp.org>
36963         isapipe: Move AC_LIBOBJ invocations to module description.
36964         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
36965         gl_PREREQ_ISAPIPE invocations from here...
36966         * modules/isapipe (configure.ac): ... to here.
36967         (Depends-on): Update condition.
36969 2011-05-08  Bruno Haible  <bruno@clisp.org>
36971         ioctl: Move AC_LIBOBJ invocations to module description.
36972         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
36973         invocations from here...
36974         * modules/ioctl (configure.ac): ... to here.
36975         (Depends-on): Update condition.
36977 2011-05-08  Bruno Haible  <bruno@clisp.org>
36979         imaxdiv: Move AC_LIBOBJ invocations to module description.
36980         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
36981         invocations from here...
36982         * modules/imaxdiv (configure.ac): ... to here.
36984 2011-05-08  Bruno Haible  <bruno@clisp.org>
36986         imaxabs: Move AC_LIBOBJ invocations to module description.
36987         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
36988         invocations from here...
36989         * modules/imaxabs (configure.ac): ... to here.
36991 2011-05-08  Bruno Haible  <bruno@clisp.org>
36993         getaddrinfo: Move AC_LIBOBJ invocations to module description.
36994         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
36995         AC_LIBOBJ invocations from here...
36996         * modules/getaddrinfo (configure.ac): ... to here.
36997         (Depends-on): Add conditions.
36999 2011-05-08  Bruno Haible  <bruno@clisp.org>
37001         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
37002         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
37003         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
37004         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
37005         (gl_PREREQ_INET_PTON): ... from here.
37006         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
37007         gl_PREREQ_INET_PTON here.
37008         (Depends-on): Update condition.
37010 2011-05-08  Bruno Haible  <bruno@clisp.org>
37012         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
37013         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
37014         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
37015         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
37016         (gl_PREREQ_INET_NTOP): ... from here.
37017         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
37018         gl_PREREQ_INET_NTOP here.
37019         (Depends-on): Update condition.
37021 2011-05-08  Bruno Haible  <bruno@clisp.org>
37023         iconv_open: Move AC_LIBOBJ invocations to module description.
37024         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
37025         AC_LIBOBJ invocations from here...
37026         * modules/iconv_open (configure.ac): ... to here.
37028 2011-05-08  Bruno Haible  <bruno@clisp.org>
37030         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
37031         If module 'iconv_open' is among the main modules and module
37032         'iconv_open-utf' is among the tests dependencies, then
37033         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
37034         return the special iconv_t values. Therefore iconv() and iconv_close()
37035         must support these special iconv_t values, already in lib, not only in
37036         tests.
37037         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
37038         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
37039         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
37040         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
37041         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
37042         (Depends-on): Add the dependencies of iconv_open-utf.
37043         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
37044         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
37045         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
37047 2011-05-08  Bruno Haible  <bruno@clisp.org>
37049         group-member: Move AC_LIBOBJ invocations to module description.
37050         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
37051         gl_PREREQ_GROUP_MEMBER invocations from here...
37052         * modules/group-member (configure.ac): ... to here.
37054 2011-05-08  Bruno Haible  <bruno@clisp.org>
37056         grantpt: Move AC_LIBOBJ invocations to module description.
37057         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
37058         invocations from here...
37059         * modules/grantpt (configure.ac): ... to here.
37061 2011-05-08  Bruno Haible  <bruno@clisp.org>
37063         glob: Move AC_LIBOBJ invocations to module description.
37064         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
37065         from here...
37066         * modules/glob (configure.ac): ... to here.
37068 2011-05-08  Bruno Haible  <bruno@clisp.org>
37070         getusershell: Move AC_LIBOBJ invocations to module description.
37071         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
37072         Move AC_LIBOBJ invocation from here...
37073         * modules/getusershell (configure.ac): ... to here.
37074         (Depends-on): Update condition.
37076 2011-05-08  Bruno Haible  <bruno@clisp.org>
37078         gettimeofday: Move AC_LIBOBJ invocations to module description.
37079         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
37080         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
37081         gl_PREREQ_GETTIMEOFDAY invocations from here...
37082         * modules/gettimeofday (configure.ac): ... to here.
37084 2011-05-08  Bruno Haible  <bruno@clisp.org>
37086         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
37087         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
37088         just gl_FUNC_TZSET.
37089         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
37090         (gl_FUNC_TZSET_CLOBBER): Remove actions.
37091         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
37092         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
37094 2011-05-08  Bruno Haible  <bruno@clisp.org>
37096         getsubopt: Move AC_LIBOBJ invocations to module description.
37097         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
37098         gl_PREREQ_GETSUBOPT invocations from here...
37099         * modules/getsubopt (configure.ac): ... to here.
37101 2011-05-08  Bruno Haible  <bruno@clisp.org>
37103         getpass-gnu: Move AC_LIBOBJ invocations to module description.
37104         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
37105         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
37106         * modules/getpass-gnu (configure.ac): ... to here.
37108 2011-05-08  Bruno Haible  <bruno@clisp.org>
37110         getpass: Move AC_LIBOBJ invocations to module description.
37111         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
37112         gl_PREREQ_GETPASS invocations from here...
37113         * modules/getpass (configure.ac): ... to here.
37115 2011-05-08  Bruno Haible  <bruno@clisp.org>
37117         getpagesize: Move AC_LIBOBJ invocations to module description.
37118         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
37119         from here...
37120         * modules/getpagesize (configure.ac): ... to here.
37122 2011-05-08  Bruno Haible  <bruno@clisp.org>
37124         getopt: Move AC_LIBOBJ invocations to module description.
37125         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
37126         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
37127         invocations from here...
37128         * modules/getopt-gnu (configure.ac): ... to here.
37129         * modules/getopt-posix (configure.ac): ... and here.
37130         (Depends-on): Update condition.
37132 2011-05-08  Bruno Haible  <bruno@clisp.org>
37134         getopt, argp: Respect rules for use of AC_LIBOBJ.
37135         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
37136         (gl_REPLACE_GETOPT_ALWAYS): New macro.
37137         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
37138         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
37140 2011-05-08  Bruno Haible  <bruno@clisp.org>
37142         getlogin_r: Move AC_LIBOBJ invocations to module description.
37143         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
37144         gl_PREREQ_GETLOGIN_R invocations from here...
37145         * modules/getlogin_r (configure.ac): ... to here.
37147 2011-05-08  Bruno Haible  <bruno@clisp.org>
37149         getlogin: Move AC_LIBOBJ invocations to module description.
37150         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
37151         here...
37152         * modules/getlogin (configure.ac): ... to here.
37154 2011-05-08  Bruno Haible  <bruno@clisp.org>
37156         getloadavg: Move AC_LIBOBJ invocations to module description.
37157         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
37158         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
37159         * modules/getloadavg (configure.ac): ... to here.
37161 2011-05-08  Bruno Haible  <bruno@clisp.org>
37163         gethrxtime: Move AC_LIBOBJ invocations to module description.
37164         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
37165         LIB_GETHRXTIME from here...
37166         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
37167         invocations from here...
37168         * modules/gethrxtime (configure.ac): ... to here.
37170 2011-05-08  Bruno Haible  <bruno@clisp.org>
37172         gethostname: Move AC_LIBOBJ invocations to module description.
37173         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
37174         gl_PREREQ_GETHOSTNAME invocations from here...
37175         * modules/gethostname (configure.ac): ... to here.
37177 2011-05-08  Bruno Haible  <bruno@clisp.org>
37179         getgroups: Move AC_LIBOBJ invocations to module description.
37180         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
37181         here...
37182         * modules/getgroups (configure.ac): ... to here.
37184 2011-05-08  Bruno Haible  <bruno@clisp.org>
37186         getdtablesize: Move AC_LIBOBJ invocations to module description.
37187         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
37188         invocation from here...
37189         * modules/getdtablesize (configure.ac): ... to here.
37191 2011-05-08  Bruno Haible  <bruno@clisp.org>
37193         getdomainname: Move AC_LIBOBJ invocations to module description.
37194         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
37195         gl_PREREQ_GETDOMAINNAME invocations from here...
37196         * modules/getdomainname (configure.ac): ... to here.
37198 2011-05-08  Bruno Haible  <bruno@clisp.org>
37200         getline: Move AC_LIBOBJ invocations to module description.
37201         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
37202         invocations from here...
37203         * modules/getline (configure.ac): ... to here.
37205 2011-05-08  Bruno Haible  <bruno@clisp.org>
37207         getline: Simplify.
37208         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
37209         It's already handled through the module dependency.
37211 2011-05-08  Bruno Haible  <bruno@clisp.org>
37213         getdelim: Move AC_LIBOBJ invocations to module description.
37214         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
37215         and gl_PREREQ_GETDELIM invocations from here...
37216         * modules/getdelim (configure.ac): ... to here.
37217         (Depends-on): Fix condition.
37219 2011-05-08  Bruno Haible  <bruno@clisp.org>
37221         getcwd: Move AC_LIBOBJ invocations to module description.
37222         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
37223         invocations from here...
37224         * modules/getcwd (configure.ac): ... to here.
37226 2011-05-08  Bruno Haible  <bruno@clisp.org>
37228         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
37229         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
37230         here...
37231         * modules/getcwd-lgpl (configure.ac): ... to here.
37233 2011-05-07  Bruno Haible  <bruno@clisp.org>
37235         crypto/gc: Move AC_LIBOBJ invocations to module description.
37236         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
37237         * modules/crypto/gc (configure.ac): ... to here.
37239 2011-05-07  Bruno Haible  <bruno@clisp.org>
37241         fwriting: Move AC_LIBOBJ invocations to module description.
37242         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
37243         here...
37244         * modules/fwriting (configure.ac): ... to here.
37246 2011-05-07  Bruno Haible  <bruno@clisp.org>
37248         fwritable: Move AC_LIBOBJ invocations to module description.
37249         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
37250         here...
37251         * modules/fwritable (configure.ac): ... to here.
37253 2011-05-07  Bruno Haible  <bruno@clisp.org>
37255         futimens: Move AC_LIBOBJ invocations to module description.
37256         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
37257         here...
37258         * modules/futimens (configure.ac): ... to here.
37260 2011-05-07  Bruno Haible  <bruno@clisp.org>
37262         ftruncate: Move AC_LIBOBJ invocations to module description.
37263         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
37264         gl_PREREQ_FTRUNCATE invocations from here...
37265         * modules/ftruncate (configure.ac): ... to here.
37267 2011-05-07  Bruno Haible  <bruno@clisp.org>
37269         fsync: Move AC_LIBOBJ invocations to module description.
37270         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
37271         invocations from here...
37272         * modules/fsync (configure.ac): ... to here.
37274 2011-05-07  Bruno Haible  <bruno@clisp.org>
37276         fsusage: Move AC_LIBOBJ invocations to module description.
37277         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
37278         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
37279         * modules/fsusage (configure.ac): ... to here.
37281 2011-05-07  Bruno Haible  <bruno@clisp.org>
37283         freopen: Move AC_LIBOBJ invocations to module description.
37284         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
37285         invocations from here...
37286         * modules/freopen (configure.ac): ... to here.
37288 2011-05-07  Bruno Haible  <bruno@clisp.org>
37290         free: Move AC_LIBOBJ invocations to module description.
37291         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
37292         invocations from here...
37293         * modules/free (configure.ac): ... to here.
37295 2011-05-07  Bruno Haible  <bruno@clisp.org>
37297         freadable: Move AC_LIBOBJ invocations to module description.
37298         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
37299         here...
37300         * modules/freadable (configure.ac): ... to here.
37302 2011-05-07  Bruno Haible  <bruno@clisp.org>
37304         fpurge: Move AC_LIBOBJ invocations to module description.
37305         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
37306         invocations from here...
37307         * modules/fpurge (configure.ac): ... to here.
37309 2011-05-07  Bruno Haible  <bruno@clisp.org>
37311         fpending: Move AC_LIBOBJ invocations to module description.
37312         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
37313         gl_FUNC_FPENDING.
37314         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
37315         invocations from here...
37316         * modules/fpending (configure.ac): ... to here.
37318 2011-05-07  Bruno Haible  <bruno@clisp.org>
37320         fopen: Move AC_LIBOBJ invocations to module description.
37321         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
37322         invocations from here...
37323         * modules/fopen (configure.ac): ... to here.
37325 2011-05-07  Bruno Haible  <bruno@clisp.org>
37327         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
37328         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
37329         gl_FUNC_FNMATCH_POSIX.
37330         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
37331         invocations from here...
37332         * modules/fnmatch (configure.ac): ... to here.
37333         * modules/fnmatch-gnu (configure.ac): ... and here.
37335 2011-05-07  Bruno Haible  <bruno@clisp.org>
37337         flock: Move AC_LIBOBJ invocations to module description.
37338         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
37339         invocations from here...
37340         * modules/flock (configure.ac): ... to here.
37342 2011-05-07  Bruno Haible  <bruno@clisp.org>
37344         fileblocks: Move AC_LIBOBJ invocations to module description.
37345         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
37346         gl_PREREQ_FILEBLOCKS invocations from here...
37347         * modules/fileblocks (configure.ac): ... to here.
37349 2011-05-06  Bruno Haible  <bruno@clisp.org>
37351         fflush: Move AC_LIBOBJ invocations to module description.
37352         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
37353         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
37354         invocations from here...
37355         * modules/fflush (configure.ac): ... to here.
37357 2011-05-06  Bruno Haible  <bruno@clisp.org>
37359         fdopendir: Move AC_LIBOBJ invocations to module description.
37360         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
37361         here...
37362         * modules/fdopendir (configure.ac): ... to here.
37363         (Depends-on): Improve conditions.
37365 2011-05-06  Bruno Haible  <bruno@clisp.org>
37367         _Exit: Move AC_LIBOBJ invocations to module description.
37368         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
37369         invocations from here...
37370         * modules/_Exit (configure.ac): ... to here.
37372 2011-05-21  Bruno Haible  <bruno@clisp.org>
37374         euidaccess: Respect rules for use of AC_LIBOBJ.
37375         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
37376         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
37377         from here...
37378         * modules/euidaccess (configure.ac): ... to here.
37380 2011-05-06  Bruno Haible  <bruno@clisp.org>
37382         error: Move AC_LIBOBJ invocations to module description.
37383         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
37384         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
37385         invocations from here...
37386         * modules/error (configure.ac): ... to here.
37388 2011-05-06  Bruno Haible  <bruno@clisp.org>
37390         duplocale: Move AC_LIBOBJ invocations to module description.
37391         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
37392         gl_PREREQ_DUPLOCALE invocations from here...
37393         * modules/duplocale (configure.ac): ... to here.
37395 2011-05-05  Bruno Haible  <bruno@clisp.org>
37397         dirfd: Move AC_LIBOBJ invocations to module description.
37398         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
37399         gl_FUNC_DIRFD.
37400         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
37401         here...
37402         * modules/dirfd (configure.ac): ... to here.
37403         (Depends-on): Fix condition.
37405 2011-05-05  Bruno Haible  <bruno@clisp.org>
37407         chown: Respect rules for use of AC_LIBOBJ.
37408         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
37409         * modules/chown (configure.ac): ... to here.
37411 2011-05-05  Bruno Haible  <bruno@clisp.org>
37413         chdir-long: Move AC_LIBOBJ invocations to module description.
37414         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
37415         gl_PREREQ_CHDIR_LONG invocations from here...
37416         * modules/chdir-long (configure.ac): ... to here.
37418 2011-05-05  Bruno Haible  <bruno@clisp.org>
37420         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
37421         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
37422         from here...
37423         * modules/canonicalize-lgpl (configure.ac): ... to here.
37425 2011-05-05  Bruno Haible  <bruno@clisp.org>
37427         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
37428         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
37429         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
37430         REPLACE_CALLOC.
37431         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
37432         * modules/calloc-gnu (configure.ac): Likewise.
37434 2011-05-05  Bruno Haible  <bruno@clisp.org>
37436         btowc: Move AC_LIBOBJ invocations to module description.
37437         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
37438         invocations from here...
37439         * modules/btowc (configure.ac): ... to here.
37441 2011-05-21  Bruno Haible  <bruno@clisp.org>
37443         atexit: Move AC_LIBOBJ invocations to module description.
37444         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
37445         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
37446         here...
37447         * modules/atexit (configure.ac): ... to here.
37449 2011-05-05  Bruno Haible  <bruno@clisp.org>
37451         atoll: Move AC_LIBOBJ invocations to module description.
37452         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
37453         invocations from here...
37454         * modules/atoll (configure.ac): ... to here.
37456 2011-05-05  Bruno Haible  <bruno@clisp.org>
37458         argz: Move AC_LIBOBJ invocations to module description.
37459         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
37460         * modules/argz (configure.ac): ... to here.
37462 2011-05-05  Bruno Haible  <bruno@clisp.org>
37464         alphasort: Move AC_LIBOBJ invocations to module description.
37465         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
37466         gl_PREREQ_ALPHASORT invocations from here...
37467         * modules/alphasort (configure.ac): ... to here.
37469 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
37471         verify: new macro verify_expr; verify_true deprecated
37472         * NEWS: Mention this.
37473         * doc/verify.texi (Compile-time Assertions): Document this.
37474         * lib/verify.h (verify_true): Deprecate.
37475         (verify_expr): New macro.
37476         * tests/test-verify.c (function): Test verify_expr.
37478 2011-06-14  Jim Meyering  <meyering@redhat.com>
37480         init.sh: give more portable redirection-related advice in a comment
37481         * tests/init.sh (stderr_fileno_): Update the advice in comments.
37482         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
37483         for lots of discussion.  Stefano Lattarini suggested the solution
37484         of putting "9>&2" after the command.  Reported by Bruno Haible.
37486 2011-06-13  Bruno Haible  <bruno@clisp.org>
37488         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
37489         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
37490         'none'.
37492 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
37494         ftoastr: use strtof only if HAVE_STRTOF
37495         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
37496         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
37497         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
37498         * modules/ftoastr (configure.ac): Check for strtof.
37500 2011-06-13  Bruno Haible  <bruno@clisp.org>
37502         gnulib-tool: Addendum to 2011-06-08 commit.
37503         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
37504         and --witness-c-macro have been given, augment AM_CPPFLAGS.
37506 2011-06-13  Bruno Haible  <bruno@clisp.org>
37508         fseeko: Provide a non-inline replacement of fseek().
37509         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
37510         * modules/fseeko (Depends-on): Add fseek.
37511         * modules/fseek (License): Change to LGPLv2+.
37513 2011-06-13  Bruno Haible  <bruno@clisp.org>
37515         ftello: Provide a non-inline replacement of ftell().
37516         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
37517         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
37518         not have ftello() (such as on mingw).
37519         * modules/ftello (Depends-on): Add ftell.
37520         * modules/ftell (License): Change to LGPLv2+.
37522 2011-05-07  Bruno Haible  <bruno@clisp.org>
37524         ftell: Move AC_LIBOBJ invocations to module description.
37525         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
37526         * modules/ftell (configure.ac): ... to here.
37528 2011-05-07  Bruno Haible  <bruno@clisp.org>
37530         ftello: Respect rules for use of AC_LIBOBJ.
37531         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
37532         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
37533         here...
37534         * modules/ftello (configure.ac): ... to here.
37536 2011-05-07  Bruno Haible  <bruno@clisp.org>
37538         fseeko: Simplify.
37539         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
37540         (gl_FUNC_FSEEKO): Inline it here.
37542 2011-05-07  Bruno Haible  <bruno@clisp.org>
37544         fseek: Move AC_LIBOBJ invocations to module description.
37545         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
37546         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
37547         * modules/fseek (configure.ac): ... to here.
37549 2011-05-07  Bruno Haible  <bruno@clisp.org>
37551         fseek: Respect rules for use of AC_LIBOBJ.
37552         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
37553         here...
37554         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
37556 2011-05-07  Bruno Haible  <bruno@clisp.org>
37558         fseeko: Respect rules for use of AC_LIBOBJ.
37559         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
37560         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
37561         here...
37562         * modules/fseeko (configure.ac): ... to here.
37564 2011-06-13  Bruno Haible  <bruno@clisp.org>
37566         gnulib-tool: Allow comments in the 'Depends-on' section.
37567         * doc/gnulib.texi (Module description): Mention comment syntax in the
37568         Depends-on section.
37569         * gnulib-tool (func_get_dependencies): Filter out comment lines.
37571 2011-06-13  Bruno Haible  <bruno@clisp.org>
37573         file-set.h: guard __attibute__ use, now that it's not always defined
37574         * lib/file-set.h (record_file): Use __attribute__ only with compiler
37575         versions that support it.  This fixes a coreutils build failure with
37576         the vendor cc on HP-UX 11.31.
37578 2011-06-12  Bruno Haible  <bruno@clisp.org>
37580         acl: Add support for HP-UX >= 11.11 JFS ACLs.
37581         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
37582         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
37583         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
37584         (acl, aclsort): New declarations.
37585         (aclv_nontrivial): New declaration.
37586         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
37587         (file_has_acl): Read also the second kind of HP-UX ACLs.
37588         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
37589         kind of HP-UX ACLs if the first kind fails.
37590         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
37591         second kind of HP-UX ACLs.
37592         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
37593         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
37594         agree.
37595         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37596         hpuxjfs.
37597         Handle hpuxjfs.
37598         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
37599         hpuxjfs.
37600         Handle hpuxjfs.
37601         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37602         (func_test_same_acls): Use both lsacl and getacl.
37603         Handle hpuxjfs.
37604         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
37605         (func_test_same_acls): Use both lsacl and getacl.
37606         Handle hpuxjfs.
37608 2011-06-12  Bruno Haible  <bruno@clisp.org>
37610         acl: Complete the 2010-08-10 fix.
37611         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
37612         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
37613         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
37614         explicitly.
37615         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
37616         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
37618 2011-06-12  Bruno Haible  <bruno@clisp.org>
37620         spawn-pipe tests: Comments.
37621         * tests/test-spawn-pipe-child.c (main): Update comment.
37622         Reported by James Youngman <jay@gnu.org>.
37624 2011-06-11  James Youngman  <jay@gnu.org>
37626         New module 'stat-size'.
37627         * modules/stat-size: New module.  Provides macros for accessing
37628         file size information in instances of struct stat.  Depends on the
37629         fileblocks module because it calls st_blocks.
37630         * lib/stat-size.h: New file, adapted from coreutils' system.h.
37631         * doc/gnulib.texi: Include stat-size.texi.
37632         * doc/stat-size.texi: Documentation for this module.
37633         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
37634         * m4/fileblocks.m4: Mention that stat-size depends on the call to
37635         AC_STRUCT_ST_BLOCKS.
37637 2011-06-09  Bruno Haible  <bruno@clisp.org>
37639         thread: Support pthreads-win32.
37640         * lib/glthread/thread.h (gl_thread_self): Define differently on
37641         pthreads-win32.
37642         (gl_null_thread): New declaration.
37643         (gl_thread_self_pointer): New macro.
37644         * lib/glthread/thread.c (gl_null_thread): New constant.
37645         * tests/test-lock.c: Use gl_thread_self_pointer instead of
37646         gl_thread_self.
37647         * tests/test-tls.c: Likewise.
37648         Suggested by Paul Eggert. Reported by Eric Blake.
37650 2011-06-09  Bruno Haible  <bruno@clisp.org>
37652         thread: Fix confusion between NULL and 0.
37653         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
37654         Reported by Paul Eggert.
37656 2011-06-09  Bruno Haible  <bruno@clisp.org>
37658         spawn-pipe tests: Avoid test failure on HP-UX 11.
37659         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
37660         is closed.
37662 2011-06-09  Bruno Haible  <bruno@clisp.org>
37664         acl tests: Fix compilation error on HP-UX 11.
37665         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
37667 2011-06-09  Bruno Haible  <bruno@clisp.org>
37669         rmdir: Avoid test failure on HP-UX 10.20.
37670         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
37671         EEXIST.
37673 2011-06-08  Eric Blake  <eblake@redhat.com>
37675         perror: fix test on mingw
37676         * modules/perror-tests (Depends-on): Add dup2.
37678         strerror_r-posix: fix on MacOS
37679         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
37680         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
37681         logic bug.
37682         * lib/strerror_r.c (strerror_r): Fix the bug.
37683         * lib/strerror.c (strerror): Likewise.
37684         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
37685         problem.
37686         * doc/posix-functions/strerror.texi (strerror): Likewise.
37687         * doc/posix-functions/perror.texi (perror): Likewise.
37688         * tests/test-strerror.c (main): Enhance test.
37689         * tests/test-strerror_r.c (main): Likewise.
37691 2011-06-08  Bruno Haible  <bruno@clisp.org>
37693         gnulib-tool: Better isolation between different gnulib-tool invocations.
37694         * gnulib-tool: New option --witness-c-macro.
37695         (witness_c_macro): New variable.
37696         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
37697         AM_CPPFLAGS define it as a C macro.
37698         (func_emit_tests_Makefile_am): Likewise.
37699         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
37700         read it from there.
37701         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
37702         m4_define, not AC_DEFUN.
37703         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
37704         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
37705         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
37706         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
37707         s|...|...|, to substitute the values of the GNULIB_* module indicator
37708         variables.
37709         * modules/dirent (Makefile.am): Likewise.
37710         * modules/fcntl-h (Makefile.am): Likewise.
37711         * modules/iconv-h (Makefile.am): Likewise.
37712         * modules/langinfo (Makefile.am): Likewise.
37713         * modules/locale (Makefile.am): Likewise.
37714         * modules/math (Makefile.am): Likewise.
37715         * modules/netdb (Makefile.am): Likewise.
37716         * modules/poll-h (Makefile.am): Likewise.
37717         * modules/pty (Makefile.am): Likewise.
37718         * modules/search (Makefile.am): Likewise.
37719         * modules/signal (Makefile.am): Likewise.
37720         * modules/spawn (Makefile.am): Likewise.
37721         * modules/stdio (Makefile.am): Likewise.
37722         * modules/stdlib (Makefile.am): Likewise.
37723         * modules/string (Makefile.am): Likewise.
37724         * modules/sys_ioctl (Makefile.am): Likewise.
37725         * modules/sys_select (Makefile.am): Likewise.
37726         * modules/sys_socket (Makefile.am): Likewise.
37727         * modules/sys_stat (Makefile.am): Likewise.
37728         * modules/sys_times (Makefile.am): Likewise.
37729         * modules/sys_utsname (Makefile.am): Likewise.
37730         * modules/sys_wait (Makefile.am): Likewise.
37731         * modules/termios (Makefile.am): Likewise.
37732         * modules/time (Makefile.am): Likewise.
37733         * modules/unistd (Makefile.am): Likewise.
37734         * modules/wchar (Makefile.am): Likewise.
37736 2011-06-08  Eric Blake  <eblake@redhat.com>
37738         strerror: simplify replacement
37739         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
37740         * modules/strerror (configure.ac): No prereqs needed here...
37741         * modules/strerror-override (configure.ac): ...but this needs it.
37742         (Files): Add file for needed prereq macro.
37744 2011-06-08  Bruno Haible  <bruno@clisp.org>
37746         strerror_r-posix: Tweaks.
37747         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
37748         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
37749         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
37750         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
37751         (gl_FUNC_STRERROR_R): ... to here.
37752         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
37754 2011-06-07  Eric Blake  <eblake@redhat.com>
37756         perror: document fixed bugs
37757         * doc/posix-functions/perror.texi (perror): Document recent
37758         patches.
37760 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
37762         stat-time: get_stat_birthtime failure is better-defined
37763         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
37764         return a timestamp whose tv_sec and tv_nsec values are both -1.
37765         Previously, the spec said only that the tv_nsec value was negative.
37766         This upward-compatible change simplifies GNU tar a bit.
37768 2011-06-07  Eric Blake  <eblake@redhat.com>
37770         strerror_r-posix: work around cygwin 1.7.9
37771         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
37772         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
37773         bug without replacing strerror_r.
37774         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
37775         strerror_r is buggy, but without requiring strerror_r compilation.
37776         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
37778         test-perror: relax test to ignore cygwin bug
37779         * tests/test-perror2.c (main): Relax test on requiring detection
37780         of stream errors, and use unbuffered stream.
37781         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
37782         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
37783         * doc/posix-functions/fputc.texi (fputc): Likewise.
37784         * doc/posix-functions/fputs.texi (fputs): Likewise.
37785         * doc/posix-functions/fputws.texi (fputws): Likewise.
37786         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
37787         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
37788         * doc/posix-functions/getopt.texi (getopt): Likewise.
37789         * doc/posix-functions/perror.texi (perror): Likewise.
37790         * doc/posix-functions/printf.texi (printf): Likewise.
37791         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
37792         * doc/posix-functions/psignal.texi (psignal): Likewise.
37793         * doc/posix-functions/putc.texi (putc): Likewise.
37794         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
37795         Likewise.
37796         * doc/posix-functions/putchar.texi (putchar): Likewise.
37797         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
37798         Likewise.
37799         * doc/posix-functions/puts.texi (puts): Likewise.
37800         * doc/posix-functions/putwc.texi (putwc): Likewise.
37801         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
37802         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
37803         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
37804         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
37805         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
37806         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
37807         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
37808         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
37810 2011-05-22  Bruno Haible  <bruno@clisp.org>
37812         strerror: Move AC_LIBOBJ invocations to module description.
37813         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
37814         gl_PREREQ_STRERROR invocations from here...
37815         * modules/strerror (configure.ac): ... to here.
37817 2011-05-21  Bruno Haible  <bruno@clisp.org>
37819         perror: Use common idiom.
37820         * modules/perror (configure.ac): Reorder statements.
37822 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37824         tests: fix usage message in 'mktempd_'
37825         * tests/init.sh (mktempd_): In the usage message, use literal
37826         'mktempd_', not '$ME' (which is even undefined), as the name of
37827         the subroutine.
37829 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
37831         tests init: new function 'fatal_', for hard errors
37832         Before this patch, the only way offered by tests/init.sh to
37833         properly signal a hard error was the `framework_failure_'
37834         function.  But the error message issued by that function,
37835         as its name would suggest, refers to a set-up failure in the
37836         testsuite, while hard errors can obviously also be due to
37837         other reasons.  The best way to fix this inconsistency is to
37838         introduce a new function with a more general error message.
37839         * tests/init.sh (fatal_): New function.
37841 2011-06-06  Eric Blake  <eblake@redhat.com>
37843         canonicalize-lgpl: use common idiom
37844         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
37845         over newer POSIX -Rf.
37846         Reported by Bruno Haible.
37848         canonicalize-lgpl: work around AIX realpath bug
37849         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
37850         * doc/posix-functions/realpath.texi (realpath): Document it.
37851         Reported by Bruno Haible.
37853         strerror: work around FreeBSD bug
37854         * lib/strerror.c (strerror): Special case 0.
37855         Reported by Bruno Haible.
37857         strerror-override: avoid bloating errno module
37858         * modules/errno (Files, configure.ac): Move replacement strings...
37859         * modules/strerror-override: ...to new module.
37860         * modules/strerror (Depends-on): Add strerror-override.
37861         * modules/strerror_r-posix (Depends-on): Likewise.
37862         * MODULES.html.sh: Document new module.
37863         Reported by Bruno Haible.
37865 2011-06-06  Bruno Haible  <bruno@clisp.org>
37867         spawn-pipe tests: Rename program.
37868         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
37869         * tests/test-spawn-pipe-child.c: Update comment.
37870         * tests/test-spawn-pipe.sh: Update.
37871         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
37873         spawn-pipe tests: Link the child program only against libc.
37874         * tests/test-spawn-pipe-child.c: New file, extracted from
37875         tests/test-spawn-pipe.c.
37876         (main): Expect only one argument.
37877         (is_open): New function, copied from tests/test-pipe.c.
37878         * tests/test-spawn-pipe.c: Don't include <errno.h>.
37879         (child_main): Remove function.
37880         (test_pipe): Pass only one argument to the child program.
37881         (main): Remove child process code. Expect the child program's name as
37882         first argument.
37883         * tests/test-spawn-pipe.sh: Pass the child program's name as first
37884         argument.
37885         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
37886         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
37887         test-spawn-pipe-child against no libraries.
37889 2011-06-06  Bruno Haible  <bruno@clisp.org>
37891         careadlinkat: Avoid mismatch between ssize_t and int.
37892         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
37893         * lib/careadlinkat.c (careadlinkatcwd): Define always.
37895 2011-06-06  Jim Meyering  <meyering@redhat.com>
37897         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
37898         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
37899         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
37901 2011-06-05  Bruno Haible  <bruno@clisp.org>
37903         ansi-c++-opt: Interoperability with libtool.
37904         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
37905         set the variable to "no", not to ":".
37906         * NEWS: Mention the change.
37908 2011-06-05  Bruno Haible  <bruno@clisp.org>
37910         acl: Fix test failure on AIX 7.
37911         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
37912         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
37914 2011-06-05  Bruno Haible  <bruno@clisp.org>
37916         pipe-filter-ii: Fix test failure on AIX and IRIX.
37917         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
37918         with EAGAIN, retry with a smaller buffer size.
37920 2011-06-05  Bruno Haible  <bruno@clisp.org>
37922         localename: Fix link dependencies.
37923         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
37924         * modules/localename-tests (Makefile.am): Link test-localename with
37925         $(LIBTHREAD).
37927 2011-06-05  Bruno Haible  <bruno@clisp.org>
37929         error: Avoid gcc warning.
37930         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
37932 2011-06-05  Bruno Haible  <bruno@clisp.org>
37934         unsetenv: Avoid gcc warning.
37935         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
37937 2011-06-05  Bruno Haible  <bruno@clisp.org>
37939         setenv: Avoid gcc warning.
37940         * lib/setenv.c (setenv): Provide declaration if system lacks it.
37942 2011-06-05  Bruno Haible  <bruno@clisp.org>
37944         sys_select: Ensure memset is declared also on AIX 7.
37945         * lib/sys_select.in.h: Include <string.h> also on AIX.
37946         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
37947         self-contained also on AIX 7.1.
37949 2011-06-04  Jim Meyering  <meyering@redhat.com>
37951         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
37952         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
37953         function name, "error".
37954         (_gl_translatable_diag_func_re): New configurable variable.
37956 2011-06-04  Bruno Haible  <bruno@clisp.org>
37958         getopt: Avoid gcc warning.
37959         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
37961 2011-06-04  Bruno Haible  <bruno@clisp.org>
37963         strerror_r: Fix comments.
37964         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
37965         commit.
37967 2011-06-04  Bruno Haible  <bruno@clisp.org>
37969         perror: Fix compilation error.
37970         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
37971         Undefine fprintf, not sprintf.
37972         * modules/perror (Depends-on): Remove intprops, verify.
37974 2011-06-04  Bruno Haible  <bruno@clisp.org>
37976         setlocale: Enable replacement on Cygwin 1.5.
37977         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
37978         Cygwin 1.5.x.
37979         * doc/posix-functions/setlocale.texi: Mention that the problem with the
37980         LC_CTYPE category also exists on Cygwin 1.5.x.
37982 2011-06-04  Bruno Haible  <bruno@clisp.org>
37984         strerror-override: Don't disable symbol renamings.
37985         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
37986         * lib/strerror-override.c: Include config.h.
37987         (strerror_override): Don't undefine.
37989 2011-06-03  Bruno Haible  <bruno@clisp.org>
37991         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
37992         * lib/localename.h: Update copyright header.
37993         * lib/localename.c: Likewise.
37994         * lib/relocatable.h: Likewise.
37995         * lib/relocatable.c: Likewise.
37997 2011-06-02  Bruno Haible  <bruno@clisp.org>
37999         doc: Fix a module name.
38000         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
38002 2011-06-02  Bruno Haible  <bruno@clisp.org>
38004         pipe2: Remove dependency on 'nonblocking' module.
38005         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
38006         O_NONBLOCK is defined by gnulib.
38007         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
38008         is zero.
38009         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
38010         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
38011         defined by gnulib.
38012         (get_nonblocking_flag): New function.
38013         (main): Test O_NONBLOCK flag only if it is nonzero.
38014         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
38016 2011-06-03  Jim Meyering  <meyering@redhat.com>
38018         maint: three new prohibit-header-without-use rules
38019         Prohibit use of cloexec.h, posixver.h, same.h without use.
38020         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
38021         (sc_prohibit_posixver_without_use): Likewise.
38022         (sc_prohibit_same_without_use): Likewise.
38024 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
38026         allocator: 'die' routine is now given requested size
38027         * lib/allocator.h (struct allocator.die): New size arg.
38028         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
38029         If the actual problem is an ssize_t limitation, not a size_t or
38030         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
38032 2011-06-01  Eric Blake  <eblake@redhat.com>
38034         strerror: drop strerror_r dependency
38035         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
38036         * lib/strerror-override.c (strerror_override): ...to new file.
38037         * lib/strerror-override.h: Add prototype.
38038         * lib/strerror-impl.h: Delete.
38039         * lib/strerror.c (strerror): New implementation.
38040         * modules/errno (Files): Add new files.
38041         (configure.ac): Compile new file as appropriate.
38042         * modules/strerror (Files): Drop unused file.
38043         (Depends-on): Drop strerror_r-posix.
38044         * MODULES.html.sh: Document strerror_r-posix.
38045         Requested by Sam Steingold.
38047         perror: call strerror_r directly
38048         * modules/perror (Files): Drop strerror-impl.h.
38049         * lib/perror.c (perror): Use our own stack buffer, rather than
38050         calling a wrapper that uses static storage.
38051         * doc/posix-functions/perror.texi (perror): Document a limitation
38052         of our replacement.
38054         strerror_r: fix includes for FreeBSD
38055         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
38056         since we use abort on some platforms.
38057         Reported by Matthias Bolte.
38059 2011-05-31  Bruno Haible  <bruno@clisp.org>
38061         Fix link errors in tests: openat-die uses gettext-h.
38062         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
38063         against $(LIBINTL).
38064         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
38065         against $(LIBINTL).
38066         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
38067         $(LIBINTL).
38068         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
38069         against $(LIBINTL).
38070         * modules/linkat-tests (Makefile.am): Link test-linkat against
38071         $(LIBINTL).
38072         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
38073         $(LIBINTL).
38074         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
38075         against $(LIBINTL).
38076         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
38077         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
38078         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
38079         $(LIBINTL).
38080         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
38081         $(LIBINTL).
38082         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
38083         $(LIBINTL).
38084         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38086 2011-05-31  Bruno Haible  <bruno@clisp.org>
38088         Fix link errors in tests: wait-process uses gettext-h.
38089         * modules/nonblocking-pipe-tests (Makefile.am): Set
38090         test_nonblocking_pipe_main_LDADD.
38091         * modules/nonblocking-socket-tests (Makefile.am): Link
38092         test-nonblocking-socket-main against $(LIBINTL).
38093         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38095 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38097         assert-h: work around 'verify' incompatibility
38098         * lib/verify.h: Use @...@ directives, not ifdef.
38099         * modules/assert-h (assert.h): Implement the directives.
38100         (assert.h): Substitute the symbol-prefix more consistently.
38102 2011-05-29  Jim Meyering  <meyering@redhat.com>
38104         trim: remove three superfluous assignments
38105         * lib/trim.c (trim2): Remove three superfluous assignments
38106         and correct brace positioning.
38108 2011-05-29  Bruno Haible  <bruno@clisp.org>
38110         wctype-h: Avoid namespace pollution on Solaris 2.6.
38111         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
38112         identifiers.
38113         * doc/posix-headers/wctype.texi: Mention the problem.
38114         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
38116 2011-05-28  Jim Meyering  <meyering@redhat.com>
38118         parse-datetime.y: accommodate -Wstrict-overflow
38119         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
38120         placate -Wstrict-overflow.
38122         trim: avoid a warning from -O2 -Wstrict-overflow
38123         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
38125 2011-05-29  Bruno Haible  <bruno@clisp.org>
38127         gnulib-tool: Fix bug in yesterday's commit.
38128         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
38129         twice.
38131 2011-05-29  Bruno Haible  <bruno@clisp.org>
38133         Allow multiple gnulib generated include files to be combined.
38134         * gnulib-tool (func_compute_include_guard_prefix): New function.
38135         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
38136         ${gl_include_guard_prefix} references.
38137         (func_import, func_create_testdir): Invoke
38138         func_compute_include_guard_prefix.
38139         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
38140         * lib/ctype.in.h: Likewise.
38141         * lib/dirent.in.h: Likewise.
38142         * lib/errno.in.h: Likewise.
38143         * lib/fcntl.in.h: Likewise.
38144         * lib/float.in.h: Likewise.
38145         * lib/getopt.in.h: Likewise.
38146         * lib/iconv.in.h: Likewise.
38147         * lib/langinfo.in.h: Likewise.
38148         * lib/locale.in.h: Likewise.
38149         * lib/math.in.h: Likewise.
38150         * lib/netdb.in.h: Likewise.
38151         * lib/netinet_in.in.h: Likewise.
38152         * lib/poll.in.h: Likewise.
38153         * lib/pthread.in.h: Likewise.
38154         * lib/pty.in.h: Likewise.
38155         * lib/sched.in.h: Likewise.
38156         * lib/se-selinux.in.h: Likewise.
38157         * lib/search.in.h: Likewise.
38158         * lib/signal.in.h: Likewise.
38159         * lib/spawn.in.h: Likewise.
38160         * lib/stdarg.in.h: Likewise.
38161         * lib/stddef.in.h: Likewise.
38162         * lib/stdint.in.h: Likewise.
38163         * lib/stdio.in.h: Likewise.
38164         * lib/stdlib.in.h: Likewise.
38165         * lib/string.in.h: Likewise.
38166         * lib/strings.in.h: Likewise.
38167         * lib/sys_file.in.h: Likewise.
38168         * lib/sys_ioctl.in.h: Likewise.
38169         * lib/sys_select.in.h: Likewise.
38170         * lib/sys_socket.in.h: Likewise.
38171         * lib/sys_stat.in.h: Likewise.
38172         * lib/sys_time.in.h: Likewise.
38173         * lib/sys_times.in.h: Likewise.
38174         * lib/sys_uio.in.h: Likewise.
38175         * lib/sys_utsname.in.h: Likewise.
38176         * lib/sys_wait.in.h: Likewise.
38177         * lib/sysexits.in.h: Likewise.
38178         * lib/termios.in.h: Likewise.
38179         * lib/time.in.h: Likewise.
38180         * lib/unistd.in.h: Likewise.
38181         * lib/wchar.in.h: Likewise.
38182         * lib/wctype.in.h: Likewise.
38183         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
38184         * modules/ctype (Makefile.am): Likewise.
38185         * modules/dirent (Makefile.am): Likewise.
38186         * modules/errno (Makefile.am): Likewise.
38187         * modules/fcntl-h (Makefile.am): Likewise.
38188         * modules/float (Makefile.am): Likewise.
38189         * modules/getopt-posix (Makefile.am): Likewise.
38190         * modules/iconv-h (Makefile.am): Likewise.
38191         * modules/langinfo (Makefile.am): Likewise.
38192         * modules/locale (Makefile.am): Likewise.
38193         * modules/math (Makefile.am): Likewise.
38194         * modules/netdb (Makefile.am): Likewise.
38195         * modules/netinet_in (Makefile.am): Likewise.
38196         * modules/poll-h (Makefile.am): Likewise.
38197         * modules/pthread (Makefile.am): Likewise.
38198         * modules/pty (Makefile.am): Likewise.
38199         * modules/sched (Makefile.am): Likewise.
38200         * modules/search (Makefile.am): Likewise.
38201         * modules/selinux-h (Makefile.am): Likewise.
38202         * modules/signal (Makefile.am): Likewise.
38203         * modules/spawn (Makefile.am): Likewise.
38204         * modules/stdarg (Makefile.am): Likewise.
38205         * modules/stddef (Makefile.am): Likewise.
38206         * modules/stdint (Makefile.am): Likewise.
38207         * modules/stdio (Makefile.am): Likewise.
38208         * modules/stdlib (Makefile.am): Likewise.
38209         * modules/string (Makefile.am): Likewise.
38210         * modules/strings (Makefile.am): Likewise.
38211         * modules/sys_file (Makefile.am): Likewise.
38212         * modules/sys_ioctl (Makefile.am): Likewise.
38213         * modules/sys_select (Makefile.am): Likewise.
38214         * modules/sys_socket (Makefile.am): Likewise.
38215         * modules/sys_stat (Makefile.am): Likewise.
38216         * modules/sys_time (Makefile.am): Likewise.
38217         * modules/sys_times (Makefile.am): Likewise.
38218         * modules/sys_uio (Makefile.am): Likewise.
38219         * modules/sys_utsname (Makefile.am): Likewise.
38220         * modules/sys_wait (Makefile.am): Likewise.
38221         * modules/sysexits (Makefile.am): Likewise.
38222         * modules/termios (Makefile.am): Likewise.
38223         * modules/time (Makefile.am): Likewise.
38224         * modules/unistd (Makefile.am): Likewise.
38225         * modules/wchar (Makefile.am): Likewise.
38226         * modules/wctype-h (Makefile.am): Likewise.
38227         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
38229 2011-05-29  Bruno Haible  <bruno@clisp.org>
38231         assert-h: Allow multiple gnulib generated replacements to coexist.
38232         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
38234 2011-05-29  Bruno Haible  <bruno@clisp.org>
38236         argp: Allow coexistence with strerror_r-posix module.
38237         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
38238         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
38239         by gnulib's <string.h> replacement), assume it has the POSIX signature,
38240         not the glibc signature.
38242 2011-05-28  Bruno Haible  <bruno@clisp.org>
38244         gnulib-tool: Alternative structure of testdirs, similar to --import.
38245         * gnulib-tool: New option --single-configure.
38246         (func_usage): Document it.
38247         (single_configure): New variable.
38248         (func_modules_transitive_closure_separately,
38249         func_modules_transitive_closure_separately,
38250         func_determine_use_libtests, func_modules_add_dummy_separately,
38251         func_modules_to_filelist_separately): New functions, extracted from
38252         func_import.
38253         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
38254         (func_import): Use the new functions.
38255         (func_create_testdir): Set final_modules. Handle $single_configure =
38256         true case.
38258 2011-05-28  Bruno Haible  <bruno@clisp.org>
38260         getloadavg: Remove an unreliable safety check.
38261         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
38262         getloadavg.c is in place.
38263         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
38264         Reported by Sam Steingold <sds@gnu.org>.
38266 2011-05-28  Bruno Haible  <bruno@clisp.org>
38268         doc: Cleanup yet another file produced by texinfo.tex.
38269         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
38271 2011-05-28  Bruno Haible  <bruno@clisp.org>
38273         Finish the conditional dependencies mechanism.
38274         * gnulib-tool: New option --no-conditional-dependencies.
38275         (func_usage): Document it. Don't mark --conditional-dependencies as
38276         experimental.
38277         (cond_dependencies): The possible values can now be true, false, empty.
38278         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
38279         (func_import): Store setting in gnulib-cache.m4 and read it from there.
38280         * doc/gnulib-tool.texi (Conditional dependencies): New section.
38282 2011-05-28  Bruno Haible  <bruno@clisp.org>
38284         doc: Use a recent texinfo.tex.
38285         * doc/Makefile (tex_opts): New variable.
38286         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
38288 2011-05-28  Jim Meyering  <meyering@redhat.com>
38290         intprops.h: adjust comment to match code change
38291         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
38292         only once, it *may* have side effects.  Also fix an unrelated typo.
38293         (_GL_INT_SIGNED): Likewise.
38295 2011-05-26  Simon Josefsson  <simon@josefsson.org>
38297         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
38299 2011-05-26  Bruno Haible  <bruno@clisp.org>
38301         mbsrchr: Avoid collision with system function on Interix.
38302         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
38303         Reported by Markus Duft <mduft@gentoo.org>.
38305 2011-05-15  James Youngman  <jay@gnu.org>
38307         getopt: for ambiguous options, enumerate the possibilities.
38308         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
38309         the ambiguous options when an ambiguous prefix is given. This was
38310         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
38311         glibc change was
38312         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
38314 2011-05-25  Eric Blake  <eblake@redhat.com>
38316         getcwd: work around mingw bug
38317         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
38318         * doc/posix-functions/getcwd.texi (getcwd): Document it.
38319         Reported by Matthias Bolte.
38321 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
38323         test-intprops: disable -Wtype-limits diagnostics
38324         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
38325         diagnostics.  Otherwise, the integer overflow macros generate many
38326         diagnostics.  Reported by Jim Meyering in
38327         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38329         intprops: shorten, to pacify gcc -Woverlength-strings
38330         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
38331         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
38332         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
38333         likely to run afoul of C compiler limits for string constant lengths.
38334         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
38336 2011-05-24  Eric Blake  <eblake@redhat.com>
38338         docs: document recently fixed glibc printf bug
38339         * doc/posix-functions/fprintf.texi (fprintf): Document it.
38340         * doc/posix-functions/printf.texi (printf): Likewise.
38341         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
38342         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
38344         closein-tests: convert to init.sh
38345         * modules/closein-tests (Files): Add init.sh
38346         * tests/test-closein.sh Use it.
38348         yesno-tests: convert to init.sh
38349         * modules/yesno-tests (Files): Add init.sh.
38350         * tests/test-yesno.sh: Use it.
38352         atexit-tests: ensure reliable exit status
38353         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
38354         Reported by Bruno Haible.
38356 2011-05-24  Bruno Haible  <bruno@clisp.org>
38358         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
38359         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
38360         gl_PREREQ_STRERROR_R invocations from here...
38361         * modules/strerror_r-posix (configure.ac): ... to here.
38363 2011-05-24  Eric Blake  <eblake@redhat.com>
38365         strerror_r: fix missing header
38366         * lib/strerror_r.c: Avoid compiler warning about snprintf.
38368         strerror_r: fix AIX test failures
38369         * lib/strerror_r.c (strerror_r): Convert silent truncation to
38370         ERANGE failure.
38372         strerror_r: fix Solaris test failures
38373         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
38374         failures.
38375         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38377         strerror_r: enforce POSIX recommendations
38378         * lib/strerror_r.c (safe_copy): New helper method.
38379         (strerror_r): Guarantee a non-empty string.
38380         * tests/test-strerror_r.c (main): Enhance tests to incorporate
38381         recent POSIX rulings and to match our strerror guarantees.
38382         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
38384 2011-05-24  Jim Meyering  <meyering@redhat.com>
38386         test-perror2.c: avoid warning about unused variable
38387         * tests/test-perror2.c (main): Remove declaration of unused "fp".
38389 2011-05-24  Eric Blake  <eblake@redhat.com>
38391         perror: avoid spurious test failure on HP-UX
38392         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
38394         tests: fix logic bug in init.sh
38395         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
38396         shell.
38398 2011-05-24  Jim Meyering  <meyering@redhat.com>
38400         utimensat: do not reference an out-of-scope buffer
38401         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
38402         declared in an inner scope, yet "times" would be dereferenced outside
38403         the scope in which "ts" was valid.
38404         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
38405         of ts[2] "out/up", so that the use of aliased "times" (via
38406         "times = ts;") does not end up referencing an out-of-scope "ts"
38408         opendir-safer.c: don't clobber errno; don't close negative FD
38409         * lib/opendir-safer.c (opendir_safer):
38410         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
38411         file descriptor, and more importantly, don't clobber the
38412         offending errno value with EINVAL.  Before, upon failure
38413         of dup_safer, we would pass the negative file descriptor to
38414         fdopendir, which would clobber errno.
38416 2011-05-23  Bruno Haible  <bruno@clisp.org>
38418         idcache: Fix module description.
38419         * modules/idcache (Include): Set to "idcache.h".
38421 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38423         gnulib-tool: fix portability problem with MacOS sed
38424         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
38425         before the "}".  Problem reported by Leo in
38426         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
38427         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
38428         sed_extract_condition1, sed_extract_condition2.
38430 2011-05-23  Bruno Haible  <bruno@clisp.org>
38432         hash: Simplify autoconf macro.
38433         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
38435 2011-05-23  Bruno Haible  <bruno@clisp.org>
38437         getugroups: Fix module description.
38438         * modules/getugroups (Include): Set to "getugroups.h".
38440 2011-05-23  Bruno Haible  <bruno@clisp.org>
38442         linkat: Simplify autoconf macro.
38443         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
38445 2011-05-23  Bruno Haible  <bruno@clisp.org>
38446             Eric Blake  <eblake@redhat.com>
38448         linkat, renameat: Update dependencies.
38449         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
38450         * modules/linkat (Depends-on): Likewise. Remove also readlink,
38451         symlinkat.
38453 2011-05-23  Jim Meyering  <meyering@redhat.com>
38455         maint.mk: more tight_scope improvements
38456         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
38457         (_gl_TS_headers): Define only in if-0'd block.
38458         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
38459         sometimes we must *not* use it.  Adjust uses accordingly.
38460         (sc_tight_scope): Use much simpler grep-based test to determine
38461         whether we skip this rule.
38463         maint.mk: generalize/improve the tight-scope rule
38464         * top/maint.mk: Emit a warning when the test is skipped.
38465         (_gl_TS_dir): Add $(srcdir)/ prefix.
38466         (_gl_TS_function_match): Simplify, rather than trying
38467         to enumerate common types.  Otherwise, it would fail to match an
38468         "extern unsigned char const *" declaration in idutils.
38469         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
38470         a way to support use of that type of macro.
38471         (_gl_TS_var_match): Simplify regexp.
38472         (_gl_TS_obj_files): New configurable variable.
38473         (_gl_TS_headers): Likewise.
38475 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38477         verify: fix bug when gnulib <assert.h> is also included
38478         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
38479         is defined, not if _GL_STATIC_ASSERT_H is not defined.
38480         Perhaps there's a better way, but this fixes the immediate problem.
38481         Problem reported by Bruno Haible in
38482         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
38484 2011-05-22  Bruno Haible  <bruno@clisp.org>
38486         xgetcwd: Simplify autoconf macro.
38487         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
38489 2011-05-22  Bruno Haible  <bruno@clisp.org>
38491         New module 'mktime-internal'.
38492         * modules/mktime-internal: New file.
38493         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
38494         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
38495         mktime_internal as a C macro if libc has __mktime_internal.
38496         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
38497         conditions.
38498         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
38500 2011-05-22  Bruno Haible  <bruno@clisp.org>
38502         timegm: Correct mktime replacement statements.
38503         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
38504         defining mktime as a C macro. This completes a 2009-07-28 commit.
38506 2011-05-22  Bruno Haible  <bruno@clisp.org>
38508         timegm: Simplify autoconf macro.
38509         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
38511 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
38513         clock-time: change to LGPLv2+.
38514         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
38515         BSD-like but we have no mark for that; this is good enough for now.
38517 2011-05-21  Bruno Haible  <bruno@clisp.org>
38519         strerror_r: Fix comments.
38520         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
38522 2011-05-21  Bruno Haible  <bruno@clisp.org>
38524         relocatable-prog-wrapper: Fix possible link error.
38525         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
38526         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
38527         (gl_FUNC_SETENV): ... to here.
38528         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
38529         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
38531 2011-05-21  Bruno Haible  <bruno@clisp.org>
38533         relocatable-prog-wrapper: Assume strerror() exists.
38534         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
38535         m4/strerror.m4.
38536         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
38537         * lib/relocwrapper.c: Remove mention of strerror module.
38538         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
38539         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
38540         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
38541         C macro.
38543 2011-05-21  Bruno Haible  <bruno@clisp.org>
38545         select: Simplify replacement idiom.
38546         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
38547         Win32 platforms.
38548         * lib/sys_select.in.h (select): Simplify accordingly.
38549         * modules/select (Depends-on): Likewise.
38551 2011-05-21  Bruno Haible  <bruno@clisp.org>
38553         mkdir-p: Simplify autoconf macro.
38554         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
38555         gl_FUNC_LCHOWN.
38557 2011-05-21  Eric Blake  <eblake@redhat.com>
38559         strerror_r: avoid clobbering strerror on cygwin
38560         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
38561         fall back instead to sys_errlist.
38562         * modules/strerror (configure.ac): Add witness.
38563         * tests/test-strerror_r.c (main): Enhance test.
38564         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38565         * tests/test-perror2.c (main): Free memory before exit.
38567 2011-05-21  Bruno Haible  <bruno@clisp.org>
38569         mkdtemp: Use gnulib naming conventions.
38570         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
38571         * modules/mkdtemp (configure.ac): Update.
38573 2011-05-20  Eric Blake  <eblake@redhat.com>
38575         strerror_r: avoid corrupting errno on Solaris
38576         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
38577         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
38579         strerror_r: avoid compiler warning
38580         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
38582         strerror_r: simplify AIX code
38583         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
38585         test-perror: avoid spurious failure on FreeBSD
38586         * modules/perror-tests (Depends-on): Add strerror, now that
38587         strerror_r no longer pulls it in.
38589 2011-05-20  Bruno Haible  <bruno@clisp.org>
38591         strerror_r-posix: Remove unused dependencies.
38592         * modules/strerror_r-posix (Depends-on): Remove strerror.
38593         Reported by Eric Blake.
38595 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
38597         intprops: remove assumption about A|B representation
38598         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
38599         is a valid integer if both A and B are.  Although this is true for
38600         all known practical hosts, the C standard doesn't guarantee it,
38601         and the code need not assume it.  Also, this change may work around
38602         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
38603         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
38605 2011-05-20  Eric Blake  <eblake@redhat.com>
38607         perror: work around FreeBSD bug
38608         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
38609         is broken.  Move AC_LIBOBJ...
38610         * modules/perror (configure.ac): Here.
38611         * doc/posix-functions/perror.texi (perror): Document this.
38612         * tests/test-perror2.c (main): Enhance test.
38614         test-perror: check for strerror interactions
38615         * tests/macros.h (STREQ): Add macro.
38616         * modules/perror-tests (Files): Add second test.
38617         * tests/test-perror2.c (main): New file.
38618         * doc/posix-functions/perror.texi (perror): Document glibc bug.
38620         test-perror: rewrite to use init script
38621         * modules/perror-tests (Files): Add init.sh.
38622         * tests/test-perror.sh: Use temporary directory.
38624 2011-05-20  Jim Meyering  <meyering@redhat.com>
38626         maint: replace misused "a" with "an"
38627         * doc/intprops.texi: "a integer"
38628         * doc/regex.texi: "a explanation"
38629         * lib/alignof.h: "a object"
38630         * lib/argmatch.h: "a explanation"
38631         * lib/argp-help.c: "a option" and "a OPTION_DOC"
38632         * lib/stdint.in.h: "a integer"
38633         * lib/userspec.c: "a owner"
38634         * doc/gnulib.texi: Fix "a idea", and reword.
38636 2011-05-19  Jim Meyering  <meyering@redhat.com>
38638         maint: correct misuse of "a" and "an"
38639         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
38640         * lib/argp-help.c: "an docum...": s/an/a/
38641         * lib/argp-parse.c: "An vector": s/An/A/
38642         * lib/execute.c: "an native": s/an/a/
38643         * lib/spawn-pipe.c: Likewise.
38644         * lib/gc.h: "an Gc_rc": s/an/a/
38645         * lib/unigbrk.in.h: "an grapheme": s/an/a/
38646         * lib/fts.c: "an stat.st_dev": s/an/a/
38648 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38650         intprops-tests: work around HP-UX 11.23 cc bug with constants
38651         * tests/test-intprops.c (VERIFY): New macro.
38652         (main): Use it, instead of verify, to work around the compiler bug; see
38653         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38655         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
38656         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
38657         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
38658         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
38659         (_GL_REMAINDER_OVERFLOW): Use it.
38661         intprops-tests: revert unsigned part of previous change
38662         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
38663         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
38664         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
38665         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
38667 2011-05-19  Bruno Haible  <bruno@clisp.org>
38669         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
38670         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
38671         strerror_r() returned without filling the buffer.
38672         Reported by Eric Blake.
38674 2011-05-19  Eric Blake  <eblake@redhat.com>
38676         strerror_r: guarantee unchanged errno
38677         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
38678         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
38679         failure.
38680         * tests/test-strerror_r.c (main): Enhance test.
38682 2011-05-19  Bruno Haible  <bruno@clisp.org>
38684         strerror_r: Reorder #if blocks.
38685         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
38686         for consistency with the previous commit.
38688 2011-05-19  Bruno Haible  <bruno@clisp.org>
38690         perror: Avoid clobbering the strerror buffer when possible.
38691         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
38692         * lib/strerror.c: Include it.
38693         * modules/strerror (Files): Add lib/strerror-impl.h.
38694         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
38695         (my_strerror): New function, defined through lib/strerror-impl.h.
38696         (perror): Use it instead of strerror.
38697         * modules/perror (Files): Add lib/strerror-impl.h.
38698         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
38700 2011-05-19  Eric Blake  <eblake@redhat.com>
38702         strerror_r: fix on newer cygwin
38703         * lib/strerror_r.c (strerror_r): Cygwin now has
38704         __xpg_strerror_r, use it.
38706 2011-05-19  Bruno Haible  <bruno@clisp.org>
38708         strerror_r: Avoid clobbering the strerror buffer when possible.
38709         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
38710         (sys_nerr, sys_errlist): New declarations.
38711         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
38712         HP-UX, native Win32, IRIX, and 32-bit Solaris.
38713         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
38715 2011-05-19  Bruno Haible  <bruno@clisp.org>
38717         strerror_r: Fix test failure on mingw.
38718         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
38719         EXTEND_STRERROR_R.
38720         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
38721         macros from errno.in.h instead.
38723 2011-05-19  Eric Blake  <eblake@redhat.com>
38725         strerror: relax test for Solaris
38726         * tests/test-strerror.c (main): Permit Solaris behavior.
38727         * tests/test-strerror_r.c (main): Likewise.
38729         strerror: enforce POSIX ruling on strerror(0)
38730         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
38731         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
38732         * lib/strerror_r.c (rpl_strerror_r): Work around it.
38733         * doc/posix-functions/strerror.texi (strerror): Document it.
38734         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
38735         * tests/test-strerror.c (main): Strengthen test.
38736         * tests/test-strerror_r.c (main): Likewise.
38738 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
38740         intprop-tests: port to older and more-pedantic compilers
38741         * modules/intprops-tests (Files): Add tests/macros.h.
38742         * tests/test-intprops.c: Include macros.h.
38743         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
38744         it's no longer documented to expand to an integer constant expression.
38745         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
38746         argument is floating point, as it's no longer documented to expand
38747         to an integer constant expression in that case.
38748         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
38749         compiler bugs reported by Bruno Haible.  See
38750         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38751         (U0, U1): New constants, to work around the same bugs.  Also,
38752         in tests, use e.g., "(unsigned int) 39" rather than "39u".
38754         intprops: work around C compiler bugs
38755         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
38756         bug in Sun C 5.11 2010/08/13 and other compilers; see
38757         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
38759         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
38760         * doc/intprops.texi (Integer Type Determination): Fix
38761         documentation for TYPE_IS_INTEGER: it returns an constant
38762         expression, not an integer constant expression.  Fix doc for
38763         TYPE_SIGNED: it returns an integer constant expression only if its
38764         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
38765         hardly worth documented that way....)
38767 2011-05-18  Bruno Haible  <bruno@clisp.org>
38769         strerror_r: Avoid clobbering the strerror buffer when possible.
38770         * lib/strerror_r.c (strerror_r): Merge the three implementations.
38771         Handle gnulib defined errno values here. When strerror() returns NULL
38772         or an empty string, return EINVAL.
38773         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
38774         gnulib defined errno values here.
38775         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
38777 2011-05-18  Eric Blake  <eblake@redhat.com>
38779         fnmatch: avoid compiler warning
38780         * lib/fnmatch_loop.c (FCT): Use correct type.
38781         Reported by Matthias Bolte.
38783 2011-05-13  Jim Meyering  <meyering@redhat.com>
38785         maint.mk: three new prohibit_<HDR>_without_use rules
38786         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
38787         (sc_prohibit_stdio-safer_without_use): Likewise.
38788         (sc_prohibit_xfreopen_without_use): Likewise.
38790 2011-05-17  Jim Meyering  <meyering@redhat.com>
38792         announce-gen: fail if the NEWS delta is empty
38793         If there's nothing noteworthy in NEWS, then either you forgot
38794         or you shouldn't be releasing.
38795         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
38797 2011-05-17  Pádraig Brady  <P@draigBrady.com>
38799         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
38800         reserved symbols starting with double underscore from the check.
38802 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
38804         intprops: add doc
38805         * doc/intprops.texi: New file, documenting intprops.
38806         * doc/gnulib.texi (Particular Modules): Include it.
38808         verify: add doc to gnulib manual and fix example
38809         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
38810         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
38811         (Compile-time Assertions): Fix example so it can't overflow.
38813 2011-05-17  Jim Meyering  <meyering@redhat.com>
38815         warnings.m4: don't usurp save_CPPFLAGS variable name
38816         * m4/warnings.m4: Prefix local temporary variable name with gl_.
38818         doc: fix typo
38819         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
38821 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38822             Bruno Haible  <bruno@clisp.org>
38824         doc: Tweak recent change.
38825         * README (Portability guidelines): Tweak new text.
38826         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
38827         Interix 6.1.
38829 2011-05-16  Eric Blake  <eblake@redhat.com>
38831         inttypes: avoid autoconf warning
38832         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
38833         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38835 2011-05-16  Sam Steingold  <sds@gnu.org>
38836         and Eric Blake  <eblake@redhat.com>
38838         vc-list-files: accept multiple directory operands
38839         * build-aux/vc-list-files: Iterate over all remaining operands.
38841 2011-05-16  Bruno Haible  <bruno@clisp.org>
38843         Fix confusion regarding deprecated modules.
38844         * modules/calloc (Status, Notice): Mark module as deprecated, not
38845         obsolete.
38846         * modules/fnmatch-posix (Status, Notice): Likewise.
38847         * modules/getdate (Status, Notice): Likewise.
38848         * modules/getopt (Status, Notice): Likewise.
38849         * modules/malloc (Status, Notice): Likewise.
38850         * modules/pipe (Status, Notice): Likewise.
38851         * modules/realloc (Status, Notice): Likewise.
38852         * modules/rename-dest-slash (Status, Notice): Likewise.
38853         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
38854         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
38855         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
38856         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
38857         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
38859 2011-05-16  Bruno Haible  <bruno@clisp.org>
38861         doc: List the target platforms.
38862         * doc/gnulib-intro.texi (Target Platforms): New section.
38863         * doc/gnulib.texi (Introduction): Update menu.
38864         * README (Portability guidelines): Refer to the new section. Update
38865         statement about oldest supported environment. Remove rationale why
38866         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
38867         unportable C89 function.
38868         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
38869         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
38871 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
38873         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
38875 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
38877         intprops-tests: new module
38878         * modules/intprops-tests, tests/test-intprops.c: New files.
38880         intprops: add safe, portable integer overflow checking
38881         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
38882         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
38883         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
38884         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
38885         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
38886         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
38887         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
38888         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
38889         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
38890         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
38891         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
38893 2011-05-12  James Youngman  <jay@gnu.org>
38895         Add a test for glibc's Bugzilla bug #12378.
38896         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
38897         doesn't allow the literal matching of a lone "[" (which is
38898         required by POSIX).
38899         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
38901 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
38903         Sync glibc change fixing Bugzilla bug #12378.
38904         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
38905         beginning and fall back to matching as normal character if the
38906         string ends before the matching ']' is found.  This is what POSIX
38907         requires.
38909 2011-05-13  Eric Blake  <eblake@redhat.com>
38911         getcwd-lgpl: relax test for FreeBSD
38912         * doc/posix-functions/getcwd.texi (getcwd): Document portability
38913         issue.
38914         * tests/test-getcwd-lgpl.c (main): Relax test.
38915         Reported by Matthias Bolte.
38917 2011-05-11  Eric Blake  <eblake@redhat.com>
38919         test-fflush: silence compiler warning
38920         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
38922 2011-05-11  Bruno Haible  <bruno@clisp.org>
38924         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
38925         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
38926         * modules/canonicalize (Depends-on): Add 'nocrash'.
38927         * modules/canonicalize-lgpl (Depends-on): Likewise.
38928         * doc/posix-functions/realpath.texi: Update platforms list.
38929         Reported by Ryan Schmidt <ryandesign@macports.org>.
38931 2011-05-11  Bruno Haible  <bruno@clisp.org>
38933         group-member: Declare function in <unistd.h>.
38934         * lib/unistd.in.h (group_member): New declaration.
38935         * lib/group-member.h: Remove file.
38936         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
38937         * tests/test-unistd-c++.cc: Check signature of group_member.
38938         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
38939         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
38940         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
38941         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
38942         HAVE_GROUP_MEMBER.
38943         * modules/group-member (Files): Remove lib/group-member.h.
38944         (Depends-on): Add unistd. Specify conditions.
38945         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
38946         (Include): Change to <unistd.h>.
38947         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
38948         HAVE_GROUP_MEMBER.
38949         * NEWS: Mention the change.
38950         * lib/euidaccess.c: Don't include group-member.h.
38952 2011-05-11  Bruno Haible  <bruno@clisp.org>
38954         group-member: Document module.
38955         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
38956         module.
38958 2011-05-11  Bruno Haible  <bruno@clisp.org>
38960         fclose: Fix mistake earlier today.
38961         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
38963 2011-05-11  Eric Blake  <eblake@redhat.com>
38965         fclose: preserve fflush errors
38966         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
38967         Reported by Jim Meyering.
38969         bootstrap: support a prereq of 'rpcgen -' on RHEL5
38970         * build-aux/bootstrap (check_versions): When no specific version
38971         is required, merely check that the app produces an exit status
38972         that indicates its existence.
38974         maint.mk: drop redundant check
38975         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
38976         the same but better.
38978 2011-05-11  Bruno Haible  <bruno@clisp.org>
38980         fclose: Fix possible link error.
38981         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
38982         unregister_shadow_fd. Improve comments.
38983         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
38984         Eric Blake.
38986 2011-05-11  Jim Meyering  <meyering@redhat.com>
38988         maint.mk: improve "can not" detection and generalize rule name
38989         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
38990         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
38991         Use the same technique as in sc_prohibit_doubled_word, so that
38992         we recognize "can not" also when the words are separated by a newline.
38993         Suggested by Eric Blake.
38994         (perl_filename_lineno_text_): Define.  Factored out of...
38995         (prohibit_doubled_word_): ...here.  Use the new definition.
38996         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
38997         (prohibit_undesirable_word_seq_RE_): New overridable variable.
38998         (ignore_undesirable_word_sequence_RE_): New overridable variable.
39000 2011-05-10  Eric Blake  <eblake@redhat.com>
39002         fclose: avoid double close race when possible
39003         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
39004         all but WINDOWS_SOCKETS.
39006 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
39008         openat: correct new comment
39009         * lib/openat-proc.c (openat_proc_name): Correct the comment.
39011 2011-05-10  Jim Meyering  <meyering@redhat.com>
39013         openat: add comments
39014         * lib/openat-proc.c (openat_proc_name): Add comments,
39015         mostly from Eric Blake.
39017 2011-05-09  Eric Blake  <eblake@redhat.com>
39019         openat: reduce syscalls in first probe of /proc
39020         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
39021         be a directory.  Simplify the probe for .. bugs.
39022         * modules/openat (Depends-on): Drop same-inode.
39023         Reported by Bastien ROUCARIES.
39025 2011-05-09  Jim Meyering  <meyering@redhat.com>
39027         maint.mk: change semantics/name of tight_scope variables
39028         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
39029         Rename variables to align with semantics that make them more useful.
39031         maint.mk: tweak new rule's name not to impinge
39032         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
39033         (sc_tight_scope): Use new rule name rather than $@-0.
39035         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
39036         * top/maint.mk (sc_tight_scope): New rule.
39037         (sc_tight_scope-0): New rule, ifdef'd out.
39038         (_gl_TS_dir): Default.
39039         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
39040         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
39042 2011-05-09  Simon Josefsson  <simon@josefsson.org>
39044         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
39045         Haible <bruno@clisp.org>.
39047 2011-05-08  Bruno Haible  <bruno@clisp.org>
39049         Comments.
39050         * m4/isnanf.m4: Add comment.
39051         * m4/isnanl.m4: Likewise.
39053 2011-05-08  Bruno Haible  <bruno@clisp.org>
39055         glob: Remove obsolete macro.
39056         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
39058 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
39060         intprops: Sun C 5.11 supports __typeof__
39061         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
39062         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
39063         which is new.
39064         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
39066         intprops: switch to usual gnulib indenting and naming
39067         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
39068         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
39070         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
39072 2011-05-08  Jim Meyering  <meyering@redhat.com>
39074         maint.mk: suppress "Entering/Leaving directory" diag in announcement
39075         * top/maint.mk (release-prep): Use make's --no-print-directory
39076         option when generating the announcement.  This eliminates the
39077         pesky "make[2]: Entering/Leaving directory" diagnostics in the
39078         generated announcement template.
39080 2011-05-08  Bruno Haible  <bruno@clisp.org>
39082         tzset: Fix gettimeofday wrapper on Solaris 2.6.
39083         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
39084         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
39086 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
39088         ignore-value, verify: Omit include files from lib_SOURCES.
39089         * modules/ignore-value, modules/verify (Makefile.am):
39090         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
39091         that leads Automake to duplicate use of am__objects_... variables
39092         in Makefile.in.  See
39093         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
39095 2011-05-07  Bruno Haible  <bruno@clisp.org>
39097         fclose: Simplify autoconf macro.
39098         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
39099         defined.
39101 2011-05-07  Bruno Haible  <bruno@clisp.org>
39103         canonicalize-lgpl: Fix autoconf macro ordering bug.
39104         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
39105         gl_STDLIB_H_DEFAULTS.
39107 2011-05-06  Eric Blake  <eblake@redhat.com>
39109         maintainer-makefile: make sc_po_check easier to tune
39110         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
39111         to probe for strings, such as an alternate location for gnulib.
39113         fclose: guarantee behavior on seekable stdin
39114         * modules/fclose (Depends-on): Add fflush.
39115         * doc/posix-functions/fclose.texi (fclose): Document this.
39116         * tests/test-fclose.c (main): Make test for this unconditional.
39118 2011-05-06  Bruno Haible  <bruno@clisp.org>
39120         fflush, fpurge: Relicense under LGPLv2+.
39121         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
39122         * modules/fpurge (License): Likewise.
39123         With permission from Eric Blake and Jim Meyering.
39124         Suggested by Eric Blake.
39126 2011-05-06  Karl Berry  <karl@gnu.org>
39128         * MODULES.html.sh (func_all_modules): remove exit.
39130 2011-05-06  Jim Meyering  <meyering@redhat.com>
39132         maint.mk: use info-gnu@ as the default only for a stable release
39133         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
39134         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
39135         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
39136         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
39138 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
39140         assert-h: new module, which supports C1X-style static_assert
39141         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
39142         * lib/verify.h: Revamp so that this can be copied into assert.h,
39143         while retaining the ability to use it standalone as before.
39144         Rename private identifiers so as not to encroach on the
39145         standard C namespace, since this is now used by assert.h.
39146         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
39147         the old verify_true.
39148         (_GL_VERIFY_TRUE): New macro, with much of the contents of
39149         the old verify_true.  Use _GL_VERIFY_TYPE.
39150         (_GL_VERIFY): New macro, with much of the contents of the old verify.
39151         (static_assert): New macro, if _GL_STATIC_ASSERT_H
39152         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
39153         defined when this file is copied into the replacement assert.h.
39154         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
39155         and _Static_assert is not built in.
39156         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
39157         defined, and use the new macros mentioned above.
39158         * doc/posix-headers/assert.texi: Document this.
39160 2011-05-05  Bruno Haible  <bruno@clisp.org>
39162         fclose, fflush: Respect rules for use of AC_LIBOBJ.
39163         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
39164         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
39165         gl_REPLACE_FCLOSE here.
39166         * modules/fflush (Depends-on): Remove fclose.
39167         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
39168         combination with module 'fclose'.
39170 2011-05-05  Bruno Haible  <bruno@clisp.org>
39172         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
39173         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
39174         gl_FUNC_FFLUSH.
39175         (gl_FUNC_FFLUSH): Use it.
39176         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
39177         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
39178         gl_REPLACE_FSEEKO here.
39180 2011-05-05  Bruno Haible  <bruno@clisp.org>
39182         tzset: Relicense under LGPL.
39183         * modules/tzset (License): Change to LGPL.
39184         No agreement needed; it's a no-op.
39186         strtoimax, strtoumax: Relicense under LGPL.
39187         * modules/strtoimax (License): Change to LGPL.
39188         * modules/strtoumax (License): Likewise.
39189         With permission from Jim Meyering, Paul Eggert:
39190         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
39191         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
39193         getgroups: Relicense under LGPL.
39194         * modules/getgroups (License): Change to LGPL.
39195         With permission from Jim Meyering, Paul Eggert, Eric Blake:
39196         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39197         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39198         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39200         nanosleep: Relicense under LGPL.
39201         * modules/nanosleep (License): Change to LGPL.
39202         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
39203         Haible:
39204         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
39205         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
39206         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39207         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39209         futimens: Relicense under LGPL.
39210         * modules/futimens (License): Change to LGPL.
39211         With permission from Eric Blake:
39212         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39214         fflush: Relicense under LGPL.
39215         * modules/fflush (License): Change to LGPL.
39216         With permission from Eric Blake, Bruno Haible, Jim Meyering:
39217         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
39218         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
39219         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
39221         tmpfile: Relicense under LGPL.
39222         * modules/tmpfile (License): Change to LGPL.
39223         With permission from Ben Pfaff:
39224         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39226         isfinite: Relicense under LGPL.
39227         * modules/isfinite (License): Change to LGPL.
39228         With permission from Ben Pfaff, Bruno Haible:
39229         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
39230         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
39232         acosl..tanl: Relicense under LGPL.
39233         * modules/acosl (License): Change to LGPL.
39234         * modules/asinl (License): Likewise.
39235         * modules/atanl (License): Likewise.
39236         * modules/cosl (License): Likewise.
39237         * modules/expl (License): Likewise.
39238         * modules/logl (License): Likewise.
39239         * modules/sinl (License): Likewise.
39240         * modules/sqrtl (License): Likewise.
39241         * modules/tanl (License): Likewise.
39242         Source code originally from glibc and Paolo Bonzini. Agreements:
39243         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
39244         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
39246 2011-05-05  Bruno Haible  <bruno@clisp.org>
39248         signal: Define sighandler_t.
39249         * lib/signal.in.h (sighandler_t): New type.
39250         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
39251         whether sighandler_t is defined.
39252         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
39253         * modules/signal (Depends-on): Add extensions.
39254         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
39255         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
39256         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
39258 2011-05-05  Eric Blake  <eblake@redhat.com>
39260         maint: remove useless REPLACE_*_H macros
39261         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
39262         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39263         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39264         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
39265         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39266         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39267         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
39268         * m4/btowc.m4: Update callers.
39269         * m4/dirfd.m4: Likewise.
39270         * m4/duplocale.m4: Likewise.
39271         * m4/fchdir.m4: Likewise.
39272         * m4/fdopendir.m4: Likewise.
39273         * m4/inet_ntop.m4: Likewise.
39274         * m4/inet_pton.m4: Likewise.
39275         * m4/ioctl.m4: Likewise.
39276         * m4/mbrlen.m4: Likewise.
39277         * m4/mbrtowc.m4: Likewise.
39278         * m4/mbsinit.m4: Likewise.
39279         * m4/mbsnrtowcs.m4: Likewise.
39280         * m4/mbsrtowcs.m4: Likewise.
39281         * m4/poll.m4: Likewise.
39282         * m4/setlocale.m4: Likewise.
39283         * m4/wcrtomb.m4: Likewise.
39284         * m4/wcsnrtombs.m4: Likewise.
39285         * m4/wcsrtombs.m4: Likewise.
39286         * m4/wctob.m4: Likewise.
39287         * m4/wcwidth.m4: Likewise.
39288         * modules/posix_spawn: Likewise.
39289         * modules/posix_spawn_file_actions_addclose: Likewise.
39290         * modules/posix_spawn_file_actions_adddup2: Likewise.
39291         * modules/posix_spawn_file_actions_addopen: Likewise.
39292         * modules/posix_spawn_file_actions_destroy: Likewise.
39293         * modules/posix_spawn_file_actions_init: Likewise.
39294         * modules/posix_spawnattr_destroy: Likewise.
39295         * modules/posix_spawnattr_getflags: Likewise.
39296         * modules/posix_spawnattr_getpgroup: Likewise.
39297         * modules/posix_spawnattr_getschedparam: Likewise.
39298         * modules/posix_spawnattr_getschedpolicy: Likewise.
39299         * modules/posix_spawnattr_getsigdefault: Likewise.
39300         * modules/posix_spawnattr_getsigmask: Likewise.
39301         * modules/posix_spawnattr_init: Likewise.
39302         * modules/posix_spawnattr_setflags: Likewise.
39303         * modules/posix_spawnattr_setpgroup: Likewise.
39304         * modules/posix_spawnattr_setschedparam: Likewise.
39305         * modules/posix_spawnattr_setschedpolicy: Likewise.
39306         * modules/posix_spawnattr_setsigdefault: Likewise.
39307         * modules/posix_spawnattr_setsigmask: Likewise.
39308         * modules/posix_spawnp: Likewise.
39310 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
39312         Add option to do-release-commit-and-tag to specify branch.
39313         * build-aux/do-release-commit-and-tag: Add --branch.
39315 2011-05-03  Bruno Haible  <bruno@clisp.org>
39317         Avoid unnecessary compilation units, through conditional dependencies.
39318         * modules/accept (Depends-on): Add conditions to the dependencies.
39319         * modules/acosl (Depends-on): Likewise.
39320         * modules/argz (Depends-on): Likewise.
39321         * modules/asinl (Depends-on): Likewise.
39322         * modules/atanl (Depends-on): Likewise.
39323         * modules/atoll (Depends-on): Likewise.
39324         * modules/bind (Depends-on): Likewise.
39325         * modules/btowc (Depends-on): Likewise.
39326         * modules/canonicalize-lgpl (Depends-on): Likewise.
39327         * modules/ceil (Depends-on): Likewise.
39328         * modules/ceilf (Depends-on): Likewise.
39329         * modules/ceill (Depends-on): Likewise.
39330         * modules/chdir-long (Depends-on): Likewise.
39331         * modules/chown (Depends-on): Likewise.
39332         * modules/close (Depends-on): Likewise.
39333         * modules/connect (Depends-on): Likewise.
39334         * modules/cosl (Depends-on): Likewise.
39335         * modules/dirfd (Depends-on): Likewise.
39336         * modules/dprintf (Depends-on): Likewise.
39337         * modules/dprintf-posix (Depends-on): Likewise.
39338         * modules/error (Depends-on): Likewise.
39339         * modules/euidaccess (Depends-on): Likewise.
39340         * modules/expl (Depends-on): Likewise.
39341         * modules/faccessat (Depends-on): Likewise.
39342         * modules/fchdir (Depends-on): Likewise.
39343         * modules/fclose (Depends-on): Likewise.
39344         * modules/fcntl (Depends-on): Likewise.
39345         * modules/fdopendir (Depends-on): Likewise.
39346         * modules/fflush (Depends-on): Likewise.
39347         * modules/floor (Depends-on): Likewise.
39348         * modules/floorf (Depends-on): Likewise.
39349         * modules/floorl (Depends-on): Likewise.
39350         * modules/fnmatch (Depends-on): Likewise.
39351         * modules/fopen (Depends-on): Likewise.
39352         * modules/fprintf-posix (Depends-on): Likewise.
39353         * modules/frexp (Depends-on): Likewise.
39354         * modules/frexp-nolibm (Depends-on): Likewise.
39355         * modules/frexpl (Depends-on): Likewise.
39356         * modules/frexpl-nolibm (Depends-on): Likewise.
39357         * modules/fseek (Depends-on): Likewise.
39358         * modules/fsusage (Depends-on): Likewise.
39359         * modules/ftell (Depends-on): Likewise.
39360         * modules/ftello (Depends-on): Likewise.
39361         * modules/futimens (Depends-on): Likewise.
39362         * modules/getcwd (Depends-on): Likewise.
39363         * modules/getcwd-lgpl (Depends-on): Likewise.
39364         * modules/getdelim (Depends-on): Likewise.
39365         * modules/getdomainname (Depends-on): Likewise.
39366         * modules/getgroups (Depends-on): Likewise.
39367         * modules/gethostname (Depends-on): Likewise.
39368         * modules/getline (Depends-on): Likewise.
39369         * modules/getlogin_r (Depends-on): Likewise.
39370         * modules/getopt-posix (Depends-on): Likewise.
39371         * modules/getpeername (Depends-on): Likewise.
39372         * modules/getsockname (Depends-on): Likewise.
39373         * modules/getsockopt (Depends-on): Likewise.
39374         * modules/getsubopt (Depends-on): Likewise.
39375         * modules/getusershell (Depends-on): Likewise.
39376         * modules/glob (Depends-on): Likewise.
39377         * modules/grantpt (Depends-on): Likewise.
39378         * modules/iconv_open (Depends-on): Likewise.
39379         * modules/iconv_open-utf (Depends-on): Likewise.
39380         * modules/inet_ntop (Depends-on): Likewise.
39381         * modules/inet_pton (Depends-on): Likewise.
39382         * modules/ioctl (Depends-on): Likewise.
39383         * modules/isapipe (Depends-on): Likewise.
39384         * modules/isfinite (Depends-on): Likewise.
39385         * modules/isinf (Depends-on): Likewise.
39386         * modules/lchown (Depends-on): Likewise.
39387         * modules/ldexpl (Depends-on): Likewise.
39388         * modules/link (Depends-on): Likewise.
39389         * modules/linkat (Depends-on): Likewise.
39390         * modules/listen (Depends-on): Likewise.
39391         * modules/logl (Depends-on): Likewise.
39392         * modules/lstat (Depends-on): Likewise.
39393         * modules/mbrlen (Depends-on): Likewise.
39394         * modules/mbrtowc (Depends-on): Likewise.
39395         * modules/mbsinit (Depends-on): Likewise.
39396         * modules/mbsnrtowcs (Depends-on): Likewise.
39397         * modules/mbsrtowcs (Depends-on): Likewise.
39398         * modules/mbtowc (Depends-on): Likewise.
39399         * modules/memcmp (Depends-on): Likewise.
39400         * modules/mkdir (Depends-on): Likewise.
39401         * modules/mkdtemp (Depends-on): Likewise.
39402         * modules/mkfifo (Depends-on): Likewise.
39403         * modules/mkfifoat (Depends-on): Likewise.
39404         * modules/mknod (Depends-on): Likewise.
39405         * modules/mkostemp (Depends-on): Likewise.
39406         * modules/mkostemps (Depends-on): Likewise.
39407         * modules/mkstemp (Depends-on): Likewise.
39408         * modules/mkstemps (Depends-on): Likewise.
39409         * modules/mktime (Depends-on): Likewise.
39410         * modules/nanosleep (Depends-on): Likewise.
39411         * modules/open (Depends-on): Likewise.
39412         * modules/openat (Depends-on): Likewise.
39413         * modules/perror (Depends-on): Likewise.
39414         * modules/poll (Depends-on): Likewise.
39415         * modules/popen (Depends-on): Likewise.
39416         * modules/posix_spawn (Depends-on): Likewise.
39417         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
39418         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
39419         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
39420         * modules/posix_spawnp (Depends-on): Likewise.
39421         * modules/pread (Depends-on): Likewise.
39422         * modules/printf-posix (Depends-on): Likewise.
39423         * modules/ptsname (Depends-on): Likewise.
39424         * modules/putenv (Depends-on): Likewise.
39425         * modules/pwrite (Depends-on): Likewise.
39426         * modules/readline (Depends-on): Likewise.
39427         * modules/readlink (Depends-on): Likewise.
39428         * modules/readlinkat (Depends-on): Likewise.
39429         * modules/recv (Depends-on): Likewise.
39430         * modules/recvfrom (Depends-on): Likewise.
39431         * modules/regex (Depends-on): Likewise.
39432         * modules/remove (Depends-on): Likewise.
39433         * modules/rename (Depends-on): Likewise.
39434         * modules/renameat (Depends-on): Likewise.
39435         * modules/rmdir (Depends-on): Likewise.
39436         * modules/round (Depends-on): Likewise.
39437         * modules/roundf (Depends-on): Likewise.
39438         * modules/roundl (Depends-on): Likewise.
39439         * modules/rpmatch (Depends-on): Likewise.
39440         * modules/select (Depends-on): Likewise.
39441         * modules/send (Depends-on): Likewise.
39442         * modules/sendto (Depends-on): Likewise.
39443         * modules/setenv (Depends-on): Likewise.
39444         * modules/setlocale (Depends-on): Likewise.
39445         * modules/setsockopt (Depends-on): Likewise.
39446         * modules/shutdown (Depends-on): Likewise.
39447         * modules/sigaction (Depends-on): Likewise.
39448         * modules/signbit (Depends-on): Likewise.
39449         * modules/sigprocmask (Depends-on): Likewise.
39450         * modules/sinl (Depends-on): Likewise.
39451         * modules/sleep (Depends-on): Likewise.
39452         * modules/snprintf (Depends-on): Likewise.
39453         * modules/snprintf-posix (Depends-on): Likewise.
39454         * modules/socket (Depends-on): Likewise.
39455         * modules/sprintf-posix (Depends-on): Likewise.
39456         * modules/sqrtl (Depends-on): Likewise.
39457         * modules/stat (Depends-on): Likewise.
39458         * modules/strchrnul (Depends-on): Likewise.
39459         * modules/strdup-posix (Depends-on): Likewise.
39460         * modules/strerror (Depends-on): Likewise.
39461         * modules/strerror_r-posix (Depends-on): Likewise.
39462         * modules/strndup (Depends-on): Likewise.
39463         * modules/strnlen (Depends-on): Likewise.
39464         * modules/strptime (Depends-on): Likewise.
39465         * modules/strsep (Depends-on): Likewise.
39466         * modules/strsignal (Depends-on): Likewise.
39467         * modules/strstr-simple (Depends-on): Likewise.
39468         * modules/strtod (Depends-on): Likewise.
39469         * modules/strtoimax (Depends-on): Likewise.
39470         * modules/strtok_r (Depends-on): Likewise.
39471         * modules/strtoumax (Depends-on): Likewise.
39472         * modules/symlink (Depends-on): Likewise.
39473         * modules/symlinkat (Depends-on): Likewise.
39474         * modules/tanl (Depends-on): Likewise.
39475         * modules/tcgetsid (Depends-on): Likewise.
39476         * modules/tmpfile (Depends-on): Likewise.
39477         * modules/trunc (Depends-on): Likewise.
39478         * modules/truncf (Depends-on): Likewise.
39479         * modules/truncl (Depends-on): Likewise.
39480         * modules/uname (Depends-on): Likewise.
39481         * modules/unlink (Depends-on): Likewise.
39482         * modules/unlockpt (Depends-on): Likewise.
39483         * modules/unsetenv (Depends-on): Likewise.
39484         * modules/usleep (Depends-on): Likewise.
39485         * modules/utimensat (Depends-on): Likewise.
39486         * modules/vasprintf (Depends-on): Likewise.
39487         * modules/vdprintf (Depends-on): Likewise.
39488         * modules/vdprintf-posix (Depends-on): Likewise.
39489         * modules/vfprintf-posix (Depends-on): Likewise.
39490         * modules/vprintf-posix (Depends-on): Likewise.
39491         * modules/vsnprintf (Depends-on): Likewise.
39492         * modules/vsnprintf-posix (Depends-on): Likewise.
39493         * modules/vsprintf-posix (Depends-on): Likewise.
39494         * modules/wcrtomb (Depends-on): Likewise.
39495         * modules/wcscasecmp (Depends-on): Likewise.
39496         * modules/wcscspn (Depends-on): Likewise.
39497         * modules/wcsdup (Depends-on): Likewise.
39498         * modules/wcsncasecmp (Depends-on): Likewise.
39499         * modules/wcsnrtombs (Depends-on): Likewise.
39500         * modules/wcspbrk (Depends-on): Likewise.
39501         * modules/wcsrtombs (Depends-on): Likewise.
39502         * modules/wcsspn (Depends-on): Likewise.
39503         * modules/wcsstr (Depends-on): Likewise.
39504         * modules/wcstok (Depends-on): Likewise.
39505         * modules/wcswidth (Depends-on): Likewise.
39506         * modules/wctob (Depends-on): Likewise.
39507         * modules/wctomb (Depends-on): Likewise.
39508         * modules/wctype (Depends-on): Likewise.
39509         * modules/wcwidth (Depends-on): Likewise.
39510         * modules/write (Depends-on): Likewise.
39512 2011-05-03  Bruno Haible  <bruno@clisp.org>
39514         Support for conditional dependencies.
39515         * doc/gnulib.texi (Module description): Document the syntax of
39516         conditional dependencies.
39517         * gnulib-tool: New option --conditional-dependencies.
39518         (func_usage): Document it.
39519         (cond_dependencies): New variable.
39520         (func_get_automake_snippet_conditional,
39521         func_get_automake_snippet_unconditional): New functions, extracted from
39522         func_get_automake_snippet.
39523         (func_get_automake_snippet): Use them.
39524         (sed_first_32_chars): New variable.
39525         (func_module_shellfunc_name): New function.
39526         (func_module_shellvar_name): New function.
39527         (func_module_conditional_name): New function.
39528         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
39529         func_cond_module_condition): New functions.
39530         (func_modules_transitive_closure): Add support for conditional
39531         dependencies.
39532         (func_emit_lib_Makefile_am): For a conditional module, enclose the
39533         conditional automake snippet in an automake conditional.
39534         (func_emit_autoconf_snippets): Emit shell functions that contain the
39535         code for conditional modules.
39536         (func_import, func_create_testdir): Update specification.
39538 2011-05-03  Eric Blake  <eblake@redhat.com>
39540         test-getaddrinfo: report error information
39541         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
39543 2011-05-03  Jim Meyering  <meyering@redhat.com>
39545         bootstrap: avoid build failure when $GZIP is set
39546         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
39547         program name.  If defined at all, it is supposed to list gzip options.
39548         Reported by Alan Curry in http://debbugs.gnu.org/8609
39550 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
39552         readme-release: new module with release instructions
39553         * modules/readme-release: New module.
39554         * top/README-release: New file, from coreutils, grep, diffutils.
39555         * MODULES.html.sh (Support for maintaining and releasing): Add it.
39557 2011-05-02  Eric Blake  <eblake@redhat.com>
39559         fflush: also replace fclose when fixing fflush
39560         * modules/fflush (Depends-on): Add fclose.
39561         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
39562         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
39563         memstreams with no backing fd.
39564         * doc/posix-functions/fclose.texi (fclose): Document the use of
39565         fflush module to fix the bug.
39566         * tests/test-fclose.c (main): Relax test when fclose is used in
39567         isolation.
39569         fclose: add some tests
39570         * modules/fclose-tests: New test module.
39571         * tests/test-fclose.c: New file.
39572         * doc/posix-functions/fclose.texi (fclose): Document the bug.
39574         fclose: reduced dependencies
39575         * modules/fclose (Depends-on): Switch from fflush/fseeko to
39576         simpler lseek.
39577         * lib/fclose.c (rpl_fclose): Likewise.
39578         Reported by Simon Josefsson.
39580         exit: drop remaining clients
39581         * modules/argmatch (Depends-on): Replace exit with stdlib.
39582         * modules/copy-file (Depends-on): Likewise.
39583         * modules/execute (Depends-on): Likewise.
39584         * modules/exitfail (Depends-on): Likewise.
39585         * modules/obstack (Depends-on): Likewise.
39586         * modules/pagealign_alloc (Depends-on): Likewise.
39587         * modules/pipe-filter-gi (Depends-on): Likewise.
39588         * modules/pipe-filter-ii (Depends-on): Likewise.
39589         * modules/savewd (Depends-on): Likewise.
39590         * modules/spawn-pipe (Depends-on): Likewise.
39591         * modules/wait-process (Depends-on): Likewise.
39592         * modules/xsetenv (Depends-on): Likewise.
39593         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
39594         * modules/git-merge-changelog (Depends-on): Likewise.
39595         * modules/long-options (Depends-on): Likewise.
39596         * modules/pt_chown (Depends-on): Likewise.
39597         * modules/sysexits (Depends-on): Likewise.
39599         freading: relax license from LGPLv3+ to LGPLv2+
39600         * modules/freading (License): Relax LGPL version.
39602 2011-05-02  Bruno Haible  <bruno@clisp.org>
39604         fchdir: Remove unused dependencies.
39605         * modules/fchdir (Depends-on): Remove include_next.
39607 2011-05-02  Bruno Haible  <bruno@clisp.org>
39609         gnulib-tool: Refactor.
39610         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
39611         from func_emit_autoconf_snippets.
39612         (func_emit_autoconf_snippets): Use it.
39614 2011-05-02  Simon Josefsson  <simon@josefsson.org>
39616         * NEWS: Document removal of 'exit'.
39617         * modules/exit: Remove file.
39619 2011-05-01  Bruno Haible  <bruno@clisp.org>
39621         Update DEPENDENCIES.
39622         * DEPENDENCIES (gettext): Recommend the newest release.
39623         Reported by Simon Josefsson.
39625 2011-05-01  Bruno Haible  <bruno@clisp.org>
39627         gnulib-tool: Reduce code duplication.
39628         * gnulib-tool (func_emit_autoconf_snippets): New function.
39629         (func_import, func_create_testdir): Use it.
39631 2011-04-30  Eric Blake  <eblake@redhat.com>
39633         fclose: don't fail on non-seekable input stream
39634         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
39635         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
39636         since fflush is allowed to fail in that case.
39638 2011-04-30  Bruno Haible  <bruno@clisp.org>
39640         dup3: cleanup
39641         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
39643 2011-04-30  Bruno Haible  <bruno@clisp.org>
39645         netdb: Make it work in C++ mode.
39646         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
39647         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
39648         module.
39649         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
39650         gl_MODULE_INDICATOR_FOR_TESTS.
39651         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
39652         * modules/netdb-c++-tests: New file.
39653         * tests/test-netdb-c++.cc: New file.
39655 2011-04-30  Bruno Haible  <bruno@clisp.org>
39657         New modules 'vfscanf', 'vscanf'.
39658         * modules/vfscanf: New file.
39659         * modules/vscanf: New file.
39660         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
39661         here.
39662         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
39663         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
39665 2011-04-30  Bruno Haible  <bruno@clisp.org>
39667         passfd: Add comments.
39668         * lib/passfd.c: Add comments about platforms.
39670 2011-04-30  Bruno Haible  <bruno@clisp.org>
39672         sys_uio: Make <sys/uio.h> self-contained.
39673         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
39674         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
39676 2011-04-30  Bruno Haible  <bruno@clisp.org>
39678         sys_socket: Ensure 'struct iovec' definition.
39679         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
39680         <sys/socket.h>.
39681         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
39683 2011-04-30  Bruno Haible  <bruno@clisp.org>
39685         sys_uio: Protect definition of 'struct iovec'.
39686         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
39687         it as a C struct.
39689 2011-04-30  Bruno Haible  <bruno@clisp.org>
39691         manywarnings: fix indentation
39692         * m4/manywarnings.m4: Indent by 2 spaces consistently.
39694 2011-04-30  Pádraig Brady  <P@draigBrady.com>
39696         manywarnings: add -Wno-missing-field-initializers if needed.
39697         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
39698         option if it's needed to allow initialization with { 0, }
39700 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
39702         announce-gen: cosmetic improvement
39703         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
39705 2011-04-29  Jim Meyering  <meyering@redhat.com>
39707         vc-list-files: indent with spaces, not TABs
39708         * build-aux/vc-list-files: Convert leading TABs to spaces,
39709         to match the style of most other files in gnulib.
39711         announce-gen: indent with spaces, not TABs
39712         * build-aux/announce-gen: Convert all TABs to spaces, to match
39713         the style of most other files in gnulib.
39715 2011-04-29  Eric Blake  <eblake@redhat.com>
39717         quotearg: avoid uninitialized variable use
39718         * lib/quotearg.c (quoting_options_from_style): Initialize
39719         remaining fields, and ensure that custom styles are only used via
39720         quoting_options rather than quoting_style.
39722 2011-04-29  Jim Meyering  <meyering@redhat.com>
39724         maint.mk: remove unused VC-tag variable
39725         * top/maint.mk (VC-tag): Remove unused variable.
39727 2011-04-29  Bruno Haible  <bruno@clisp.org>
39729         netdb: fix gai_strerror replacements
39730         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
39731         * modules/netdb: Substitute it.
39733 2011-04-29  Jim Meyering  <meyering@redhat.com>
39735         test-getcwd.c: avoid new set-but-not-used warning
39736         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
39737         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
39738         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
39739         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
39741         test-hash.c: avoid a new shadowing warning
39742         * tests/test-hash.c (main): Don't shadow "dup".
39744 2011-04-28  Eric Blake  <eblake@redhat.com>
39746         getaddrinfo: fix gai_strerror signature
39747         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
39748         and work around mingw with UNICODE defined.
39749         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
39750         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
39751         * modules/netdb (Makefile.am): Substitute it.
39752         * lib/netdb.in.h (gai_strerror): Declare replacement.
39753         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
39754         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
39755         the fix.
39757         getsockopt: avoid compiler warning
39758         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
39759         Reported by Matthias Bolte.
39761         tests: drop unused link dependency
39762         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
39763         * modules/dirent-safer-tests (Makefile.am): Likewise.
39764         * modules/fdopendir-tests (Makefile.am): Likewise.
39765         * modules/mkfifoat-tests (Makefile.am): Likewise.
39766         * modules/openat-safer-tests (Makefile.am): Likewise.
39767         * modules/openat-tests (Makefile.am): Likewise.
39768         * modules/readlinkat-tests (Makefile.am): Likewise.
39769         * modules/symlinkat-tests (Makefile.am): Likewise.
39770         * modules/linkat-tests (Makefile.am): Likewise.
39771         (Depends-on): Switch to filenamecat-lgpl.
39772         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
39773         LIBINTL.
39774         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
39775         * tests/test-linkat.c (main): Don't require xalloc.
39777         hash, mgetgroups: drop xalloc dependency
39778         * lib/hash.c (includes): Adjust includes.
39779         * lib/mgetgroups.c (includes): Likewise.
39780         (xgetgroups): Move...
39781         * lib/xgetgroups.c: ...to new file.
39782         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
39783         * modules/xgetgroups: New file, split from...
39784         * modules/mgetgroups: ...here.
39785         (Depends-on): Add xalloc-oversized.
39786         * modules/hash (Depends-on): Likewise.
39787         * modules/hash-tests (Depends-on): Drop xalloc.
39788         (test_hash_LDADD): Drop unused library.
39789         * tests/test-hash.c (main): Break xalloc dependency.
39790         (includes): Drop unused include.
39792         xalloc-oversized: new module
39793         * modules/xalloc-oversized: New module.
39794         * modules/xalloc (Depends-on): Add it.
39795         * lib/xalloc.h (xalloc_oversized): Move...
39796         * lib/xalloc-oversized.h: ...into new file.
39798         utimecmp: drop dependency on xmalloc
39799         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
39800         due to memory pressure.
39801         * modules/utimecmp (Depends-on): Drop xalloc.
39803 2011-04-27  Eric Blake  <eblake@redhat.com>
39805         getcwd: fix mingw bugs
39806         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
39807         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
39808         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
39810 2011-04-27  Bruno Haible  <bruno@clisp.org>
39812         mkstemps: Ensure declaration on MacOS X 10.5.
39813         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
39814         * doc/glibc-functions/mkstemps.texi: Document header file problem on
39815         MacOS X.
39817 2011-04-27  Bruno Haible  <bruno@clisp.org>
39819         mkstemp: More documentation.
39820         * doc/posix-functions/mkstemp.texi: Document header file problem on
39821         MacOS X.
39823 2011-04-27  Bruno Haible  <bruno@clisp.org>
39825         mkstemp: Tweak configure message when cross-compiling.
39826         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
39827         result as a guess.
39829 2011-04-27  Bruno Haible  <bruno@clisp.org>
39831         clean-temp: Clarify what it does.
39832         * lib/clean-temp.h: Add more comments.
39833         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
39834         module.
39835         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
39836         * doc/glibc-functions/mkstemps.texi: Likewise.
39837         * doc/glibc-functions/mkostemps.texi: Likewise.
39839 2011-04-27  Eric Blake  <eblake@redhat.com>
39841         fchdir: avoid extra chdir and fix test
39842         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
39843         getcwd-lgpl.
39844         * lib/fchdir.c (get_name): Any absolute name will do; it does not
39845         have to be canonical.
39846         (canonicalize_file_name): Drop unused macro.
39847         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
39849         filenamecat-lgpl: fix licence
39850         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
39851         when it was first created.
39853         linkat, renameat: add missing dependency
39854         * modules/linkat (Depends-on): Require getcwd-lgpl.
39855         * modules/renameat (Depends-on): Likewise.
39857         tests: reduce dependencies
39858         * tests/test-linkat.c (main): Use lighter-weight getcwd.
39859         * tests/test-renameat.c (main): Likewise.
39860         * modules/linkat-tests (Depends-on): Relax dependency.
39861         * modules/renameat-tests (Depends-on): Likewise.
39862         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
39863         dependency explicit.
39865         save-cwd: reduce default dependency
39866         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
39867         * lib/save-cwd.c: Update comments.
39868         * NEWS: Document the semantic change.
39870         getcwd: enhance tests
39871         * tests/test-getcwd-lgpl.c: New file, taken from...
39872         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
39873         repeat long path stress tests from m4 probe.
39874         * modules/getcwd-lgpl-tests: New module.
39875         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
39876         * m4/getcwd-abort-bug.m4: Update comment.
39877         * m4/getcwd-path-max.m4: Likewise.
39879         getcwd-lgpl: new module
39880         * modules/getcwd-lgpl: New module.
39881         * lib/getcwd-lgpl.c: New file.
39882         * doc/posix-functions/getcwd.texi (getcwd): Document it.
39883         * MODULES.html.sh (lacking POSIX:2008): Likewise.
39884         * modules/getcwd (configure.ac): Set C witness.
39885         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
39887         getcwd: tweak comments
39888         * m4/getcwd-abort-bug.m4: Fix comments.
39889         * m4/getcwd-path-max.m4: Likewise.
39890         * m4/getcwd.m4: Likewise.
39892 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39893         and Eric Blake  <eblake@redhat.com>
39895         mkstemp: replace if system version uses wrong permissions
39896         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
39897         read/write mode bits set in file created by mkstemp.
39898         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
39900 2011-04-27  Eric Blake  <eblake@redhat.com>
39902         passfd: avoid compiler warning
39903         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
39904         Reported by Laine Stump.
39906 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
39908         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
39909         required by the NetBSD (and perhaps other 4.4BSD derived) join.
39911 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
39912         and Eric Blake  <eblake@redhat.com>
39914         mkstemp: mention clean-temp module
39915         * lib/mkstemp.c: Add comment.
39916         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
39918 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
39920         inttypes: also provide default values for 32-bit tests
39921         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
39922         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
39924 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39926         strtoumax: remove dependency on strtoimax
39927         This is like the strtoull change of yesterday.
39928         * modules/strtoumax (Files): Add lib/strtoimax.c.
39929         (Depends-on): Remove strtoimax and add verify.
39931         inttypes-incomplete: new module
39932         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
39933         all but the PRI* and SCN* parts of gl_INTTYPES_H.
39934         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
39935         of gl_INTTYPES_H.
39936         (gl_INTTYPES_H): Rewrite in terms of these new macros.
39937         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
39938         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
39939         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
39940         * modules/strtoumax, modules/xstrtol (Depends-on):
39941         Depend on inttypes-incomplete, not inttypes.
39942         * modules/inttypes-incomplete: New module, containing the contents
39943         of the old modules/inttypes module, except that the Files: section
39944         omits m4/inttypes-pri.m4, and the configure.ac section invokes
39945         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
39946         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
39947         (Depends-on): Depend only on inttypes-incomplete.
39948         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
39950         inttypes: omit now-redundant strtoimax and strtoumax work
39951         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
39952         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
39954         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
39955         This supports apps that need pointers to strtoimax and strtoumax,
39956         and ports to HP-UX 11.00 64.bit, which has macros that expand to
39957         nonexistent functions.  See
39958         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
39959         et seq.
39960         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
39961         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
39962         a macro.
39963         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
39965 2011-04-25  Simon Josefsson  <simon@josefsson.org>
39967         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
39969 2011-04-25  Bruno Haible  <bruno@clisp.org>
39971         strtol, strtoul: Mark modules as obsolete.
39972         * modules/strtol (Status, Notice): New sections.
39973         * modules/strtoul (Status, Notice): New sections.
39975 2011-04-25  Bruno Haible  <bruno@clisp.org>
39977         strtod: Remove check for strtod, unless supporting old platforms.
39978         * modules/strtod-obsolete: New file.
39979         * m4/strtod-obsolete.m4: New file.
39980         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
39981         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
39982         * modules/strtod (Depends-on): Add strtod-obsolete.
39983         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
39985 2011-04-25  Bruno Haible  <bruno@clisp.org>
39987         strcase: Make module obsolete.
39988         * modules/strcase (Status, Notice): New sections.
39990 2011-04-25  Bruno Haible  <bruno@clisp.org>
39992         dup2: Remove check for dup2, unless supporting old obsolete platforms.
39993         * modules/dup2-obsolete: New file.
39994         * m4/dup2-obsolete.m4: New file.
39995         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
39996         gl_FUNC_DUP2_OBSOLETE is not also defined.
39997         * modules/dup2 (Depends-on): Add dup2-obsolete.
39998         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
40000 2011-04-25  Bruno Haible  <bruno@clisp.org>
40002         strnlen: Avoid memchr related link error on old obsolete platforms.
40003         * modules/memchr-obsolete: New file.
40004         * m4/memchr-obsolete.m4: New file.
40005         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
40006         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
40007         * modules/memchr (Depends-on): Add memchr-obsolete.
40008         * modules/strnlen (Depends-on): Likewise.
40009         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
40011 2011-04-25  Jim Meyering  <meyering@redhat.com>
40013         maint.mk: makefile_at_at_check extend and clean up
40014         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
40015         in addition to */Makefile.am.
40016         Exempt legitimate uses of @VAR@ notation, e.g.,
40017         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
40018         Remove obsolete coreutils-specific comment.
40019         Prompted by discussion here:
40020         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
40022 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
40024         strtoul: remove dependency on strtol
40025         This is so that 'configure' need not check for strtol merely because
40026         the application needs strtoul.
40027         * modules/strtoul (Files): Add lib/strtol.c.
40028         (Depends-on): Remove strtol.
40030         strtoull: remove dependency on strtoul
40031         This is like the strtoll change.
40032         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
40033         (Depends-on): Remove strtoul.
40035         strtoll: remove dependency on strtol
40036         This is so that 'configure' need not check for strtol merely because
40037         the application needs strtoll.
40038         * modules/strtoll (Files): Add lib/strtol.c.
40039         (Depends-on): Remove strtol.
40041 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40043         inttypes: Move some configure check to module 'imaxdiv'.
40044         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
40045         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
40046         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
40048 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40050         inttypes: Move some configure check to module 'imaxabs'.
40051         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
40052         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
40053         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
40055 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40057         inttypes: Remove configure tests that are not needed since 2009-12-31.
40058         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
40059         gl_cv_header_working_inttypes_h.
40061 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
40063         * modules/strnlen (Depends-on): Remove memchr.
40064         The strnlen implementation doesn't need the memchr module's fixes; see
40065         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
40067         strtol: remove dependency on wchar
40068         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
40069         * modules/strtol (Depends-on): Remove wchar.
40071 2011-04-21  Eric Blake  <eblake@redhat.com>
40073         passfd: fix test regression on Linux
40074         * modules/passfd-tests (configure.ac): Correct socketpair check.
40076         passfd: speed up configure and drop unused code
40077         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
40078         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
40079         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
40080         Instead of probing at configure for unix_scm_rights_bsd44_way,
40081         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
40082         check to a struct member probe.
40083         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
40084         (sendfd, recvfd): Update preprocessor checks.
40085         * modules/passfd (Files): Reflect rename, and drop unused file.
40086         (Depends-on): Drop unused dependency.
40088         passfd: allow compilation on mingw
40089         * modules/sys_socket (Depends-on): Add sys_uio.
40090         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
40091         iovec and a minimal struct msghdr.
40092         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
40093         * tests/test-sys_socket.c (main): Enhance test.
40094         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
40095         guaranteed to provide what we need.
40096         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
40097         * modules/passfd-tests (Depends-on): Add sys_wait.
40098         * tests/test-passfd.c (main): Skip test on mingw, for now.
40099         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
40100         partial 'struct msghdr' implementation.
40102         sys_uio: new module
40103         * modules/sys_uio: New module.
40104         * modules/sys_uio-tests: Likewise.
40105         * lib/sys_uio.in.h: New file.
40106         * m4/sys_uio_h.m4: Likewise.
40107         * tests/test-sys_uio.c: Likewise.
40108         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
40109         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
40111 2011-04-20  Jim Meyering  <meyering@redhat.com>
40113         useless-if-before-free: avoid false-positive
40114         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
40115         disjunct so that it too requires a terminating ";".  Without that,
40116         this script would identify as useless one statement from gcc that
40117         was not:
40118           if (aligned_ptr)
40119             free (((void **) aligned_ptr) [-1]);
40121 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
40123         doc: update users.txt.
40124         * users.txt: Add barcode.
40126 2011-04-19  Bruno Haible  <bruno@clisp.org>
40128         ioctl: Remove link dependency on native Windows.
40129         * lib/fd-hook.h: Renamed from lib/close-hook.h.
40130         (gl_close_fn, gl_ioctl_fn): New types.
40131         (struct fd_hook): Renamed from struct close_hook. Change type of
40132         private_close_fn field. Add private_ioctl_fn field.
40133         (close_hook_fn): Add parameter for primary close method.
40134         (execute_close_hooks, execute_all_close_hooks): Likewise.
40135         (ioctl_hook_fn): New type.
40136         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
40137         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40138         argument.
40139         (unregister_fd_hook): Renamed from unregister_close_hook.
40140         * lib/fd-hook.c: Renamed from lib/close-hook.c.
40141         Don't include <unistd.h>.
40142         (close): Remove undef.
40143         (anchor): Update.
40144         (execute_close_hooks): Add argument for primary close method.
40145         (execute_all_close_hooks): Likewise.
40146         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
40147         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
40148         argument. Allow each argument to be NULL.
40149         (unregister_fd_hook): Renamed from unregister_close_hook.
40150         * lib/close.c (rpl_close): Pass 'close' function pointer to
40151         execute_all_close_hooks.
40152         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
40153         (primary_ioctl): New function.
40154         (ioctl): Don't call ioctlsocket here. Instead, call
40155         execute_all_ioctl_hooks.
40156         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
40157         close method.
40158         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
40159         (fd_sockets_hook): Renamed from close_sockets_hook.
40160         (gl_sockets_startup, gl_sockets_cleanup): Update.
40161         * modules/fd-hook: Renamed from modules/close-hook. Update.
40162         * modules/close (Depends-on): Add fd-hook, remove close-hook.
40163         * modules/sockets (Depends-on): Likewise.
40164         * modules/ioctl (Depends-on): Add fd-hook.
40165         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
40166         GNULIB_SOCKET.
40168 2011-04-19  Bruno Haible  <bruno@clisp.org>
40170         Move the support of O_NONBLOCK in open() to the 'open' module.
40171         * modules/nonblocking (Depends-on): Remove 'open'.
40172         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
40173         gl_cv_have_open_O_NONBLOCK.
40174         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
40175         O_NONBLOCK support.
40176         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
40178 2011-04-17  Bruno Haible  <bruno@clisp.org>
40180         pipe2: Simplify code.
40181         * lib/pipe2.c (pipe2): Reduce code duplication.
40183 2011-04-17  Bruno Haible  <bruno@clisp.org>
40185         nonblocking: Add comment.
40186         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
40188 2011-04-17  Bruno Haible  <bruno@clisp.org>
40190         nonblocking: Add tests for sockets.
40191         * tests/test-nonblocking-socket.sh: New file.
40192         * tests/test-nonblocking-socket-main.c: New file.
40193         * tests/test-nonblocking-socket-child.c: New file.
40194         * tests/test-nonblocking-socket.h: New file.
40195         * tests/socket-server.h: New file.
40196         * tests/socket-client.h: New file.
40197         * modules/nonblocking-socket-tests: New file.
40198         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
40200 2011-04-17  Bruno Haible  <bruno@clisp.org>
40202         nonblocking: Add tests for pipes.
40203         * tests/test-nonblocking-pipe.sh: New file.
40204         * tests/test-nonblocking-pipe-main.c: New file.
40205         * tests/test-nonblocking-pipe-child.c: New file.
40206         * tests/test-nonblocking-pipe.h: New file.
40207         * tests/test-nonblocking-writer.h: New file.
40208         * tests/test-nonblocking-reader.h: New file.
40209         * tests/test-nonblocking-misc.h: New file.
40210         * modules/nonblocking-pipe-tests: New file.
40211         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
40213 2011-04-16  Bruno Haible  <bruno@clisp.org>
40215         gettext: Clarify the needed programmer actions.
40216         * modules/gettext (Notice): New field.
40217         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
40219 2011-04-16  Bruno Haible  <bruno@clisp.org>
40221         strchrnul: Tweak last commit.
40222         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
40223         bug.
40224         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
40225         as in _GL_FUNCDECL_SYS.
40226         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
40227         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
40229 2011-04-15  Eric Blake  <eblake@redhat.com>
40231         strchrnul: work around cygwin bug
40232         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
40233         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
40234         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
40235         * modules/string (Makefile.am): Substitute it.
40236         * lib/string.in.h (strchrnul): Use it.
40238 2011-04-15  Bruno Haible  <bruno@clisp.org>
40240         Don't require lib/stdio-write.c when only module 'stdio' is used.
40241         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
40242         invocation.
40243         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
40245 2011-04-14  Bruno Haible  <bruno@clisp.org>
40247         Support non-blocking pipe I/O in read() on native Windows.
40248         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
40249         (read): New declaration.
40250         * lib/read.c: New file.
40251         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
40252         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
40253         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
40254         vscanf): New declarations.
40255         * lib/stdio-read.c: New file.
40256         * m4/read.m4: New file.
40257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
40258         REPLACE_READ.
40259         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
40260         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40261         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
40262         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
40263         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
40264         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40265         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40266         * modules/read: New file.
40267         * modules/nonblocking (Files): Add lib/stdio-read.c.
40268         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
40269         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
40270         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
40271         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
40272         * modules/pread (Depends-on): Add read.
40273         * modules/safe-read (Depends-on): Likewise.
40274         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
40275         gets, scanf, vfscanf, vscanf): Verify signatures.
40276         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
40277         problem with non-blocking pipes.
40278         * doc/posix-functions/fgetc.texi: Likewise.
40279         * doc/posix-functions/fgets.texi: Likewise.
40280         * doc/posix-functions/fread.texi: Likewise.
40281         * doc/posix-functions/fscanf.texi: Likewise.
40282         * doc/posix-functions/getc.texi: Likewise.
40283         * doc/posix-functions/getchar.texi: Likewise.
40284         * doc/posix-functions/gets.texi: Likewise.
40285         * doc/posix-functions/scanf.texi: Likewise.
40286         * doc/posix-functions/vfscanf.texi: Likewise.
40287         * doc/posix-functions/vscanf.texi: Likewise.
40289 2011-04-14  Bruno Haible  <bruno@clisp.org>
40291         Support non-blocking pipe I/O in write() on native Windows.
40292         * lib/write.c (rpl_write): Split a write request that failed merely
40293         because the byte count was larger than the pipe buffer's size.
40294         * doc/posix-functions/write.texi: Mention the problem with large byte
40295         counts.
40297 2011-04-14  Bruno Haible  <bruno@clisp.org>
40299         wchar: Ensure that wchar_t gets defined on uClibc.
40300         * lib/wchar.in.h: On uClibc, include <stddef.h>.
40301         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
40303 2011-04-13  Bruno Haible  <bruno@clisp.org>
40305         safe-write, full-read: Avoid unnecessary compilation units.
40306         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
40307         (Depends-on): Remove safe-read. Add ssize_t.
40308         * modules/full-read (Files): Add lib/full-write.c.
40309         (Depends-on): Add full-write.
40311 2011-04-13  Bruno Haible  <bruno@clisp.org>
40313         Support non-blocking pipe I/O and SIGPIPE in pwrite().
40314         * modules/pwrite (Depends-on): Add 'write'.
40316 2011-04-13  Bruno Haible  <bruno@clisp.org>
40318         Support non-blocking pipe I/O in write() on native Windows.
40319         * lib/unistd.in.h (write): Enable replacement also if
40320         GNULIB_UNISTD_H_NONBLOCKING is 1.
40321         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
40322         (rpl_write): When failing to write on a non-blocking pipe, change
40323         errno from ENOSPC to EAGAIN.
40324         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
40325         putchar, puts, vfprintf, vprintf): Enable replacement also if
40326         GNULIB_STDIO_H_NONBLOCKING is 1.
40327         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
40328         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
40329         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
40330         CALL_WITH_SIGPIPE_EMULATION.
40331         (CALL_WITH_SIGPIPE_EMULATION): Use them.
40332         * m4/nonblocking.m4: New file.
40333         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
40334         for non-blocking I/O support.
40335         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
40336         GNULIB_UNISTD_H_NONBLOCKING.
40337         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
40338         required for non-blocking I/O support.
40339         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
40340         * modules/nonblocking (Files): Add m4/nonblocking.m4,
40341         lib/stdio-write.c, m4/asm-underscore.m4.
40342         (Depends-on): Add stdio, unistd.
40343         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
40344         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
40345         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
40346         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
40347         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
40348         problem with non-blocking pipes.
40349         * doc/posix-functions/fputc.texi: Likewise.
40350         * doc/posix-functions/fputs.texi: Likewise.
40351         * doc/posix-functions/fwrite.texi: Likewise.
40352         * doc/posix-functions/printf.texi: Likewise.
40353         * doc/posix-functions/putc.texi: Likewise.
40354         * doc/posix-functions/putchar.texi: Likewise.
40355         * doc/posix-functions/puts.texi: Likewise.
40356         * doc/posix-functions/vfprintf.texi: Likewise.
40357         * doc/posix-functions/vprintf.texi: Likewise.
40358         * doc/posix-functions/write.texi: Likewise.
40360 2011-04-10  Jim Meyering  <meyering@redhat.com>
40362         maint.mk: prohibit doubled words
40363         Detect them also when they're separated by a newline.
40364         There are 3 ways to customize it:
40365           - disable the test on a per file basis, as usual with rules using
40366             $(VC_LIST_EXCEPT)
40367           - replace the default doubled-word-selecting regexp (affects all files)
40368           - ignore a particular file-vs-doubled-word match
40369         I nearly used that last one to ignore the "is is" match in
40370         coreutils' NEWS file, since the text was "ls -is is ..."
40371         To do that, I would have added this line to cfg.mk:
40372           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
40373         but it would have ignored any "is is" match in NEWS.
40374         Low probability, but still...
40375         Instead, I changed the text, slightly:
40376           -  ls -is is now consistent with ls -lis in ignoring values returned
40377           +  "ls -is" is now consistent with ls -lis in ignoring values returned
40378         * top/maint.mk (prohibit_double_word_RE_): Provide default.
40379         (prohibit_doubled_word_): Define.
40380         (sc_prohibit_doubled_word): New rule.
40381         (sc_prohibit_the_the): Remove.  Subsumed by the above.
40383 2011-04-10  Jim Meyering  <meyering@redhat.com>
40385         maint: fix doubled-word typo in comment
40386         * m4/gethostname.m4: s/is is/it is/
40387         * m4/getdomainname.m4: Likewise.
40389 2011-04-10  Jim Meyering  <meyering@redhat.com>
40391         maint: remove doubled word: s/it it/it/
40392         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
40394 2011-04-10  Jim Meyering  <meyering@redhat.com>
40396         maint.mk: remove useless semicolon and backslash
40397         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
40398         semicolon and backslash.
40400 2011-04-10  Bruno Haible  <bruno@clisp.org>
40402         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
40403         * modules/stdint-tests (Depends-on): Add wchar.
40405 2011-04-10  Jim Meyering  <meyering@redhat.com>
40407         maint: remove doubled words in comments, e.g., s/a a/a/
40408         * lib/strptime.c (day_of_the_week): s/the the/the/
40409         * tests/test-chown.h (test_chown): s/a a/a/
40411         test-chown.h: correct a cast
40412         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
40413         when the destination is a stat.st_gid.
40415 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
40417         getaddrinfo: Fix test for sa_len member.
40418         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
40419         include <sys/types.h> before <sys/socket.h>.
40421 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
40423         maint: change "can not" to "cannot"
40424         * doc/posix-functions/iconv.texi (iconv): This one crossed line
40425         boundaries.
40427 2011-04-09  Jim Meyering  <meyering@redhat.com>
40429         maint: change "a a" to "a"
40430         * tests/test-lchown.h (test_lchown): s/a a/a/
40432         maint.mk: prohibit \<the the\>
40433         * top/maint.mk (sc_prohibit_the_the): New rule.
40435         maint: fix "the the" in comment
40436         * lib/count-one-bits.h: s/the the/the/
40438         maint: change "can not" to "cannot"
40439         But do not change the occurrences in maintain.texi or in
40440         build-aux/po/Makefile.in.in, which I presume comes from gettext.
40441         * doc/gnulib-tool.texi: s/can not/cannot/
40442         * doc/posix-functions/accept.texi (accept): Likewise.
40443         * doc/posix-functions/socket.texi (socket): Likewise.
40444         * lib/mbrtowc.c: Likewise.
40446         maint.mk: prohibit use of "can not"
40447         * top/maint.mk (sc_prohibit_can_not): New rule.
40448         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
40450 2011-04-09  Bruno Haible  <bruno@clisp.org>
40452         careadlinkat: Guard against misuse of careadlinkatcwd.
40453         * lib/careadlinkat.c: Include <stdlib.h>.
40454         (careadlinkatcwd): Check that the fd argument is as expected.
40456 2011-04-09  Bruno Haible  <bruno@clisp.org>
40458         careadlinkat: Use common coding style.
40459         * lib/careadlinkat.c: Move gnulib includes after system includes.
40461 2011-04-09  Bruno Haible  <bruno@clisp.org>
40463         careadlinkat: Clarify specification.
40464         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
40465         (careadlinkatcwd): Add comment.
40466         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
40468 2011-04-09  Bruno Haible  <bruno@clisp.org>
40470         areadlinkat: Avoid link error on many platforms.
40471         * modules/areadlinkat (Depends-on): Add areadlink.
40473 2011-04-09  Bruno Haible  <bruno@clisp.org>
40475         allocator, careadlinkat: Fix double-inclusion guard.
40476         * lib/allocator.h: Fix double-inclusion guard.
40477         * lib/careadlinkat.h: Likewise.
40479 2011-04-09  Bruno Haible  <bruno@clisp.org>
40481         relocatable-prog-wrapper: Update after module 'areadlink' changed.
40482         * lib/relocwrapper.c: Update dependencies hierarchy.
40483         * build-aux/install-reloc: Update list of files to be compiled.
40484         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
40485         lib/allocator.[hc].
40487 2011-04-08  Eric Blake  <eblake@redhat.com>
40489         strftime: silence gnulib-tool warning
40490         * modules/strftime-tests (Depends-on): Drop automatic dependency.
40492 2011-04-08  Bruno Haible  <bruno@clisp.org>
40494         verify: Fix syntax error with GCC 4.6 in C++ mode.
40495         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
40496         (HAVE_STATIC_ASSERT): New macro.
40497         (verify_true, verify): Use 'static_assert' if it is supported and
40498         '_Static_assert' is not supported.
40500 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
40502         allocator: New module.
40503         * modules/allocator, lib/allocator.c: New files.
40504         * lib/allocator.h (stdlib_allocator): New decl.
40505         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
40506         Remove.  Do not include <stdlib.h>.
40507         (careadlinkat): Use stdlib_allocator instead of rolling our own.
40508         * modules/careadlinkat (Files): Remove lib/allocator.h.
40509         (Depends-on): Add allocator.
40511         stdlib: let modules use system malloc, realloc
40512         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
40513         if !_GL_USE_STDLIB_ALLOC.
40514         (malloc, realloc): Limit this change to a smaller scope.
40516         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
40517         (malloc, realloc): Don't #undef; no longer needed.
40518         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40519         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40520         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40521         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40522         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40523         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40524         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
40525         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
40527         careadlinkat: rename members to avoid problem
40528         * lib/allocator.h (struct allocator): Rename members from
40529         malloc/realloc to allocate/reallocate, to avoid problems if malloc
40530         and realloc are #define'd.  Reported by Eric Blake in
40531         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
40532         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
40534 2011-04-08  Eric Blake  <eblake@redhat.com>
40536         nonblocking: reduce dependency
40537         * tests/test-nonblocking.c: Only test sockets when in use.
40538         * modules/nonblocking-tests (Depends-on): Drop socket.
40539         (Makefile.am): Link even if sockets are not present.
40540         * modules/pipe2-tests (Makefile.am): Likewise.
40541         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
40543         pipe2: fix O_NONBLOCK support on mingw
40544         * modules/pipe2 (Depends-on): Add nonblocking.
40545         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
40546         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
40547         * tests/test-nonblocking.c (main): Likewise.
40548         * modules/pipe2-tests (Makefile.am): Avoid link failure.
40550         fcntl-h: fix O_ACCMODE on cygwin
40551         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
40552         * lib/fcntl.in.h (O_ACCMODE): Fix it.
40554         pipe-filter: drop O_NONBLOCK workarounds
40555         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
40556         * modules/pipe-filter-ii (Depends-on): Likewise.
40557         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
40559         nonblocking: provide O_NONBLOCK for mingw
40560         * modules/nonblocking (Depends-on): Add open.
40561         (configure.ac): Set new witness macro.
40562         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
40563         * modules/fcntl-h (Makefile.am): Substitute it.
40564         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
40565         nonblocking module is in use.
40566         * lib/nonblocking.c: Adjust portability test.
40567         * lib/open.c (open): Don't let native open see gnulib flag.
40568         * tests/test-fcntl-h.c (main): Enhance test.
40569         * tests/test-open.h (test_open): Likewise.
40570         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
40572         careadlinkat: fix compilation error on mingw
40573         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
40574         within struct allocator.
40576 2011-04-06  Eric Blake  <eblake@redhat.com>
40578         binary-io: relicense under LGPLv2+
40579         * modules/binary-io (License): Relax to LGPLv2+.
40580         Requested for libvirt, and required by pipe2.
40582 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
40584         verify: use _Static_assert if available
40585         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
40586         (verify_true, verify): Use it if available.  This generates better
40587         diagnostics with GCC 4.6.0 and later.
40589 2011-04-05  Bruno Haible  <bruno@clisp.org>
40591         Remove leftover generated .h files after config.status changed.
40593         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
40594         GL_GENERATE_ALLOCA_H.
40595         * modules/alloca-opt (Makefile.am): Remove alloca.h if
40596         GL_GENERATE_ALLOCA_H evaluates to false.
40598         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
40599         GL_GENERATE_ARGZ_H.
40600         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
40601         evaluates to false.
40603         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
40604         GL_GENERATE_BYTESWAP_H.
40605         * modules/byteswap (Makefile.am): Remove byteswap.h if
40606         GL_GENERATE_BYTESWAP_H evaluates to false.
40608         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
40609         GL_GENERATE_ERRNO_H.
40610         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
40611         evaluates to false.
40613         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
40614         GL_GENERATE_FLOAT_H.
40615         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
40616         evaluates to false.
40618         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
40619         GL_GENERATE_FNMATCH_H.
40620         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
40621         GL_GENERATE_FNMATCH_H evaluates to false.
40623         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
40624         GL_GENERATE_GLOB_H.
40625         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
40626         evaluates to false.
40628         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
40629         automake conditional GL_GENERATE_ICONV_H.
40630         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
40631         evaluates to false.
40633         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
40634         GL_GENERATE_NETINET_IN_H.
40635         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
40636         GL_GENERATE_NETINET_IN_H evaluates to false.
40638         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
40639         conditional GL_GENERATE_PTHREAD_H.
40640         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
40641         * modules/pthread (Makefile.am): Remove pthread.h if
40642         GL_GENERATE_PTHREAD_H evaluates to false.
40644         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
40645         GL_GENERATE_SCHED_H.
40646         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
40647         evaluates to false.
40649         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
40650         conditional GL_GENERATE_SELINUX_CONTEXT_H.
40651         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
40652         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
40654         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
40655         GL_GENERATE_STDARG_H.
40656         * modules/stdarg (Makefile.am): Remove stdarg.h if
40657         GL_GENERATE_STDARG_H evaluates to false.
40659         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
40660         GL_GENERATE_STDBOOL_H.
40661         * modules/stdbool (Makefile.am): Remove stdbool.h if
40662         GL_GENERATE_STDBOOL_H evaluates to false.
40664         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
40665         conditional GL_GENERATE_STDDEF_H.
40666         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
40667         * modules/stddef (Makefile.am): Remove stddef.h if
40668         GL_GENERATE_STDDEF_H evaluates to false.
40670         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
40671         GL_GENERATE_STDINT_H.
40672         * modules/stdint (Makefile.am): Remove stdint.h if
40673         GL_GENERATE_STDINT_H evaluates to false.
40675         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
40676         GL_GENERATE_SYSEXITS_H.
40677         * modules/sysexits (Makefile.am): Remove sysexits.h if
40678         GL_GENERATE_SYSEXITS_H evaluates to false.
40680         Reported by Karl Berry and Ralf Wildenhues.
40682 2011-04-05  Bruno Haible  <bruno@clisp.org>
40684         Ensure to rebuild generated .h files when config.status has changed.
40685         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
40686         config.status.
40687         * modules/ctype (Makefile.am): Likewise.
40688         * modules/dirent (Makefile.am): Likewise.
40689         * modules/errno (Makefile.am): Likewise.
40690         * modules/fcntl-h (Makefile.am): Likewise.
40691         * modules/float (Makefile.am): Likewise.
40692         * modules/getopt-posix (Makefile.am): Likewise.
40693         * modules/glob (Makefile.am): Likewise.
40694         * modules/iconv-h (Makefile.am): Likewise.
40695         * modules/inttypes (Makefile.am): Likewise.
40696         * modules/langinfo (Makefile.am): Likewise.
40697         * modules/locale (Makefile.am): Likewise.
40698         * modules/math (Makefile.am): Likewise.
40699         * modules/netdb (Makefile.am): Likewise.
40700         * modules/netinet_in (Makefile.am): Likewise.
40701         * modules/poll-h (Makefile.am): Likewise.
40702         * modules/pthread (Makefile.am): Likewise.
40703         * modules/pty (Makefile.am): Likewise.
40704         * modules/sched (Makefile.am): Likewise.
40705         * modules/search (Makefile.am): Likewise.
40706         * modules/selinux-h (Makefile.am): Likewise.
40707         * modules/signal (Makefile.am): Likewise.
40708         * modules/spawn (Makefile.am): Likewise.
40709         * modules/stdarg (Makefile.am): Likewise.
40710         * modules/stdbool (Makefile.am): Likewise.
40711         * modules/stddef (Makefile.am): Likewise.
40712         * modules/stdint (Makefile.am): Likewise.
40713         * modules/stdio (Makefile.am): Likewise.
40714         * modules/stdlib (Makefile.am): Likewise.
40715         * modules/string (Makefile.am): Likewise.
40716         * modules/strings (Makefile.am): Likewise.
40717         * modules/sys_file (Makefile.am): Likewise.
40718         * modules/sys_ioctl (Makefile.am): Likewise.
40719         * modules/sys_select (Makefile.am): Likewise.
40720         * modules/sys_socket (Makefile.am): Likewise.
40721         * modules/sys_stat (Makefile.am): Likewise.
40722         * modules/sys_time (Makefile.am): Likewise.
40723         * modules/sys_times (Makefile.am): Likewise.
40724         * modules/sys_utsname (Makefile.am): Likewise.
40725         * modules/sys_wait (Makefile.am): Likewise.
40726         * modules/sysexits (Makefile.am): Likewise.
40727         * modules/termios (Makefile.am): Likewise.
40728         * modules/time (Makefile.am): Likewise.
40729         * modules/unistd (Makefile.am): Likewise.
40730         * modules/wchar (Makefile.am): Likewise.
40731         * modules/wctype-h (Makefile.am): Likewise.
40732         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
40734 2011-04-05  Bruno Haible  <bruno@clisp.org>
40736         pipe2: Relicense under LGPLv2+.
40737         * modules/pipe2 (License): Change to LGPLv2+.
40738         Requested by Eric Blake, for libvirt.
40740 2011-04-05  Bruce Korb  <bkorb@gnu.org>
40742         bootstrap: compute gnulib_extra_files after updating build_aux
40743         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
40744         change build_aux or also supply gnulib_extra_files.  Handle correctly.
40746 2011-04-05  Eric Blake  <eblake@redhat.com>
40748         bootstrap: preserve git whitelist item sorting
40749         * build-aux/bootstrap (sort_patterns): New function.
40750         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
40752 2011-04-05  Simon Josefsson  <simon@josefsson.org>
40754         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
40755         sc_space_tab check.
40757 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
40759         areadlink, areadlinkat: rewrite in terms of careadlinkat
40760         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
40761         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
40762         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
40763         (malloc, realloc): Remove #undefs.
40764         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
40765         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
40766         readlink, ssize_t, stdint, unistd.
40767         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
40768         areadlink, stdint.
40770         careadlinkat: new module
40771         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
40772         * modules/careadlinkat: New files, written by me with
40773         a review and feedback from Ben Pfaff in
40774         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
40776 2011-04-01  Bruno Haible  <bruno@clisp.org>
40778         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
40779         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
40780         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
40781         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
40782         Reported by Bruce Korb <bruce.korb@gmail.com>.
40784 2011-04-01  Bruno Haible  <bruno@clisp.org>
40786         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
40787         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
40788         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
40789         * modules/wcpcpy (Depends-on): Add extensions.
40790         * modules/wcpncpy (Depends-on): Likewise.
40791         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
40792         systems.
40793         * doc/posix-functions/wcpncpy.texi: Likewise.
40794         * doc/posix-functions/wcwidth.texi: Likewise.
40796 2011-03-31  Eric Blake  <eblake@redhat.com>
40798         nonblocking: fix mingw test failures
40799         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
40800         non-blocking flag on regular file.
40801         (get_nonblocking_flag): Set errno on invalid fd.
40802         * tests/test-nonblocking.c (main): Avoid test failure on
40803         directories if fchdir is not active.
40804         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
40806 2011-03-31  Bruno Haible  <bruno@clisp.org>
40808         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
40809         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
40810         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
40811         Reported by Simon Josefsson <simon@josefsson.org>.
40813 2011-03-31  Bruno Haible  <bruno@clisp.org>
40814         and Eric Blake  <eblake@redhat.com>
40816         nonblocking: new module
40817         * modules/nonblocking: New module.
40818         * modules/nonblocking-tests: Likewise.
40819         * lib/nonblocking.h: New file.
40820         * lib/nonblocking.c: Likewise.
40821         * tests/test-nonblocking.c: New test.
40822         * lib/ioctl.c (ioctl) [mingw]: Update comment.
40824 2011-03-30  Bruno Haible  <bruno@clisp.org>
40826         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
40827         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
40828         instead of 'printf' format for GCC >= 4.4.
40829         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
40830         (fprintf, printf, vfprintf, vprintf): Declare with
40831         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
40832         the system's vfprintf() function.
40833         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
40835 2011-03-30  Eric Blake  <eblake@redhat.com>
40837         passfd: fix scoping bug
40838         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
40839         before sendmsg/recvmsg.
40841         passfd: standardize coding conventions
40842         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
40843         can be learned at compile time.
40844         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
40845         ifdefs.
40846         (sendfd, recvfd): Follow gnulib code conventions.
40848         passfd: fix incorrect sendmsg arguments
40849         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
40850         incorrect msg_controllen value.
40851         * modules/passfd-tests (Depends-on): Check for alarm.
40852         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
40853         Reported by Bastien ROUCARIES.
40855 2011-03-30  Bruno Haible  <bruno@clisp.org>
40857         c-strcasestr: Relicense under LGPLv2+.
40858         * modules/c-strcasestr (License): Change to LGPLv2+.
40859         Requested by Eric Blake, for libvirt.
40861 2011-03-30  Simon Josefsson  <simon@josefsson.org>
40863         * users.txt: Add libidn2.  Fix libtasn1 link.
40865 2011-03-30  Jim Meyering  <meyering@redhat.com>
40867         tests: readlink* ("",... fails with EINVAL on newer kernels
40868         readlink and readlinkat have typically failed with ENOENT for
40869         the invalid, empty file name,  "".  However, with the advent
40870         of linux-2.6.39, they fail with EINVAL.
40871         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
40872         when operating on the empty file name.
40873         * tests/test-readlink.h (test_readlink): Likewise.
40875 2011-03-29  Bruno Haible  <bruno@clisp.org>
40877         Relicense some modules under LGPLv2+, for libidn2.
40878         * modules/array-mergesort (License): Change to LGPLv2+.
40879         * modules/c-strcaseeq (License): Likewise.
40880         * modules/striconveh (License): Likewise.
40881         * modules/striconveha (License): Likewise.
40882         * modules/uniconv/base (License): Likewise.
40883         * modules/uniconv/u8-conv-from-enc (License): Likewise.
40884         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
40885         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
40886         * modules/unictype/base (License): Likewise.
40887         * modules/unictype/bidiclass-of (License): Likewise.
40888         * modules/unictype/category-M (License): Likewise.
40889         * modules/unictype/category-none (License): Likewise.
40890         * modules/unictype/category-of (License): Likewise.
40891         * modules/unictype/category-test (License): Likewise.
40892         * modules/unictype/category-test-withtable (License): Likewise.
40893         * modules/unictype/combining-class (License): Likewise.
40894         * modules/unictype/joiningtype-of (License): Likewise.
40895         * modules/unictype/scripts (License): Likewise.
40896         * modules/uninorm/base (License): Likewise.
40897         * modules/uninorm/canonical-decomposition (License): Likewise.
40898         * modules/uninorm/composition (License): Likewise.
40899         * modules/uninorm/decompose-internal (License): Likewise.
40900         * modules/uninorm/decomposition-table (License): Likewise.
40901         * modules/uninorm/nfc (License): Likewise.
40902         * modules/uninorm/nfd (License): Likewise.
40903         * modules/uninorm/u32-normalize (License): Likewise.
40904         * modules/unistr/base (License): Likewise.
40905         * modules/unistr/u32-cpy (License): Likewise.
40906         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
40907         * modules/unistr/u32-to-u8 (License): Likewise.
40908         * modules/unistr/u32-uctomb (License): Likewise.
40909         * modules/unistr/u8-check (License): Likewise.
40910         * modules/unistr/u8-mblen (License): Likewise.
40911         * modules/unistr/u8-mbtouc (License): Likewise.
40912         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
40913         * modules/unistr/u8-mbtoucr (License): Likewise.
40914         * modules/unistr/u8-prev (License): Likewise.
40915         * modules/unistr/u8-strlen (License): Likewise.
40916         * modules/unistr/u8-to-u32 (License): Likewise.
40917         * modules/unistr/u8-uctomb (License): Likewise.
40918         * modules/unitypes (License): Likewise.
40919         Requested by Simon Josefsson.
40921 2011-03-29  Simon Josefsson  <simon@josefsson.org>
40923         lib-symbol-visibility: Add a notice.
40924         * modules/lib-symbol-visibility (Notice): New field.
40926 2011-03-29  Bruno Haible  <bruno@clisp.org>
40928         getaddrinfo: Doc fix.
40929         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
40930         section "fixed in Gnulib".
40932 2011-03-28  Simon Josefsson  <simon@josefsson.org>
40934         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
40935         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
40937 2011-03-26  Bruno Haible  <bruno@clisp.org>
40939         unictype/property-byname: Reduce the number of load-time relocations.
40940         * lib/unictype/pr_byname.c: Include <stdlib.h>.
40941         (UC_PROPERTY_INDEX_*): New enumeration values.
40942         (uc_property_byname): Convert an index from the lookup table to an
40943         uc_property_t.
40944         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
40945         values.
40947 2011-03-26  Bruno Haible  <bruno@clisp.org>
40949         unictype/property-byname: Allow omitted word separators and aliases.
40950         * lib/unictype/pr_byname.gperf: Add property names without word
40951         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
40952         for 'space'.
40954 2011-03-26  Bruno Haible  <bruno@clisp.org>
40956         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
40957         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
40958         also hyphens to space.
40959         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
40960         without spaces.
40961         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
40963 2011-03-26  Bruno Haible  <bruno@clisp.org>
40965         unictype/joiningtype-byname: Recognize long names as well.
40966         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
40967         a long name.
40968         * lib/unictype/joiningtype_byname.c: Include <string.h>,
40969         unictype/joiningtype_byname.h.
40970         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
40971         * lib/unictype/joiningtype_byname.gperf: New file.
40972         * modules/unictype/joiningtype-byname (Files): Add
40973         lib/unictype/joiningtype_byname.gperf.
40974         (Depends-on): Add gperf.
40975         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
40976         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
40977         long names.
40979         Tests for module 'unictype/joiningtype-longname'.
40980         * modules/unictype/joiningtype-longname-tests: New file.
40981         * tests/unictype/test-joiningtype_longname.c: New file.
40983         New module 'unictype/joiningtype-longname'.
40984         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
40985         * lib/unictype/joiningtype_longname.c: New file.
40986         * modules/unictype/joiningtype-longname: New file.
40987         * modules/unictype/joiningtype-all (Depends-on): Add
40988         unictype/joiningtype-longname.
40990 2011-03-26  Bruno Haible  <bruno@clisp.org>
40992         unictype/bidiclass-byname: Recognize long names as well.
40993         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
40994         name.
40995         * lib/unictype/bidi_byname.c: Include <string.h>,
40996         unictype/bidi_byname.h.
40997         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
40998         * lib/unictype/bidi_byname.gperf: New file.
40999         * modules/unictype/bidiclass-byname (Files): Add
41000         lib/unictype/bidi_byname.gperf.
41001         (Depends-on): Add gperf.
41002         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
41003         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
41004         long names.
41006         Tests for module 'unictype/bidiclass-longname'.
41007         * modules/unictype/bidiclass-longname-tests: New file.
41008         * tests/unictype/test-bidi_longname.c: New file.
41010         New module 'unictype/bidiclass-longname'.
41011         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
41012         * lib/unictype/bidi_longname.c: New file.
41013         * modules/unictype/bidiclass-longname: New file.
41014         * modules/unictype/bidiclass-all (Depends-on): Add
41015         unictype/bidiclass-longname.
41017 2011-03-26  Bruno Haible  <bruno@clisp.org>
41019         unictype/bidi*: Rename modules.
41020         * modules/unictype/bidiclass-all: Renamed from
41021         modules/unictype/bidicategory-all.
41022         * modules/unictype/bidiclass-name: Renamed from
41023         modules/unictype/bidiclass-name.
41024         (Description): Update.
41025         * modules/unictype/bidiclass-name-tests: Renamed from
41026         modules/unictype/bidicategory-name-tests.
41027         * modules/unictype/bidiclass-byname: Renamed from
41028         modules/unictype/bidicategory-byname.
41029         (Description): Update.
41030         * modules/unictype/bidiclass-byname-tests: Renamed from
41031         modules/unictype/bidicategory-byname-tests.
41032         * modules/unictype/bidiclass-of: Renamed from
41033         modules/unictype/bidicategory-of.
41034         (Description): Update.
41035         * modules/unictype/bidiclass-of-tests: Renamed from
41036         modules/unictype/bidicategory-of-tests.
41037         * modules/unictype/bidiclass-test: Renamed from
41038         modules/unictype/bidicategory-test.
41039         (Description): Update.
41040         * modules/unictype/bidiclass-test-tests: Renamed from
41041         modules/unictype/bidicategory-test-tests.
41042         * modules/unictype/bidicategory-all: New file, a simple redirection.
41043         * modules/unictype/bidicategory-name: Likewise.
41044         * modules/unictype/bidicategory-byname: Likewise.
41045         * modules/unictype/bidicategory-of: Likewise.
41046         * modules/unictype/bidicategory-test: Likewise.
41047         * modules/unictype/property-bidi-* (Dependencies): Update.
41048         * lib/unictype/bidi_*.c: Update comment.
41050 2011-03-26  Bruno Haible  <bruno@clisp.org>
41052         unictype/bidi*: Rename functions, part 2.
41053         * modules/unictype/bidicategory-name (configure.ac): Update required
41054         libunistring version.
41055         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
41057 2011-03-25  Bruno Haible  <bruno@clisp.org>
41059         New module 'unictype/combining-class-all'.
41060         * modules/unictype/combining-class-all: New file.
41062         Tests for module 'unictype/combining-class-byname'.
41063         * modules/unictype/combining-class-byname-tests: New file.
41064         * tests/unictype/test-combiningclass_byname.c: New file.
41066         New module 'unictype/combining-class-byname'.
41067         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
41068         * lib/unictype/combiningclass_byname.c: New file.
41069         * lib/unictype/combiningclass_byname.gperf: New file.
41070         * modules/unictype/combining-class-byname: New file.
41072         Tests for module 'unictype/combining-class-longname'.
41073         * modules/unictype/combining-class-longname-tests: New file.
41074         * tests/unictype/test-combiningclass_longname.c: New file.
41076         New module 'unictype/combining-class-longname'.
41077         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
41078         * lib/unictype/combiningclass_longname.c: New file.
41079         * modules/unictype/combining-class-longname: New file.
41081         Tests for module 'unictype/combining-class-name'.
41082         * modules/unictype/combining-class-name-tests: New file.
41083         * tests/unictype/test-combiningclass_name.c: New file.
41085         New module 'unictype/combining-class-name'.
41086         * lib/unictype.in.h (uc_combining_class_name): New declaration.
41087         * lib/unictype/combiningclass_name.c: New file.
41088         * modules/unictype/combining-class-name: New file.
41090 2011-03-25  Bruno Haible  <bruno@clisp.org>
41092         unictype/combining-class: Rename source files.
41093         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
41094         of unictype/combining.h.
41095         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
41096         Update.
41097         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
41098         * modules/unictype/combining-class (Description): Fix.
41099         (Files, Makefile.am): Update.
41100         * tests/unictype/test-combiningclass.c: Renamed from
41101         tests/unictype/test-combining.c.
41102         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
41104 2011-03-25  Bruno Haible  <bruno@clisp.org>
41106         unictype: Update list of canonical combining classes.
41107         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
41109 2011-03-25  Bruno Haible  <bruno@clisp.org>
41111         unictype/category-byname: Recognize long names as well.
41112         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
41113         a long name.
41114         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
41115         unictype/categ_byname.h.
41116         (UC_CATEGORY_INDEX_*): New enumeration values.
41117         (uc_general_category_byname): Use uc_general_category_lookup and
41118         convert from index to value.
41119         * lib/unictype/categ_byname.gperf: New file.
41120         * modules/unictype/category-byname (Files): Add
41121         lib/unictype/categ_byname.gperf.
41122         (Depends-on): Add gperf.
41123         (Makefile.am): Add rule for generating unictype/categ_byname.h.
41124         * tests/unictype/test-categ_byname.c (main): Test the recognition of
41125         long names.
41127         Tests for module 'unictype/category-longname'.
41128         * modules/unictype/category-longname-tests: New file.
41129         * tests/unictype/test-categ_longname.c: New file.
41131         New module 'unictype/category-longname'.
41132         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
41133         * lib/unictype/categ_longname.c: New file.
41134         * modules/unictype/category-longname: New file.
41135         * modules/unictype/category-all (Depends-on): Add it.
41137 2011-03-25  Bruno Haible  <bruno@clisp.org>
41139         Tests for module 'unictype/category-LC'.
41140         * modules/unictype/category-LC-tests: New file.
41141         * tests/unictype/test-categ_LC.c: New file, automatically generated.
41143         New module 'unictype/category-LC'.
41144         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
41145         (UC_CATEGORY_LC): New declaration.
41146         (UC_CASED_LETTER): New macro.
41147         * lib/gen-uni-tables.c (is_category_LC): New function.
41148         (output_categories): Also handle category LC.
41149         (UC_CATEGORY_MASK_LC): New enumeration value.
41150         (general_category_byname): Also handle category LC.
41151         * lib/unictype/categ_LC.c: New file.
41152         * lib/unictype/categ_LC.h: New file, automatically generated.
41153         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
41154         category LC.
41155         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
41156         * modules/unictype/category-LC: New file.
41157         * modules/unictype/category-byname (Depends-on): Add
41158         unictype/category-LC.
41159         * modules/unictype/category-all (Depends-on): Likewise.
41161 2011-03-25  Eric Blake  <eblake@redhat.com>
41163         xmalloc: revert yesterday's regression
41164         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
41165         realloc's underlying behavior (allowing allocation of zero-size
41166         objects, especially if malloc-gnu is also in use).
41168 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
41170         maint.mk: add missing version to VC-tag
41171         * top/maint.mk: git tag was missing actual tag name; add it.
41173         valgrind: do leak checking, and exit with code 1 on error (not 0)
41174         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
41175         to VALGRIND.
41177 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
41179         posix-modules: say what it does.
41180         * posix-modules: Add a line to the --help output saying what it does.
41182 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
41184         xmalloc: Do not leak if underlying realloc is C99 compatible.
41185         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
41186         This avoids a leak on C99-based systems.  See
41187         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
41189 2011-03-24  Eric Blake  <eblake@redhat.com>
41191         realloc: document portability problem
41192         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
41193         passing 0 size to realloc.
41195 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
41197         doc: update users.txt
41198         * users.txt: Add cvsps, tmpwatch
41200 2011-03-23  Matt Rice  <ratmice@gmail.com>
41202         doc: update users.txt
41203         * users.txt: Add gdb.
41205 2011-03-23  Jim Meyering  <meyering@redhat.com>
41207         doc: update users.txt
41208         Looking through matches up to the following URL (there are still
41209         several more pages), I found several projects that use gnulib:
41210         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
41211         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
41212         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
41214 2011-03-22  Bruno Haible  <bruno@clisp.org>
41216         unictype/bidi*: Rename functions.
41217         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
41218         uc_bidi_class, uc_is_bidi_class): New declarations.
41219         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
41220         uc_bidi_category_byname.
41221         (uc_bidi_category_byname): New function.
41222         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
41223         u_bidi_category_name.
41224         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
41225         (uc_bidi_category_name): New function.
41226         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
41227         uc_bidi_category.
41228         (uc_bidi_category): New function.
41229         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
41230         uc_is_bidi_category. Invoke uc_bidi_class.
41231         (uc_is_bidi_category): New function.
41232         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
41233         instead of uc_bidi_category_byname.
41234         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
41235         instead of uc_bidi_category_name.
41236         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
41237         uc_bidi_category.
41238         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
41239         instead of uc_is_bidi_category.
41241 2011-03-21  Bruno Haible  <bruno@clisp.org>
41243         New module 'unictype/joininggroup-all'.
41244         * modules/unictype/joininggroup-all: New file.
41246         Tests for module 'unictype/joininggroup-of'.
41247         * modules/unictype/joininggroup-of-tests: New file.
41248         * tests/unictype/test-joininggroup_of.c: New file.
41249         * tests/unictype/test-joininggroup_of.h: New file, automatically
41250         generated by gen-uni-tables.
41252         New module 'unictype/joininggroup-of'.
41253         * modules/unictype/joininggroup-of: New file.
41254         * lib/unictype/joininggroup_of.c: New file.
41255         * lib/unictype/joininggroup_of.h: New file, automatically generated by
41256         gen-uni-tables.
41258         Tests for module 'unictype/joininggroup-byname'.
41259         * modules/unictype/joininggroup-byname-tests: New file.
41260         * tests/unictype/test-joininggroup_byname.c: New file.
41262         New module 'unictype/joininggroup-byname'.
41263         * modules/unictype/joininggroup-byname: New file.
41264         * lib/unictype/joininggroup_byname.c: New file.
41265         * lib/unictype/joininggroup_byname.gperf: New file.
41267         Tests for module 'unictype/joininggroup-name'.
41268         * modules/unictype/joininggroup-name-tests: New file.
41269         * tests/unictype/test-joininggroup_name.c: New file.
41271         New module 'unictype/joininggroup-name'.
41272         * modules/unictype/joininggroup-name: New file.
41273         * lib/unictype/joininggroup_name.c: New file.
41274         * lib/unictype/joininggroup_name.h: New file.
41276         New module 'unictype/joiningtype-all'.
41277         * modules/unictype/joiningtype-all: New file.
41279         Tests for module 'unictype/joiningtype-of'.
41280         * modules/unictype/joiningtype-of-tests: New file.
41281         * tests/unictype/test-joiningtype_of.c: New file.
41282         * tests/unictype/test-joiningtype_of.h: New file, automatically
41283         generated by gen-uni-tables.
41285         New module 'unictype/joiningtype-of'.
41286         * modules/unictype/joiningtype-of: New file.
41287         * lib/unictype/joiningtype_of.c: New file.
41288         * lib/unictype/joiningtype_of.h: New file, automatically generated by
41289         gen-uni-tables.
41291         Tests for module 'unictype/joiningtype-byname'.
41292         * modules/unictype/joiningtype-byname-tests: New file.
41293         * tests/unictype/test-joiningtype_byname.c: New file.
41295         New module 'unictype/joiningtype-byname'.
41296         * modules/unictype/joiningtype-byname: New file.
41297         * lib/unictype/joiningtype_byname.c: New file.
41299         Tests for module 'unictype/joiningtype-name'.
41300         * modules/unictype/joiningtype-name-tests: New file.
41301         * tests/unictype/test-joiningtype_name.c: New file.
41303         New module 'unictype/joiningtype-name'.
41304         * modules/unictype/joiningtype-name: New file.
41305         * lib/unictype/joiningtype_name.c: New file.
41307         unictype: Add support for Arabic shaping properties.
41308         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
41309         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
41310         declarations.
41311         (UC_JOINING_GROUP_*): New enumeration values.
41312         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
41313         declarations.
41314         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
41315         (unicode_joining_type): New variable.
41316         (UC_JOINING_GROUP_*): New enumeration values.
41317         (unicode_joining_group): New variable.
41318         (fill_arabicshaping, joining_type_as_c_identifier,
41319         output_joining_type_test, output_joining_type,
41320         joining_group_as_c_identifier, output_joining_group_test,
41321         output_joining_group): New functions.
41322         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
41323         fill_arabicshaping and output_joining_type_test, output_joining_type,
41324         output_joining_group_test, output_joining_group.
41325         Reported by Simon Josefsson.
41327 2011-03-21  Jim Meyering  <meyering@redhat.com>
41329         strftime: fix a bug in yesterday's change
41330         * lib/strftime.c (add): Accommodate width's initial value of -1.
41331         Otherwise, nstrftime would copy uninitialized data into
41332         the result buffer.
41334 2011-03-21  Jim Meyering  <meyering@redhat.com>
41336         tests: add strftime-tests module
41337         * tests/test-strftime.c: New file.
41338         * modules/strftime-tests: New module.
41340 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41342         strftime: don't assume a byte count fits in 'int'
41343         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
41344         found this problem by static analysis, using gcc -Wstrict-overflow
41345         (GCC 4.5.2, x86-64).  This reported an optimization that depended
41346         on an integer overflow having undefined behavior, but it turns out
41347         that the argument is a size, which might not fit in 'int' anyway,
41349 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41351         stdio: don't require ignore_value around fwrite
41353         This patch works around libc bug 11959
41354         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
41355         Without this patch, applications must often write
41356         ignore_value (fwrite (...)) even though the ignore_value is
41357         not helpful here.  It's common to write many objects, using
41358         fwrite/printf/etc., and then use ferror to detect output error.
41360         I considered making this patch optional, but decided against it,
41361         because libc is obviously being inconsistent here: there is no
41362         reason libc should insist that user code must inspect fwrite
41363         return's value without also insisting that it inspect printf's,
41364         putchar's, etc.  If user code wants to have a strict style where
41365         all these functions' values are checked (so that ferror need not
41366         be checked), we could add support for that style in a new gnulib
41367         module, but in the meantime it's better to be consistent and to
41368         support common usage.
41370         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
41371         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
41372         that we are compiling in checking mode, and if not C++, and
41373         if not already wrapping fwrite for some other reason.
41374         (fwrite): #define to rpl_fwrite if the latter is defined.
41376 2011-03-20  Bruno Haible  <bruno@clisp.org>
41378         verror: Fix compilation error introduced on 2011-02-13.
41379         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
41380         instead of __attribute__.
41381         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41383 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
41384             Bruno Haible  <bruno@clisp.org>
41386         socklen: do not depend on sys_socket
41387         While trying to modify Emacs to use gnulib's socklen module,
41388         I discovered a circular dependency: socklen depends on sys_socket
41389         and vice versa.  Emacs can use socklen, but it does not need
41390         sys_socket because it has its own substitute for sys/socket.h.
41391         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
41392         gl_TYPE_SOCKLEN_T.
41393         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
41394         gl_PREREQ_SYS_H_SOCKET.
41395         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
41396         gl_PREREQ_SYS_H_SOCKET.
41397         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
41398         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
41399         * modules/socklen (Depends-on): Do not depend on sys_socket.
41400         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
41402 2011-03-20  Jim Meyering  <meyering@redhat.com>
41404         maint.mk: sort file names *after* new transformation
41405         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
41406         prefix would have led to an unwarranted failure in GNU parted.
41407         Sort after that transformation.
41409 2011-03-19  Jim Meyering  <meyering@redhat.com>
41411         maint.mk: fix po-file syntax-check rule
41412         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
41413         Patch by Bruno Haible.
41415 2011-03-19  Bruno Haible  <bruno@clisp.org>
41417         socklen: Update comment.
41418         * m4/socklen.m4: Update comment about platforms.
41420 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41421             Bruno Haible  <bruno@clisp.org>
41423         inet_ntop, inet_pton: Simplify.
41424         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
41425         documented to provide socklen_t and we already depend on sys_socket.
41426         * modules/inet_pton (Depends-on): Likewise.
41427         * lib/arpa_inet.in.h: Adjust comment.
41429 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41430             Bruno Haible  <bruno@clisp.org>
41432         netdb: Simplify.
41433         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
41434         documented to provide socklen_t and we already depend on sys_socket.
41435         * lib/netdb.in.h: Adjust comment.
41437 2011-03-19  Bruno Haible  <bruno@clisp.org>
41439         sys_socket, netdb: Document problem with socklen_t.
41440         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
41441         platforms.
41442         * doc/posix-headers/netdb.texi: Likewise.
41444 2011-03-18  Eric Blake  <eblake@redhat.com>
41446         maint.mk: let po check work in VPATH build
41447         * top/maint.mk (po_file): Allow cfg.mk override.
41448         (sc_po_check): Allow VPATH use.
41449         Reported by Jiri Denemark.
41451 2011-03-16  Jim Meyering  <meyering@redhat.com>
41453         maint.mk: allow fine-grained syntax-check exclusion via Make variables
41454         Before, you would have had to create one .x-sc_ file per rule in order
41455         to exempt offending files.  Now, you may instead use a Make variable --
41456         usually defined in cfg.mk -- whose name identifies the affected rule.
41457         * top/maint.mk (_sc_excl): Define.
41458         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
41459         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
41461 2011-03-13  Bruno Haible  <bruno@clisp.org>
41463         ignore-value tests: Avoid warnings.
41464         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
41465         empty for gcc < 3.4.
41467 2011-03-13  Bruno Haible  <bruno@clisp.org>
41469         passfd: Fix link error on Solaris.
41470         * modules/passfd (Description): Correct.
41471         (Depends-on): Add socketlib.
41472         (Link): New section.
41473         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
41475 2011-03-13  Bruno Haible  <bruno@clisp.org>
41477         passfd: Fix link error on AIX 5.2.
41478         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
41480 2011-03-13  Bruno Haible  <bruno@clisp.org>
41482         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
41483         * lib/sys_socket.in.h: Include <stddef.h>.
41484         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
41485         CMSG_FIRSTHDR. Remove unused variable.
41487 2011-03-13  Bruno Haible  <bruno@clisp.org>
41489         passfd: Fix compilation error on OpenBSD.
41490         * lib/passfd.c: Include <sys/uio.h>.
41492 2011-03-13  Bruno Haible  <bruno@clisp.org>
41494         passfd test: Fix warnings.
41495         * tests/test-passfd.c: Include <sys/wait.h>.
41496         (main): Fix typo.
41498 2011-03-13  Bruno Haible  <bruno@clisp.org>
41500         passfd module, part 4, tweaks.
41501         * tests/test-passfd.c: Reorder includes.
41502         (main): Fix perror and printf calls.
41504 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41506         passfd module, part 4.
41507         * modules/passfd-tests: New file.
41508         * tests/test-passfd.c: New file.
41510 2011-03-13  Jim Meyering  <meyering@redhat.com>
41512         Makefile: rely on GNU make; derive syntax-check rule names
41513         Rather than requiring that each sc_ rule be listed as a dependent
41514         of "check", use features of GNU make to derive the list.
41515         * Makefile (syntax-check-rules): Define.
41516         (check): Depend on the new variable, not the hard-coded list.
41518 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
41519             Bruno Haible  <bruno@clisp.org>
41521         passfd module, part 3.
41522         * lib/passfd.h (recvfd): Add a flags argument.
41523         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
41524         (recvfd): Add a flags argument.
41525         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
41526         exists.
41527         * modules/passfd (Depends-on): Add cloexec.
41528         Suggested by Eric Blake.
41530 2011-03-13  Bruno Haible  <bruno@clisp.org>
41532         passfd module, part 2, tweaks.
41533         * modules/passfd (Files): Reorder.
41534         (Depends-on): Remove errno.
41535         (Include): Remove <sys/socket.h>, <sys/un.h>.
41536         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
41537         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
41538         specification header. Include <sys/socket.h> always. Don't include
41539         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
41540         (sendfd): Clarify that it sets errno when it fails.
41541         (recvfd): Fix specification.
41543 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41545         passfd module, part 2.
41546         * modules/passfd: New file.
41547         * lib/passfd.h: New file.
41548         * lib/passfd.c: New file.
41550 2011-03-12  Bruno Haible  <bruno@clisp.org>
41552         wcswidth, mbswidth: Avoid integer overflow.
41553         * lib/wcswidth.c: Include <limits.h>.
41554         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
41555         * lib/mbswidth.c: Include <limits.h>.
41556         (mbsnwidth): Avoid 'int' overflow.
41557         Reported by Jim Meyering.
41559 2011-03-12  Bruno Haible  <bruno@clisp.org>
41561         futimens, utimensat: Avoid endless recursion on Solaris 10.
41562         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
41563         Solaris.
41564         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
41565         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
41567 2011-03-11  Jim Meyering  <meyering@redhat.com>
41569         maint.mk: relax a regexp to accommodate other formatting styles
41570         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
41571         between "ngettext" and the following "(".
41573 2011-03-11  Pádraig Brady  <P@draigBrady.com>
41575         maint.mk: suppress a false positive warning
41576         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
41577         diagnostics are marked with ngettext.
41579 2011-03-10  Eric Blake  <eblake@redhat.com>
41581         wchar: add explicit dependencies, for Tru64
41582         * modules/mbmemcasecoll (Depends-on): Add wchar.
41583         * modules/mbtowc (Depends-on): Likewise.
41584         * modules/vasnprintf (Depends-on): Likewise.
41585         * modules/unistdio/u-printf-args (Depends-on): Likewise.
41586         * modules/wctomb (Depends-on): Likewise.
41587         Reported by Peter O'Gorman.
41589 2011-03-08  Bruno Haible  <bruno@clisp.org>
41591         passfd module, part 1, tweaks.
41592         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
41593         Improve indentation. Improve AC_MSG_CHECKING messages.
41594         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
41595         gl_SOCKET_FAMILIES.
41597 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
41599         passfd module, part 1.
41600         * m4/afunix.m4: New file.
41601         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
41602         sockets.
41604 2011-03-08  Bruno Haible  <bruno@clisp.org>
41606         regex-quote: New API.
41607         * lib/regex-quote.h: Include <stdbool.h>.
41608         (struct regex_quote_spec): New type.
41609         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41610         New declarations.
41611         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41612         'const struct regex_quote_spec *' argument.
41613         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
41614         (pcre_special): New constant.
41615         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
41616         New functions.
41617         (regex_quote_length, regex_quote_copy, regex_quote): Take a
41618         'const struct regex_quote_spec *' argument.
41619         * modules/regex-quote (Depends-on): Add stdbool.
41620         * tests/test-regex-quote.c (check): Update for new API. Add test for
41621         anchored results.
41622         * NEWS: Mention the API change.
41623         Reported by Reuben Thomas and Eric Blake.
41625 2011-03-06  Bruno Haible  <bruno@clisp.org>
41627         regex-quote: Fix creation of POSIX extended regular expressions.
41628         * lib/regex-quote.c (ere_special): Add grouping and alternation
41629         operators.
41631 2011-03-05  Bruno Haible  <bruno@clisp.org>
41633         doc: Improve doc regarding autopoint vs. gnulib.
41634         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
41635         disable autopoint while running autoreconf.
41636         Suggested by Ralf Wildenhues.
41638 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41640         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
41641         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
41643 2011-03-03  Bruce Korb  <bkorb@gnu.org>
41645         parse-duration: remove xalloc.h dependency
41646         * lib/parse-duration.c (parse_period): handle NULL return from
41647         strdup instead of calling xstrdup().
41648         * modules/parse-duration: remove "xalloc" dependency
41650 2011-03-03  Matthew Booth  <mbooth@redhat.com>
41652         bootstrap: honor m4_base when running aclocal
41653         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
41655 2011-03-02  Jim Meyering  <meyering@redhat.com>
41657         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
41658         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
41659         on request from Matt Booth.
41661 2011-03-01  Eric Blake  <eblake@redhat.com>
41663         test-link: work on Hurd
41664         * tests/test-link.h (test_link): Hurd rejects linking directories
41665         with EISDIR instead of the POSIX-mandated EPERM.
41667 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
41669         stdio: simplify by moving files to printf-posix, sigpipe
41670         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
41671         since this symbol is needed only if printf is replaced.
41672         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
41673         Require gl_ASM_SYMBOL_PREFIX.
41674         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
41675         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
41676         (Depends-on): Add 'raise'.
41677         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
41678         * modules/stdio (Files): Remove lib/stdio-write.c,
41679         m4/asm-underscore.m4.
41680         (Depends-on): Remove 'raise'.
41682         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
41683         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
41684         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
41685         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
41687 2011-02-28  Bruno Haible  <bruno@clisp.org>
41689         localcharset: Assume ANSI C behaviour of free().
41690         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
41691         calling free().
41692         Suggested by Simon Josefsson <simon@josefsson.org>.
41694 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
41695             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
41696             Bruno Haible  <bruno@clisp.org>  (tiny change)
41698         On Cygwin, use /proc file system instead of win32 API.
41699         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
41700         Win32 file names.
41701         (DllMain): Simplify by removing Cygwin specific code.
41702         (find_shared_library_fullname): Use Linux specific implementation also
41703         for Cygwin.
41704         (get_shared_library_fullname): Update accordingly.
41705         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
41706         Win32 file names.
41707         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
41708         Cygwin specific code.
41710 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
41711             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
41713         Fix OpenMP flag detection for various Fortran compilers.
41714         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
41715         OpenMP-conditional compilation construct, to force compile
41716         failure with missing OpenMP flag.
41717         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
41719 2011-02-25  Eric Blake  <eblake@redhat.com>
41721         strstr: expand test coverage
41722         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
41723         compilation.
41724         * tests/test-memmem.c (main): Duplicate tests.
41725         * tests/test-strcasestr.c (main): Likewise.
41726         * tests/test-c-strcasestr.c (main): Likewise.
41728 2011-02-25  Jim Meyering  <meyering@redhat.com>
41730         maint.mk: detect missing-NL-at-EOF, too
41731         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
41732         it also detects when a file lacks a newline at EOF.
41733         (require_exactly_one_NL_at_EOF_): Renamed from
41734         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
41735         since people may well have .x-sc_... file names tied to the
41736         existing name.  Suggested by Eric Blake.
41738 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
41740         dirname: move m4/dos.m4 functionality into lib/dosname.h
41742         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
41743         extracts symbols from it, puts them into config.h; but it's much
41744         easier to use the symbols directly.  filename.h already does this,
41745         but it disagrees with dos.m4 in some respects.  This patch
41746         introduces a different include file dosname.h that packages up
41747         dos.m4, and then later we can work on merging filename.h and
41748         dosname.h.  Applications that need only the easy-to-configure
41749         symbols should consider including dosname.h rather than dirname.h.
41750         * NEWS: Mention incompatible changes.
41751         * m4/dos.m4: Remove.
41752         * lib/dosname.h, modules/dosname: New files.
41753         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
41754         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
41755         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
41756         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
41757         Include dosname.h, not dirname.h.
41758         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
41759         Include dosname.h, for definitions of symbols like ISSLASH
41760         that used to be in config.h.
41761         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
41762         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41763         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41764         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41765         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
41766         * modules/rmdir (Files): Likewise.
41767         * modules/stat (Files): Likewise.
41768         * modules/unlink (Files): Likewise.
41769         * modules/dirname-lgpl (Depends-on): Add dosname.
41770         * modules/lstat (Depends-on): Likewise.
41771         * modules/openat (Depends-on): Likewise.
41772         * modules/rmdir (Depends-on): Likewise.
41773         * modules/savewd (Depends-on): Likewise.
41774         * modules/stat (Depends-on): Likewise.
41775         * modules/unlink (Depends-on): Likewise.
41776         * modules/openat (Depends-on): Remove dirname-lgpl.
41777         * modules/savewd (Depends-on): Likewise.
41778         * tests/test-dirname.c: Do not use removed symbols like
41779         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
41780         the remaining symbols, e.g., ISSLASH ('\\').
41782 2011-02-25  Eric Blake  <eblake@redhat.com>
41784         strstr: revert patches that introduced bug and pessimization
41785         * lib/str-two-way.h: Add another reference.
41786         (two_way_short_needle, two_way_long_needle): Revert changes from
41787         2011-02-24; they pessimize search speed.
41788         (critical_factorization): Partially revert changes from
41789         2010-06-22; they violate the requirement that the left half of the
41790         needle be smaller than the period of the needle.
41792 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
41794         filenamecat: remove unnecessary dependency on dirname-lgpl
41795         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
41796         is no direct dependency, just an indirect one via filenamecat-lgpl.
41798         remove: remove unnecessary use of m4/dos.m4
41799         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
41800         * modules/remove (FILES): Remove m4/dos.m4.
41802         * lib/openat-proc.c: Don't include dirname.h; not needed.
41804         backupfile: remove unnecessary use of m4/dos.m4
41805         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
41806         of its symbols are used by the backupfile code.  backupfile.c does
41807         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
41808         for the rare case of programs that want all their backup file
41809         names to live within 8+3 limits, and dos.m4 doesn't address that.
41810         * modules/backupfile (Files): Remove m4/dos.m4.
41812 2011-02-24  Jim Meyering  <meyering@redhat.com>
41814         strstr: fix a bug whereby strstr would mistakenly return NULL
41815         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
41816         in period calculation.
41817         (two_way_long_needle): Likewise.
41818         The original problem was reported by Mike Stump in
41819         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
41820         Ralf Wildenhues provided the short needle and haystack.
41821         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
41822         Add a more involved test to trigger the bug in two_way_long_needle.
41824 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
41826         gnulib-tool: remove use of bold display in help screen
41827         * gnulib-tool (func_usage): Do not use bold display anymore in the
41828         help screen.  That was just meant to be a temporary emphasis for a
41829         backward-incompatible change.
41831 2011-02-23  Bruno Haible  <bruno@clisp.org>
41833         Fix misindentation of preprocessor directives.
41834         * lib/argp-namefrob.h: Reindent preprocessor directives.
41835         * lib/getopt_int.h (struct _getopt_data): Likewise.
41836         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
41837         * lib/vasnprintf.c (decode_long_double): Likewise.
41838         * tests/test-argmatch.c: Insert blank lines, for clarity.
41839         * tests/test-exclude.c: Likewise.
41841 2011-02-22  Bruno Haible  <bruno@clisp.org>
41843         ioctl: Fix for MacOS X in 64-bit mode.
41844         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
41845         value.
41846         Suggested by Eric Blake.
41847         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
41849 2011-02-22  Jim Meyering  <meyering@redhat.com>
41851         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
41852         * Makefile (sc_cpp_indent_check): Don't limit the check to files
41853         in lib/.
41855 2011-02-22  Eric Blake  <eblake@redhat.com>
41857         maint: avoid any CDPATH issue
41858         * Makefile (sc_cpp_indent_check): Anchor cd argument.
41860         maint: adjust cpp indentation for my modules, as well
41861         * Makefile (sc_cpp_indent_check): Add my name.
41862         * lib/fbufmode.c: Filter through cppi.
41863         * lib/fpurge.c: Likewise.
41864         * lib/freadable.c: Likewise.
41865         * lib/freading.c: Likewise.
41866         * lib/fwritable.c: Likewise.
41867         * lib/fwriting.c: Likewise.
41868         * lib/sigaction.c: Likewise.
41870 2011-02-22  Jim Meyering  <meyering@redhat.com>
41872         maint: adjust cpp indentation to reflect nesting depth
41873         I.e., in a block of code that begins with an unnested "#if",
41874         put one space between the "#" in column 1 and following token.
41875         For example,
41876         -#include <sys/vfs.h>
41877         +# include <sys/vfs.h>
41878         Do this only in .c files that are part of a module I maintain.
41879         * lib/linkat.c: Filter through cppi.
41880         * lib/nanosleep.c: Likewise.
41881         * lib/openat.c: Likewise.
41882         * lib/openat-die.c: Likewise.
41883         * lib/dup3.c: Likewise.
41884         * lib/fchownat.c: Likewise.
41885         * lib/flock.c: Likewise.
41886         * lib/fsync.c: Likewise.
41887         * lib/fts.c: Likewise.
41888         * lib/getpass.c: Likewise.
41889         * lib/gettimeofday.c: Likewise.
41890         * lib/userspec.c: Likewise.
41891         * Makefile (sc_cpp_indent_check): New rule, to check this.
41893 2011-02-22  Bruno Haible  <bruno@clisp.org>
41895         New module 'wctomb'.
41896         * lib/stdlib.in.h (wctomb): New declaration.
41897         * lib/wctomb.c: New file.
41898         * lib/wctomb-impl.h: New file.
41899         * m4/wctomb.m4: New file.
41900         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
41901         REPLACE_WCTOMB.
41902         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
41903         REPLACE_WCTOMB.
41904         * modules/wctomb: New file.
41905         * tests/test-stdlib-c++.cc: Test signature of wctomb.
41906         * doc/posix-functions/wctomb.texi: Mention the new module.
41907         * modules/wctob (Depends-on): Add wctomb.
41909 2011-02-22  Bruno Haible  <bruno@clisp.org>
41911         New module 'mbtowc'.
41912         * lib/stdlib.in.h (mbtowc): New declaration.
41913         * lib/mbtowc.c: New file.
41914         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
41915         * m4/mbtowc.m4: New file.
41916         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
41917         REPLACE_MBTOWC.
41918         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
41919         REPLACE_MBTOWC.
41920         * modules/mbtowc: New file.
41921         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
41922         * doc/posix-functions/mbtowc.texi: Mention the new module.
41923         * modules/btowc (Depends-on): Add mbtowc.
41925 2011-02-22  Bruno Haible  <bruno@clisp.org>
41927         wcrtomb: Add more tests for native Windows platforms.
41928         * tests/test-wcrtomb-w32-1.sh: New file.
41929         * tests/test-wcrtomb-w32-2.sh: New file.
41930         * tests/test-wcrtomb-w32-3.sh: New file.
41931         * tests/test-wcrtomb-w32-4.sh: New file.
41932         * tests/test-wcrtomb-w32-5.sh: New file.
41933         * tests/test-wcrtomb-w32.c: New file.
41934         * modules/wcrtomb-tests (Files): Add them.
41935         (Makefile.am): Arrange to run these tests.
41936         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
41937         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
41939 2011-02-20  Bruno Haible  <bruno@clisp.org>
41941         wcrtomb: Enhance test.
41942         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
41944 2011-02-20  Bruno Haible  <bruno@clisp.org>
41946         mbrtowc: Tiny optimization.
41947         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
41949 2011-02-20  Jim Meyering  <meyering@redhat.com>
41951         test-exclude.c: remove unmatched #endif
41952         * tests/test-exclude.c: Remove stray #endif, left over from
41953         the change of a week ago.
41955 2011-02-19  Jim Meyering  <meyering@redhat.com>
41957         git-version-gen: skip "-dirty" check when appropriate
41958         * build-aux/git-version-gen: Don't run any git commands when the
41959         version string comes from .tarball-version.  Prior to this, we
41960         would run git update-index --refresh even from a just-unpacked
41961         tarball directory, and that could affect a .git/ directory in a
41962         parent of the build directory.  Reported by Mike Frysinger.
41964 2011-02-19  Bruno Haible  <bruno@clisp.org>
41966         unictype/property-byname: Reduce the size of the 'data' segment.
41967         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
41969 2011-02-19  Bruno Haible  <bruno@clisp.org>
41971         unictype/scripts: Reduce the size of the 'data' segment.
41972         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
41973         '%pic'.
41974         * lib/unictype/scripts_byname.gperf: Regenerated.
41976 2011-02-19  Bruno Haible  <bruno@clisp.org>
41978         stdint: Update documentation.
41979         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
41981 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
41983         stdint: omit redundant check for wchar.h
41984         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
41985         always tests whether wchar.h exists, so remove the now-redundant test.
41987 2011-02-18  Bruno Haible  <bruno@clisp.org>
41989         stdint: Cut dependency to module 'wchar'.
41990         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
41991         include the necessary prerequisites.
41992         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
41993         * modules/stdint (Depends-on): Remove wchar.
41994         (Makefile.am): Substitute HAVE_WCHAR_H.
41995         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
41997 2011-02-18  Eric Blake  <eblake@redhat.com>
41999         longlong: skip, rather than fail, on cross-compilation
42000         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
42001         when cross-compiling; regression from 2011-02-16.
42003 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
42005         * NEWS: Mention 2011-02-08 change to stdlib.
42007 2011-02-17  Bruno Haible  <bruno@clisp.org>
42009         getloadavg: Add comments about platforms.
42010         * m4/getloadavg.m4: Add comment.
42011         * lib/getloadavg.c: Likewise.
42013 2011-02-17  Bruno Haible  <bruno@clisp.org>
42015         getloadavg: Fix link error on Solaris 2.6.
42016         * modules/getloadavg (Link): New section.
42017         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
42018         linking test-getloadavg.
42019         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
42020         getloadavg.
42022 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
42024         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
42025         It was 'int', but this doesn't match the IRIX 6.5 manual.
42026         Suggested by Bruno Haible in
42027         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
42029 2011-02-17  Bruno Haible  <bruno@clisp.org>
42031         havelib: Fix comments.
42032         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
42033         change.
42035 2011-02-17  Bruno Haible  <bruno@clisp.org>
42037         havelib: Update config.rpath.
42038         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
42040 2011-02-17  Bruno Haible  <bruno@clisp.org>
42042         getloadavg test: Add some plausibility checks.
42043         * tests/test-getloadavg.c (check_avg): Print a warning when the value
42044         is improbable.
42046 2011-02-16  Eric Blake  <eblake@redhat.com>
42048         maintainer-makefile: make syntax-check a no-op from tarballs
42049         * top/maint.mk (no-vc-detected): New rule.
42050         (local-checks-available): Use it to avoid hanging if someone tries
42051         'make syntax-check' from a tarball.  Also append to any non-syntax
42052         checks already defined in cfg.mk.
42054 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
42056         longlong: tune, particularly for common case of c99
42058         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
42059         or running anything if c99, or if unsigned long long int does not
42060         work.  In either case, we know the answer without further tests.
42061         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
42062         it at most once, and use its results for both long long int and
42063         unsigned long long int.  This is more likely to be efficient in
42064         the common case where the program wants to check for both long
42065         long int and unsigned long long int.
42066         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
42067         since the answer is already known.
42069 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
42071         getloadavg: set errno
42072         * lib/getloadavg.c: Set errno when returning -1.  If no other
42073         error number looks appropriate, set it to ENOSYS if the getloadavg
42074         looks like it can't possibly ever work, ENOTSUP otherwise.
42075         Suggested by Bruno Haible in
42076         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
42078         getloadavg: trim unused parts and speed up 'configure'
42079         * NEWS: Document this.
42080         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
42081         always compiled if getloadavg is absent.
42082         Move test code to ...
42083         * tests/test-getloadavg.c: New file, containing previous
42084         contents of test from lib/getloadavg.c.  It also contains
42085         suggestions by Bruno Haible in
42086         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
42087         * modules/getloadavg-tests: New file.
42088         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
42089         Do tests in the same order as they're needed for getloadavg.c.
42090         Omit setgid-related tests that generate symbols KMEM_GROUP,
42091         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
42092         Do only the tests that are needed to see whether the system has
42093         getloadavg, moving the other tests into ...
42094         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
42095         NLIST_NAME_UNION; nobody should be using it.  Do not define
42096         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
42097         relevant, as the user of this module shouldn't care how getloadavg
42098         is implemented.
42100         getloadavg: omit unused var
42101         * lib/getloadavg.c (getloadavg): Omit unused local variable.
42103 2011-02-15  Jim Meyering  <meyering@redhat.com>
42105         doc: update users.txt
42106         * users.txt: Update iwhd's URL.
42108 2011-02-13  Bruno Haible  <bruno@clisp.org>
42110         Consistent macro naming for macros that use GCC __attribute__.
42111         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
42112         _ATTRIBUTE_NONNULL_.
42113         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
42114         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
42115         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
42116         ATTRIBUTE_DEPRECATED.
42117         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
42118         ATTRIBUTE_NORETURN.
42119         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42120         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42121         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42122         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
42123         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
42124         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
42125         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
42126         ATTRIBUTE_SENTINEL.
42127         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
42128         ATTRIBUTE_RETURN_CHECK.
42129         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
42130         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
42131         ATTRIBUTE_NORETURN.
42132         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
42133         Reported by Paul Eggert.
42135 2011-02-13  Bruno Haible  <bruno@clisp.org>
42137         Don't interfere with a program's definition of __attribute__.
42138         * lib/argp.h (__attribute__): Remove definition.
42139         (_GL_ATTRIBUTE_FORMAT): New macro.
42140         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
42141         * lib/argp-fmtstream.h (__attribute__): Remove definition.
42142         (_GL_ATTRIBUTE_FORMAT): New macro.
42143         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
42144         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
42145         GCC 3 or newer.
42146         * lib/error.h (__attribute__): Remove definition.
42147         (_GL_ATTRIBUTE_FORMAT): New macro.
42148         (error, error_at_line): Use it.
42149         * lib/hash.h (__attribute__): Remove definition.
42150         (ATTRIBUTE_WUR): Update definition. Define always.
42151         * lib/openat.h (__attribute__): Remove definition.
42152         (ATTRIBUTE_NORETURN): Update definition. Define always.
42153         * lib/sigpipe-die.h (__attribute__): Remove definition.
42154         (ATTRIBUTE_NORETURN): Update definition. Define always.
42155         * lib/vasnprintf.h (__attribute__): Remove definition.
42156         (_GL_ATTRIBUTE_FORMAT): New macro.
42157         (asnprintf, vasnprintf): Use it.
42158         * lib/xalloc.h (__attribute__): Remove definition.
42159         (ATTRIBUTE_NORETURN): Update definition. Define always.
42160         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
42161         * lib/xmemdup0.h (__attribute__): Remove definition.
42162         (ATTRIBUTE_NORETURN): Update definition. Define always.
42163         * lib/xprintf.h (__attribute__): Remove definition.
42164         (_GL_ATTRIBUTE_FORMAT): New macro.
42165         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
42166         * lib/xstrtol.h (__attribute__): Remove definition.
42167         (ATTRIBUTE_NORETURN): Update definition. Define always.
42168         * lib/xvasprintf.h (__attribute__): Remove definition.
42169         (_GL_ATTRIBUTE_FORMAT): New macro.
42170         (xasprintf, xvasprintf): Use it.
42171         * tests/test-argmatch.c (__attribute__): Remove definition.
42172         (ATTRIBUTE_NORETURN): Update definition. Define always.
42173         * tests/test-exclude.c (__attribute__): Remove definition.
42174         (ATTRIBUTE_NORETURN): Update definition. Define always.
42175         Reported by Paul Eggert.
42177 2011-02-13  Bruno Haible  <bruno@clisp.org>
42179         mbrtowc: Add more tests for native Windows platforms.
42180         * tests/test-mbrtowc-w32-1.sh: New file.
42181         * tests/test-mbrtowc-w32-2.sh: New file.
42182         * tests/test-mbrtowc-w32-3.sh: New file.
42183         * tests/test-mbrtowc-w32-4.sh: New file.
42184         * tests/test-mbrtowc-w32-5.sh: New file.
42185         * tests/test-mbrtowc-w32.c: New file.
42186         * modules/mbrtowc-tests (Files): Add them.
42187         (Makefile.am): Arrange to run these tests.
42188         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
42189         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
42191 2011-02-13  Bruno Haible  <bruno@clisp.org>
42193         mbrtowc: Work around native Windows bug.
42194         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
42195         guess when no suitable locale for testing was found.
42196         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
42198 2011-02-13  Bruno Haible  <bruno@clisp.org>
42200         mbsinit: Work around mingw bug.
42201         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
42202         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
42203         Windows.
42204         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
42206 2011-02-13  Bruno Haible  <bruno@clisp.org>
42208         mbsinit: Don't crash for a NULL argument.
42209         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
42210         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
42212 2011-02-13  Bruno Haible  <bruno@clisp.org>
42214         Don't interfere with a program's definition of __attribute__.
42215         * lib/stdio.in.h (__attribute__): Remove definition.
42216         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
42217         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
42218         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
42219         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
42220         * lib/string.in.h (__attribute__): Remove definition.
42221         Reported by Paul Eggert.
42223 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42225         stdlib: don't get in the way of non-GCC __attribute__
42226         See thread starting at
42227         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
42228         Revert previous stdlib change, installing the following instead:
42229         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
42230         to get in the way of a non-GCC compiler that supports __attribute__.
42231         (_GL_ATTRIBUTE_RETURN): New macro.
42232         (_Exit): Use it instead of __attribute__.
42234 2011-02-12  Bruno Haible  <bruno@clisp.org>
42236         quotearg test: Avoid test failure on mingw.
42237         * tests/test-quotearg.sh: Convert the locale identifier from native
42238         Windows syntax to Unix syntax.
42240 2011-02-12  Bruno Haible  <bruno@clisp.org>
42242         setlocale: Prefer gnulib's override over libintl's override.
42243         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
42244         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
42245         GNULIB_defined_setlocale is set.
42247 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42249         stdlib: support non-GCC __attribute__
42251         Fix a serious and tricky problem encountered when attempting to
42252         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
42253         5.5, but it crashed due to memory corruption on Solaris 10 with
42254         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
42255         bits that are otherwise zero.  This tagging is optional inside
42256         Emacs but is preferred and is used when __attribute__ ((__aligned
42257         (8))) works, as it does with both recent-enough GCC and with Sun C
42258         5.11.  However, Sun C 5.11 is not GCC and does not #define
42259         __GNUC__ and __GNUC_MINOR__.
42261         When I added the getloadavg module to Emacs, it brought in
42262         stdlib.in.h, which contained this fragment:
42264            #ifndef __attribute__
42265            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
42266            #  define __attribute__(Spec)   /* empty */
42267            # endif
42268            #endif
42270         When files that include <stdlib.h> were compiled with Sun C 5.11,
42271         the above code disabled __attribute__ ((__aligned (8))), which
42272         caused variables to not be properly aligned, which eventually led
42273         to the pointer corruption mentioned above.  (This was a bit hard
42274         to diagnose, unfortunately.)
42276         Several "#define __attribute__(X) /* empty */" code snippets need
42277         to be eradicated from Gnulib to work with non-GCC compilers that
42278         support __attribute__.  The Autoconf way to do this is to test for
42279         each kind of attribute that we want support for, and selectively
42280         enable that in source code.
42282         Fix this problem just for stdlib.h, by adding a test for the
42283         __noreturn__ attribute, and change stdlib.in.h to use that test
42284         when needed.  This technique can be easily generalized to the
42285         other *.in.h files and attributes, and a similar technique can be
42286         used for *.h and *.c files.  This patch is enough to solve the
42287         problem for Emacs + getloadavg, and I thought I'd publish it for
42288         feedback before undertaking further, similar fixes in other
42289         modules.
42291         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
42292         because it's not needed for stdlib.h.  It merely substitutes the
42293         value directly into stdlib.h.  We may well need to #define it, or
42294         similar symbols, for other modules, but it's nice to also have an
42295         option to not #define it for applications like Emacs that do not
42296         need it.
42298         * lib/stdlib.in.h (__attribute__): Do not #define.
42299         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
42300         be defined only if the _Exit module is also used.
42301         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
42302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
42303         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
42304         platforms.
42305         * modules/_Exit (Files): Add m4/attribute.m4.
42306         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
42307         * m4/attribute.m4: New file.
42309 2011-02-12  Bruno Haible  <bruno@clisp.org>
42311         wcsrtombs: Work around bug on native Windows.
42312         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
42313         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
42314         instead of len.
42315         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
42317 2011-02-12  Bruno Haible  <bruno@clisp.org>
42319         mbsrtowcs: Work around bug on native Windows.
42320         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
42321         against mingw bug.
42322         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
42324 2011-02-12  Bruno Haible  <bruno@clisp.org>
42326         Avoid setlocale bugs in tests.
42327         * modules/btowc (Dependencies): Add setlocale.
42328         * modules/c-strcase (Dependencies): Likewise.
42329         * modules/mbmemcasecmp (Dependencies): Likewise.
42330         * modules/mbmemcasecoll (Dependencies): Likewise.
42331         * modules/mbrtowc (Dependencies): Likewise.
42332         * modules/mbscasecmp (Dependencies): Likewise.
42333         * modules/mbscasestr (Dependencies): Likewise.
42334         * modules/mbschr (Dependencies): Likewise.
42335         * modules/mbscspn (Dependencies): Likewise.
42336         * modules/mbsinit (Dependencies): Likewise.
42337         * modules/mbsncasecmp (Dependencies): Likewise.
42338         * modules/mbsnrtowcs (Dependencies): Likewise.
42339         * modules/mbspbrk (Dependencies): Likewise.
42340         * modules/mbspcasecmp (Dependencies): Likewise.
42341         * modules/mbsrchr (Dependencies): Likewise.
42342         * modules/mbsrtowcs (Dependencies): Likewise.
42343         * modules/mbsspn (Dependencies): Likewise.
42344         * modules/mbsstr (Dependencies): Likewise.
42345         * modules/nl_langinfo (Dependencies): Likewise.
42346         * modules/quotearg (Dependencies): Likewise.
42347         * modules/unicase/locale-language (Dependencies): Likewise.
42348         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
42349         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
42350         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
42351         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
42352         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
42353         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
42354         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
42355         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
42356         * modules/vasnprintf-posix (Dependencies): Likewise.
42357         * modules/wcrtomb (Dependencies): Likewise.
42358         * modules/wcsnrtombs (Dependencies): Likewise.
42359         * modules/wcsrtombs (Dependencies): Likewise.
42361 2011-02-12  Bruno Haible  <bruno@clisp.org>
42363         setlocale: Workaround native Windows bug.
42364         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
42365         succeeds but sets LC_CTYPE to "C", report a failure.
42366         * tests/test-setlocale2.sh: New file.
42367         * tests/test-setlocale2.c: New file.
42368         * modules/setlocale-tests (Files): Add the new files.
42369         (Makefile.am): Enable test-setlocale2.sh test.
42370         * doc/posix-functions/setlocale.texi: Mention workaround.
42372 2011-02-11  Bruno Haible  <bruno@clisp.org>
42374         Tests for module 'setlocale'.
42375         * modules/setlocale-tests: New file.
42376         * tests/test-setlocale1.sh: New file.
42377         * tests/test-setlocale1.c: New file.
42379         New module 'setlocale'.
42380         * lib/locale.in.h (setlocale): New declaration.
42381         * lib/setlocale.c: New file, based on
42382         gettext/gettext-runtime/intl/setlocale.c.
42383         * m4/setlocale.m4: New file.
42384         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
42385         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
42386         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
42387         REPLACE_SETLOCALE.
42388         * modules/setlocale: New file.
42389         * tests/test-locale-c++.cc: Test the declaration of setlocale.
42390         * doc/posix-functions/setlocale.texi: Mention the new module.
42392 2011-02-11  Bruno Haible  <bruno@clisp.org>
42394         Prepare for locale dependent tests on mingw.
42395         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
42396         because it has the wrong locale encoding.
42397         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
42398         French_France.1252 instead of "fr".
42399         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
42400         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
42401         because it has the wrong locale encoding.
42402         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
42403         native Windows, try Turkish_Turkey.65001.
42404         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
42405         Chinese_China.54936.
42407         Prepare for locale dependent tests on mingw.
42408         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
42409         differently.
42410         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
42411         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
42412         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42413         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42415 2011-02-11  Eric Blake  <eblake@redhat.com>
42417         strptime: avoid compiler warnings
42418         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
42419         compiler warnings about dead code.
42420         Reported by Daniel P. Berrange.
42422 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
42424         doc: update users.txt
42425         * users.txt: Add rcs.
42427 2011-02-10  John W. Eaton  <jwe@gnu.org>
42429         doc: update users.txt
42430         * users.txt: Add octave.
42432 2011-02-10  Jim Meyering  <meyering@redhat.com>
42434         doc: update users.txt
42435         * users.txt: Add iwhd.
42437 2011-02-09  Bruno Haible  <bruno@clisp.org>
42439         gnulib-tool: Make copyright notice adjustment more robust.
42440         * gnulib-tool (func_import): In sed_transform_main_lib_file,
42441         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
42442         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
42443         License".
42444         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
42446 2011-02-06  Bruno Haible  <bruno@clisp.org>
42448         New module 'towctrans'.
42449         * modules/towctrans: New file.
42450         * lib/wctype.in.h (towctrans): New declaration.
42451         * lib/towctrans.c: New file.
42452         * lib/towctrans-impl.h: New file.
42453         * m4/towctrans.m4: New file.
42454         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
42455         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
42456         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
42457         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
42458         * doc/posix-functions/towctrans.texi: Mention the new module.
42460 2011-02-06  Bruno Haible  <bruno@clisp.org>
42462         New module 'wctrans'.
42463         * modules/wctrans: New file.
42464         * lib/wctype.in.h (wctrans): New declaration.
42465         * lib/wctrans.c: New file.
42466         * lib/wctrans-impl.h: New file.
42467         * m4/wctrans.m4: New file.
42468         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
42469         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
42470         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
42471         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
42472         * doc/posix-functions/wctrans.texi: Mention the new module.
42474 2011-02-06  Bruno Haible  <bruno@clisp.org>
42476         New module 'iswctype'.
42477         * modules/iswctype: New file.
42478         * lib/wctype.in.h (iswctype): New declaration.
42479         * lib/iswctype.c: New file.
42480         * lib/iswctype-impl.h: New file.
42481         * m4/iswctype.m4: New file.
42482         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
42483         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
42484         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
42485         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
42486         * doc/posix-functions/iswctype.texi: Mention the new module and the
42487         HP-UX 11.00 problem.
42489 2011-02-06  Bruno Haible  <bruno@clisp.org>
42491         New module 'wctype'.
42492         * modules/wctype: Change to represent the wctype() substitute.
42493         * lib/wctype.in.h (wctype): New declaration.
42494         * lib/wctype.c: New file.
42495         * lib/wctype-impl.h: New file.
42496         * m4/wctype.m4: New file.
42497         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
42498         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
42499         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
42500         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
42501         * doc/posix-functions/wctype.texi: Mention the new module and the
42502         HP-UX 11.00 problem.
42504 2011-02-06  Bruno Haible  <bruno@clisp.org>
42506         wctype-h: Ensure wctype_t and wctrans_t are defined.
42507         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
42508         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42509         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
42510         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
42511         HAVE_WCTRANS_T.
42512         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
42514 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42516         flock: fix license typo
42518         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
42519         omitted.
42521 2011-02-08  Bruno Haible  <bruno@clisp.org>
42523         Split large sed scripts, for HP-UX sed.
42524         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
42525         to avoid HP-UX limit of 99 commands, in the near future.
42526         * modules/stdlib (Makefile.am): Likewise.
42527         * modules/unistd (Makefile.am): Likewise.
42528         * modules/wchar (Makefile.am): Likewise.
42529         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42530         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
42531         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
42533 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42534             Bruno Haible  <bruno@clisp.org>
42536         stdlib: improve random_r modularization
42537         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
42538         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
42539         you also need the random_r module to get this material right.
42540         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
42541         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
42542         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
42544 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
42546         stdlib: don't depend on stdint
42547         * lib/stdlib.in.h: Don't include <stdint.h> merely because
42548         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
42549         be independent of whether stdint.h is needed.
42550         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
42551         here, instead of ...
42552         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
42553         struct random_data should be using the random_r module, not just
42554         the stdlib module (which wouldn't make sense: what package needs
42555         just struct random_data without also needing random_r?).
42556         * modules/stdlib (Depends-on): Remove stdint.
42558         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
42559         See the thread rooted at
42560         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
42561         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
42562         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
42563         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
42564         __VMS)); previously it was always included (via fcntl--.h).
42565         (getloadavg): Do not use c_strtod.  Instead, approximate it by
42566         hand; this is good enough for load averages.  Also, do not use
42567         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
42568         flags directly if available and don't bother otherwise.  (Packages
42569         that need the extra reliability should use the modules that define
42570         these flags on older platforms that lack them.)
42571         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
42572         fcntl-safer.
42574 2011-02-08  Jim Meyering  <meyering@redhat.com>
42576         di-set.h, ino-map.h: add multiple-inclusion guard
42577         Technically, the guard is required only for ino-map.h, due to its
42578         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
42579         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
42580         * lib/ino-map.h: Likewise.
42582 2011-02-06  Bruno Haible  <bruno@clisp.org>
42584         iswblank: Ensure declaration on glibc systems.
42585         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
42586         * modules/iswblank (Dependencies): Add 'extensions'.
42587         * doc/posix-functions/iswblank.texi: Document the glibc problem.
42589 2011-02-06  Bruno Haible  <bruno@clisp.org>
42591         New module 'iswblank'.
42592         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
42593         * modules/iswblank: New file.
42594         * modules/wctype-h (Files): Remove lib/iswblank.c.
42595         (Makefile.am): Substitute GNULIB_ISWBLANK.
42596         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
42597         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
42598         (gl_WCTYPE_H_DEFAULTS): New macro.
42599         (gl_WCTYPE_H): Require it. Remove iswblank related code.
42600         * modules/iswblank-tests: New file.
42601         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
42602         * tests/test-wctype-h.c (main): Remove iswblank tests.
42603         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
42604         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
42605         of 'wctype-h'.
42606         * NEWS: Mention the change.
42607         * modules/mbchar (Depends-on): Add iswblank.
42609 2011-02-08  Bruno Haible  <bruno@clisp.org>
42611         di-set tests: Refactor.
42612         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
42613         unnecessary includes.
42614         (ASSERT): Remove macro.
42615         (main): Make C90 compliant by avoiding variable declaration after
42616         statement.
42617         * modules/di-set-tests (Files): Add tests/macros.h.
42619 2011-02-08  Bruno Haible  <bruno@clisp.org>
42621         ino-map tests: Refactor.
42622         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
42623         unnecessary includes.
42624         (ASSERT): Remove macro.
42625         (main): Make C90 compliant by avoiding variable declaration after
42626         statement.
42627         * modules/ino-map-tests (Files): Add tests/macros.h.
42629 2011-02-08  Jim Meyering  <meyering@redhat.com>
42631         di-set: add "const" to a cast
42632         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
42633         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
42635 2011-02-06  Bruno Haible  <bruno@clisp.org>
42637         Rename module 'wctype' to 'wctype-h'.
42638         * modules/wctype-h: Renamed from modules/wctype.
42639         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
42640         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
42641         (Files, Depends-on, Makefile.am): Update.
42642         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
42643         (Files, Makefile.am): Update.
42644         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
42645         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
42646         * doc/posix-headers/wctype.texi: Update.
42647         * doc/posix-functions/iswalnum.texi: Update.
42648         * doc/posix-functions/iswalpha.texi: Update.
42649         * doc/posix-functions/iswblank.texi: Update.
42650         * doc/posix-functions/iswcntrl.texi: Update.
42651         * doc/posix-functions/iswdigit.texi: Update.
42652         * doc/posix-functions/iswgraph.texi: Update.
42653         * doc/posix-functions/iswlower.texi: Update.
42654         * doc/posix-functions/iswprint.texi: Update.
42655         * doc/posix-functions/iswpunct.texi: Update.
42656         * doc/posix-functions/iswspace.texi: Update.
42657         * doc/posix-functions/iswupper.texi: Update.
42658         * doc/posix-functions/iswxdigit.texi: Update.
42659         * doc/posix-functions/towlower.texi: Update.
42660         * doc/posix-functions/towupper.texi: Update.
42661         * NEWS: Mention the change.
42662         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
42663         * modules/mbchar (Dependencies): Likewise.
42664         * modules/mbswidth (Dependencies): Likewise.
42665         * modules/quotearg (Dependencies): Likewise.
42666         * modules/regex (Dependencies): Likewise.
42667         * modules/wcscasecmp (Dependencies): Likewise.
42668         * modules/wcsncasecmp (Dependencies): Likewise.
42669         * modules/wcwidth (Dependencies): Likewise.
42671 2011-02-06  Bruno Haible  <bruno@clisp.org>
42673         New module 'wcswidth'.
42674         * modules/wcswidth: New file.
42675         * lib/wchar.in.h (wcswidth): New declaration.
42676         * lib/wcswidth.c: New file.
42677         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
42678         * m4/wcswidth.m4: New file.
42679         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
42680         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
42681         REPLACE_WCSWIDTH.
42682         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
42683         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
42684         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
42685         * doc/posix-functions/wcswidth.texi: Mention the new module.
42687 2011-02-06  Bruno Haible  <bruno@clisp.org>
42689         New module 'wcstok'.
42690         * modules/wcstok: New file.
42691         * lib/wchar.in.h (wcstok): New declaration.
42692         * lib/wcstok.c: New file.
42693         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
42694         * m4/wcstok.m4: New file.
42695         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
42696         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
42697         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
42698         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
42699         * doc/posix-functions/wcstok.texi: Mention the new module.
42701 2011-02-06  Bruno Haible  <bruno@clisp.org>
42703         New module 'wcsstr'.
42704         * modules/wcsstr: New file.
42705         * lib/wchar.in.h (wcsstr): New declaration.
42706         * lib/wcsstr.c: New file.
42707         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
42708         * m4/wcsstr.m4: New file.
42709         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
42710         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
42711         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
42712         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
42713         * doc/posix-functions/wcsstr.texi: Mention the new module.
42715 2011-02-06  Bruno Haible  <bruno@clisp.org>
42717         New module 'wcspbrk'.
42718         * modules/wcspbrk: New file.
42719         * lib/wchar.in.h (wcspbrk): New declaration.
42720         * lib/wcspbrk.c: New file.
42721         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
42722         * m4/wcspbrk.m4: New file.
42723         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
42724         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
42725         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
42726         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
42727         * doc/posix-functions/wcspbrk.texi: Mention the new module.
42729 2011-02-06  Bruno Haible  <bruno@clisp.org>
42731         New module 'wcsspn'.
42732         * modules/wcsspn: New file.
42733         * lib/wchar.in.h (wcsspn): New declaration.
42734         * lib/wcsspn.c: New file.
42735         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
42736         * m4/wcsspn.m4: New file.
42737         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
42738         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
42739         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
42740         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
42741         * doc/posix-functions/wcsspn.texi: Mention the new module.
42743 2011-02-06  Bruno Haible  <bruno@clisp.org>
42745         New module 'wcscspn'.
42746         * modules/wcscspn: New file.
42747         * lib/wchar.in.h (wcscspn): New declaration.
42748         * lib/wcscspn.c: New file.
42749         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
42750         * m4/wcscspn.m4: New file.
42751         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
42752         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
42753         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
42754         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
42755         * doc/posix-functions/wcscspn.texi: Mention the new module.
42757 2011-02-06  Bruno Haible  <bruno@clisp.org>
42759         New module 'wcsrchr'.
42760         * modules/wcsrchr: New file.
42761         * lib/wchar.in.h (wcsrchr): New declaration.
42762         * lib/wcsrchr.c: New file.
42763         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
42764         * m4/wcsrchr.m4: New file.
42765         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
42766         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
42767         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
42768         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
42769         * doc/posix-functions/wcsrchr.texi: Mention the new module.
42771 2011-02-06  Bruno Haible  <bruno@clisp.org>
42773         New module 'wcschr'.
42774         * modules/wcschr: New file.
42775         * lib/wchar.in.h (wcschr): New declaration.
42776         * lib/wcschr.c: New file.
42777         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
42778         * m4/wcschr.m4: New file.
42779         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
42780         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
42781         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
42782         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
42783         * doc/posix-functions/wcschr.texi: Mention the new module.
42785 2011-02-06  Bruno Haible  <bruno@clisp.org>
42787         New module 'wcsdup'.
42788         * modules/wcsdup: New file.
42789         * lib/wchar.in.h (wcsdup): New declaration.
42790         * lib/wcsdup.c: New file.
42791         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
42792         * m4/wcsdup.m4: New file.
42793         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
42794         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
42795         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
42796         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
42797         * doc/posix-functions/wcsdup.texi: Mention the new module.
42799 2011-02-06  Bruno Haible  <bruno@clisp.org>
42801         New module 'wcsxfrm'.
42802         * modules/wcsxfrm: New file.
42803         * lib/wchar.in.h (wcsxfrm): New declaration.
42804         * lib/wcsxfrm.c: New file.
42805         * lib/wcsxfrm-impl.h: New file.
42806         * m4/wcsxfrm.m4: New file.
42807         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
42808         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
42809         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
42810         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
42811         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
42813 2011-02-06  Bruno Haible  <bruno@clisp.org>
42815         New module 'wcscoll'.
42816         * modules/wcscoll: New file.
42817         * lib/wchar.in.h (wcscoll): New declaration.
42818         * lib/wcscoll.c: New file.
42819         * lib/wcscoll-impl.h: New file.
42820         * m4/wcscoll.m4: New file.
42821         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
42822         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
42823         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
42824         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
42825         * doc/posix-functions/wcscoll.texi: Mention the new module.
42827 2011-02-06  Bruno Haible  <bruno@clisp.org>
42829         New module 'wcsncasecmp'.
42830         * modules/wcsncasecmp: New file.
42831         * lib/wchar.in.h (wcsncasecmp): New declaration.
42832         * lib/wcsncasecmp.c: New file.
42833         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
42834         * m4/wcsncasecmp.m4: New file.
42835         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
42836         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
42837         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
42838         HAVE_WCSNCASECMP.
42839         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
42840         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
42842 2011-02-06  Bruno Haible  <bruno@clisp.org>
42844         New module 'wcscasecmp'.
42845         * modules/wcscasecmp: New file.
42846         * lib/wchar.in.h (wcscasecmp): New declaration.
42847         * lib/wcscasecmp.c: New file.
42848         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
42849         * m4/wcscasecmp.m4: New file.
42850         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
42851         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
42852         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
42853         HAVE_WCSCASECMP.
42854         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
42855         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
42857 2011-02-05  Bruno Haible  <bruno@clisp.org>
42859         New module 'wcsncmp'.
42860         * modules/wcsncmp: New file.
42861         * lib/wchar.in.h (wcsncmp): New declaration.
42862         * lib/wcsncmp.c: New file.
42863         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
42864         * m4/wcsncmp.m4: New file.
42865         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
42866         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
42867         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
42868         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
42869         * doc/posix-functions/wcsncmp.texi: Mention the new module.
42871 2011-02-05  Bruno Haible  <bruno@clisp.org>
42873         New module 'wcscmp'.
42874         * modules/wcscmp: New file.
42875         * lib/wchar.in.h (wcscmp): New declaration.
42876         * lib/wcscmp.c: New file.
42877         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
42878         * m4/wcscmp.m4: New file.
42879         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
42880         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
42881         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
42882         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
42883         * doc/posix-functions/wcscmp.texi: Mention the new module.
42885 2011-02-05  Bruno Haible  <bruno@clisp.org>
42887         New module 'wcsncat'.
42888         * modules/wcsncat: New file.
42889         * lib/wchar.in.h (wcsncat): New declaration.
42890         * lib/wcsncat.c: New file.
42891         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
42892         * m4/wcsncat.m4: New file.
42893         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
42894         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
42895         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
42896         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
42897         * doc/posix-functions/wcsncat.texi: Mention the new module.
42899 2011-02-05  Bruno Haible  <bruno@clisp.org>
42901         New module 'wcscat'.
42902         * modules/wcscat: New file.
42903         * lib/wchar.in.h (wcscat): New declaration.
42904         * lib/wcscat.c: New file.
42905         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
42906         * m4/wcscat.m4: New file.
42907         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
42908         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
42909         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
42910         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
42911         * doc/posix-functions/wcscat.texi: Mention the new module.
42913 2011-02-05  Bruno Haible  <bruno@clisp.org>
42915         New module 'wcpncpy'.
42916         * modules/wcpncpy: New file.
42917         * lib/wchar.in.h (wcpncpy): New declaration.
42918         * lib/wcpncpy.c: New file.
42919         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
42920         * m4/wcpncpy.m4: New file.
42921         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
42922         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
42923         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
42924         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
42925         * doc/posix-functions/wcpncpy.texi: Mention the new module.
42927 2011-02-05  Bruno Haible  <bruno@clisp.org>
42929         New module 'wcsncpy'.
42930         * modules/wcsncpy: New file.
42931         * lib/wchar.in.h (wcsncpy): New declaration.
42932         * lib/wcsncpy.c: New file.
42933         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
42934         * m4/wcsncpy.m4: New file.
42935         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
42936         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
42937         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
42938         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
42939         * doc/posix-functions/wcsncpy.texi: Mention the new module.
42941 2011-02-05  Bruno Haible  <bruno@clisp.org>
42943         New module 'wcpcpy'.
42944         * modules/wcpcpy: New file.
42945         * lib/wchar.in.h (wcpcpy): New declaration.
42946         * lib/wcpcpy.c: New file.
42947         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
42948         * m4/wcpcpy.m4: New file.
42949         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
42950         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
42951         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
42952         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
42953         * doc/posix-functions/wcpcpy.texi: Mention the new module.
42955 2011-02-05  Bruno Haible  <bruno@clisp.org>
42957         New module 'wcscpy'.
42958         * modules/wcscpy: New file.
42959         * lib/wchar.in.h (wcscpy): New declaration.
42960         * lib/wcscpy.c: New file.
42961         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
42962         * m4/wcscpy.m4: New file.
42963         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
42964         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
42965         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
42966         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
42967         * doc/posix-functions/wcscpy.texi: Mention the new module.
42969 2011-02-05  Bruno Haible  <bruno@clisp.org>
42971         New module 'wcsnlen'.
42972         * modules/wcsnlen: New file.
42973         * lib/wchar.in.h (wcsnlen): New declaration.
42974         * lib/wcsnlen.c: New file.
42975         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
42976         * m4/wcsnlen.m4: New file.
42977         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
42978         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
42979         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
42980         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
42981         * doc/posix-functions/wcsnlen.texi: Mention the new module.
42983 2011-02-05  Bruno Haible  <bruno@clisp.org>
42985         New module 'wcslen'.
42986         * modules/wcslen: New file.
42987         * lib/wchar.in.h (wcslen): New declaration.
42988         * lib/wcslen.c: New file.
42989         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
42990         * m4/wcslen.m4: New file.
42991         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
42992         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
42993         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
42994         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
42995         * doc/posix-functions/wcslen.texi: Mention the new module.
42997 2011-02-05  Bruno Haible  <bruno@clisp.org>
42999         New module 'wmemset'.
43000         * modules/wmemset: New file.
43001         * lib/wchar.in.h (wmemset): New declaration.
43002         * lib/wmemset.c: New file.
43003         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
43004         * m4/wmemset.m4: New file.
43005         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
43006         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
43007         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
43008         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
43009         * doc/posix-functions/wmemset.texi: Mention the new module.
43011 2011-02-05  Bruno Haible  <bruno@clisp.org>
43013         New module 'wmemmove'.
43014         * modules/wmemmove: New file.
43015         * lib/wchar.in.h (wmemmove): New declaration.
43016         * lib/wmemmove.c: New file.
43017         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
43018         * m4/wmemmove.m4: New file.
43019         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
43020         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
43021         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
43022         HAVE_WMEMMOVE.
43023         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
43024         * doc/posix-functions/wmemmove.texi: Mention the new module.
43026 2011-02-05  Bruno Haible  <bruno@clisp.org>
43028         New module 'wmemcpy'.
43029         * modules/wmemcpy: New file.
43030         * lib/wchar.in.h (wmemcpy): New declaration.
43031         * lib/wmemcpy.c: New file.
43032         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
43033         * m4/wmemcpy.m4: New file.
43034         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
43035         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
43036         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
43037         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
43038         * doc/posix-functions/wmemcpy.texi: Mention the new module.
43040 2011-02-05  Bruno Haible  <bruno@clisp.org>
43042         New module 'wmemcmp'.
43043         * modules/wmemcmp: New file.
43044         * lib/wchar.in.h (wmemcmp): New declaration.
43045         * lib/wmemcmp.c: New file.
43046         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
43047         * m4/wmemcmp.m4: New file.
43048         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
43049         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
43050         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
43051         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
43052         * doc/posix-functions/wmemcmp.texi: Mention the new module.
43054 2011-02-07  Jim Meyering  <meyering@redhat.com>
43056         di-set, ino-map: new modules, from coreutils
43057         * lib/di-set.c: New file.
43058         * lib/di-set.h: Likewise.
43059         * lib/ino-map.c: Likewise.
43060         * lib/ino-map.h: Likewise.
43061         * modules/di-set: Likewise.
43062         * modules/di-set-tests: Likewise.
43063         * modules/ino-map: Likewise.
43064         * modules/ino-map-tests: Likewise.
43065         * tests/test-di-set.c: Likewise.
43066         * tests/test-ino-map.c: Likewise.
43068 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
43070         getloadavg: merge minor changes from Emacs
43072         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
43073         (getloadavg): Use memset, not bzero.
43075         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
43076         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
43077         clash (bug#86).
43079 2010-11-14  Bruno Haible  <bruno@clisp.org>
43081         Allow multiple gnulib generated replacements to coexist.
43082         * lib/getopt.in.h (struct option): Avoid identical redefinition.
43083         * lib/inttypes.in.h (imaxdiv_t): Likewise.
43084         * lib/langinfo.in.h (nl_item): Likewise.
43085         * lib/math.in.h (_NaN, NAN): Likewise.
43086         * lib/netdb.in.h (struct addrinfo): Likewise.
43087         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
43088         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
43089         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
43090         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
43091         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
43092         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
43093         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
43094         pthread_mutexattr_init, pthread_mutexattr_settype,
43095         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
43096         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
43097         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
43098         pthread_spin_trylock, pthread_spin_unlock): Likewise.
43099         * lib/sched.in.h (struct sched_param): Likewise.
43100         * lib/se-selinux.in.h (security_class_t, security_context_t,
43101         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
43102         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
43103         lsetfilecon, fsetfilecon, security_check_context,
43104         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
43105         Likewise.
43106         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
43107         Likewise.
43108         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
43109         _gl_function_taking_int_returning_void_t, union sigval,
43110         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
43111         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
43112         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
43113         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
43114         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
43115         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
43116         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
43117         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
43118         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
43119         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
43120         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
43121         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
43122         socklen_t, rpl_fd_isset): Likewise.
43123         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
43124         * lib/sys_time.in.h (struct timeval): Likewise.
43125         * lib/sys_times.in.h (struct tms): Likewise.
43126         * lib/sys_utsname.in.h (struct utsname):
43127         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
43128         * lib/unistd.in.h (getpagesize): Likewise.
43129         * lib/wchar.in.h (mbstate_t): Likewise.
43130         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
43131         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
43132         towlower, towupper): Likewise.
43133         Reported by Sam Steingold <sds@gnu.org>.
43135 2011-02-05  Eric Blake  <eblake@redhat.com>
43137         unsetenv: work around Haiku issues
43138         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
43139         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
43141 2010-12-30  Bruce Korb  <bkorb@gnu.org>
43143         libposix: avoid calling error() within libposix
43144         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
43145         is defined.
43147 2011-02-05  Eric Blake  <eblake@redhat.com>
43149         strerror_r-posix: port to cygwin
43150         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
43151         implementation.
43152         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
43153         * tests/test-strerror_r.c (main): Fix test.
43154         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
43155         issue.
43157 2011-02-05  Bruno Haible  <bruno@clisp.org>
43159         New module 'wmemchr'.
43160         * modules/wmemchr: New file.
43161         * lib/wchar.in.h (wmemchr): New declaration.
43162         * lib/wmemchr.c: New file.
43163         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
43164         * m4/wmemchr.m4: New file.
43165         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
43166         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
43167         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
43168         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
43169         * doc/posix-functions/wmemchr.texi: Mention the new module.
43171 2011-02-04  Eric Blake  <eblake@redhat.com>
43173         fdopendir: detect FreeBSD bug
43174         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
43175         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
43177 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43179         stdbool: do not define HAVE_STDBOOL_H
43180         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
43181         AC_HEADER_STDBOOL.  All uses changed.  Do not define
43182         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
43183         imported from the latest Autoconf git.  It was motivated by Emacs,
43184         which uses gnulib but does not need HAVE_STDBOOL_H.
43186 2011-02-04  Bruno Haible  <bruno@clisp.org>
43188         wcsnrtombs: Prepare for new module wwcsnrtombs.
43189         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
43190         * lib/wcsnrtombs.c: Include it.
43191         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
43193         wcsrtombs: Prepare for new module wwcsrtombs.
43194         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
43195         * lib/wcsrtombs.c: Include it.
43196         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
43198         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
43199         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
43200         * lib/mbsnrtowcs.c: Include it.
43201         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
43203         mbsrtowcs: Prepare for new module mbsrtowwcs.
43204         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
43205         * lib/mbsrtowcs.c: Include it.
43206         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
43208 2011-02-04  Bruno Haible  <bruno@clisp.org>
43210         vasnprintf: Reduce use of malloc for small format strings.
43211         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
43212         (arguments): Add room for the first 7 arguments.
43213         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
43214         (char_directives, u8_directives, u16_directives, u32_directives): Add
43215         room for the first 7 directives.
43216         * lib/printf-parse.c: Include <string.h>.
43217         (PRINTF_PARSE): Change memory handling code so that it uses the first
43218         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
43219         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
43220         Reported by Pádraig Brady <P@draigbrady.com>.
43222 2011-01-31  Eric Blake  <eblake@redhat.com>
43224         dup2: work around Haiku bug
43225         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
43226         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
43227         * doc/posix-functions/dup2.texi (dup2): Document the bug.
43228         * tests/test-dup2.c (main): Enhance test.
43230 2011-01-31  Simon Josefsson  <simon@josefsson.org>
43232         doc: off_t is not available in eglibc 2.11.2 stdio.h.
43233         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
43234         declared by eglibc 2.11.2.
43235         * lib/stdio.in.h: Likewise.
43237 2011-01-31  Eric Blake  <eblake@redhat.com>
43239         ignore-value: add missing test dependency
43240         * tests/test-ignore-value.c: Revert previous change; stdio.h
43241         provides off_t.
43242         * modules/ignore-value-tests (Depends-on): Add missing dependency.
43244 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
43246         mktime: clarify long_int width checking
43247         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
43248         the top level, to make it clearer that the assumption about
43249         long_int width is being checked.  See
43250         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
43252 2011-01-30  Simon Josefsson  <simon@josefsson.org>
43254         ignore-value: Fix self-test.
43255         * tests/test-ignore-value.c: Include sys/types.h for off_t.
43257 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
43259         TYPE_MAXIMUM: avoid theoretically undefined behavior
43260         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
43261         negative number, which the C Standard says has undefined behavior.
43262         In practice this is not a problem, but might as well do it by the book.
43263         Reported by Rich Felker and Eric Blake; see
43264         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
43265         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
43266         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
43267         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43268         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
43269         * m4/stdint.m4 (gl_STDINT_H): Likewise.
43270         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
43272         mktime: #undef mktime before #defining it
43273         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
43275         mktime: systematically normalize tm_isdst comparisons
43276         * lib/mktime.c (isdst_differ): New function.
43277         (__mktime_internal): Use it systematically for all isdst comparisons.
43278         This completes the fix for libc BZ #6723, and removes the need for
43279         normalizing tm_isdst.  See
43280         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
43281         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
43283         mktime: fix some integer overflow issues and sidestep the rest
43285         This was prompted by a bug report by Benjamin Lindner for MinGW
43286         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
43287         His bug is due to signed integer overflow (0 - INT_MIN), and I
43288         I scanned through mktime.c looking for other integer overflow
43289         problems, fixing all the bugs I found.
43291         Although the C Standard says the resulting code is still not safe
43292         in the presence of integer overflow, in practice it should be good
43293         enough for all real-world two's-complement implementations, except
43294         for debugging environments that deliberately trap on integer
43295         overflow (e.g., gcc -ftrapv).
43297         * lib/mktime.c (WRAPV): New macro.
43298         (SHR): Also check that long_int and time_t shift right in the
43299         usual way, before using the fast-but-unportable method.
43300         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
43301         used.  The code already assumed two's complement, so there's
43302         no need to test for alternatives.  All uses removed.
43303         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
43304         the C standard.  Problem reported by Rich Felker in
43305         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
43306         (twos_complement_arithmetic): Also check long_int and time_t.
43307         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
43308         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
43309         (__mktime_internal): Avoid integer overflow with unary subtraction
43310         in two instances where -1 - X is an adequate replacement for -X,
43311         since the calculations are approximate.
43313 2011-01-29  Eric Blake  <eblake@redhat.com>
43315         mktime: avoid infinite loop
43316         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
43317         type; behavior is still undefined but portable to all known targets.
43318         Reported by Rich Felker.
43320 2011-01-29  Simon Josefsson  <simon@josefsson.org>
43322         rename, unlink, same-inode: Relicense.
43323         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
43324         * modules/unlink (License): Likewise.
43325         * modules/same-inode (License): Likewise.
43327 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43329         mktime: avoid problems on NetBSD 5 / i386
43330         * lib/mktime.c (long_int): New type.  This works around a problem
43331         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
43332         but time_t is 64 bits, and where I expect the existing code is
43333         wrong in some cases.
43334         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
43335         (ydhms_diff): Bring back the compile-time check for wide-enough
43336         year and yday.
43338         mktime: fix misspelling in comment
43339         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
43340         This merges all recent glibc changes of importance.
43342 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43344         move-if-change: cope with concurrent mv of identical file.
43345         * build-aux/move-if-change (CMPPROG): Accept environment
43346         variable as an override for `cmp'.
43347         (usage): Document CMPPROG.
43348         Adjust comparison to drop stdout.  Cope with failure of mv if
43349         the target file exists and is identical to the source, for
43350         parallel builds.
43351         Report from H.J. Lu against binutils in PR binutils/12283.
43353 2011-01-28  Bruce Korb  <bkorb@gnu.org>
43355         * users.txt: Mention sharutils.
43357 2011-01-28  Simon Josefsson  <simon@josefsson.org>
43359         * users.txt: Mention OATH Toolkit.
43361 2011-01-27  Bruno Haible  <bruno@clisp.org>
43363         Prepare for supporting FreeBSD 10.
43364         * build-aux/config.libpath: Remove handling of freebsd1*.
43366 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
43368         Prepare for supporting FreeBSD 10.
43369         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
43370         match FreeBSD 10.0.
43372 2011-01-27  Bruno Haible  <bruno@clisp.org>
43374         vma-iter, get-rusage-as: Add OpenBSD support.
43375         * modules/vma-iter (configure.ac): Test for mquery.
43376         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
43377         * lib/vma-iter.c: Include <sys/mman.h>.
43378         (vma_iterate): Add an implementation based on mquery().
43379         * lib/resource-ext.h (get_rusage_as): Update comments.
43380         * lib/get-rusage-as.c: Likewise.
43381         * lib/get-rusage-data.c: Likewise.
43383 2011-01-26  Karl Berry  <karl@gnu.org>
43385         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
43386         variables to make it easier to override the makeinfo program used.
43388 2011-01-26  Eric Blake  <eblake@redhat.com>
43390         fcntl: work around Haiku F_DUPFD bugs
43391         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
43392         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
43393         cloexec bit on duplication.
43394         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
43396 2011-01-26  Bruno Haible  <bruno@clisp.org>
43398         Enable memory leak tests on AIX.
43399         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
43400         * tests/test-fprintf-posix3.c (main): Likewise.
43402 2011-01-26  Bruno Haible  <bruno@clisp.org>
43404         Tests for module 'get-rusage-data'.
43405         * modules/get-rusage-data-tests: New file.
43406         * tests/test-get-rusage-data.c: New file.
43408         New module 'get-rusage-data'.
43409         * lib/resource-ext.h (get_rusage_data): New declaration.
43410         * lib/get-rusage-data.c: New file.
43411         * modules/get-rusage-data: New file.
43413 2011-01-25  Bruno Haible  <bruno@clisp.org>
43415         get-rusage-as: Allow for easier testing.
43416         * lib/resource-ext.h (get_rusage_as): Add comment.
43417         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
43418         (main): New function for interactive testing.
43420 2011-01-25  Bruno Haible  <bruno@clisp.org>
43422         vma-iter: Treat Haiku like BeOS.
43423         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
43424         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
43426 2011-01-25  Eric Blake  <eblake@redhat.com>
43428         c-stack: fix regression on cygwin when libsigsegv is present
43429         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
43431 2011-01-24  Bruno Haible  <bruno@clisp.org>
43433         vma-iter: Avoid empty intervals.
43434         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
43435         on an empty interval.
43437 2011-01-24  Jim Meyering  <meyering@redhat.com>
43439         u64: remove unnecessary #include
43440         * lib/u64.h: Don't include <stddef.h>.  It was not used.
43442 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43444         Allow the user to avoid the HAVE_RAW_DECL_* macros.
43445         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
43447 2011-01-23  Bruno Haible  <bruno@clisp.org>
43449         New module 'vma-iter'.
43450         * lib/vma-iter.h: New file.
43451         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
43452         * modules/vma-iter: New file.
43453         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
43454         for get_rusage_as_via_iterator.
43455         (vma_iterate_callback): New function.
43456         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
43457         * modules/get-rusage-as (Depends-on): Add vma-iter.
43459 2011-01-23  Bruno Haible  <bruno@clisp.org>
43461         uninorm: Tweak includes.
43462         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
43463         Reported by Jim Meyering.
43465 2011-01-23  Bruno Haible  <bruno@clisp.org>
43467         get-rusage-as: Improve on NetBSD.
43468         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
43469         /proc, like on FreeBSD.
43471 2011-01-23  Jim Meyering  <meyering@redhat.com>
43473         xreadlink.h: remove unnecessary #include
43474         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
43476         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
43477         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
43479 2011-01-23  Bruno Haible  <bruno@clisp.org>
43481         get-rusage-as: Fix bug.
43482         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
43483         original limit when aborting the first loop.
43485 2011-01-23  Bruno Haible  <bruno@clisp.org>
43487         wctype: Ensure valid C syntax.
43488         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
43489         unconditionally, instead of gl_NEXT_HEADERS conditionally.
43491 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
43493         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
43494         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
43495         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
43496         as they are needed only for configure's test case.
43497         This removes two unnecessary symbols from config.h.
43499         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
43500         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
43501         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
43502         AC_CHECK_HEADERS_ONCE on a header that we also invoke
43503         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
43504         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
43505         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
43506         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
43507         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
43508         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
43509         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
43510         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
43511         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
43512         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
43513         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
43514         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
43515         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
43516         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
43518 2011-01-21  Eric Blake  <eblake@redhat.com>
43520         maintainer-makefile: work with older git for submodule check
43521         * top/maint.mk (public-submodule-commit): Rewrite to avoid
43522         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
43523         Reported by Matthias Bolte.
43525         bootstrap: minor portability fixes
43526         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
43527         (usage): Omit leading capital and trailing . on help phrases, per
43528         GNU Coding Standards.
43529         (check_versions, top level): Prefix messages with script name.
43531 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
43533         bootstrap: support --no-git option
43534         * build-aux/bootstrap: Add --no-git option, to be used when
43535         --gnulib-srcdir points to the exact desired checkout.
43537 2011-01-21  Eric Blake  <eblake@redhat.com>
43539         strerror_r-posix: work with glibc 2.13
43540         * lib/strerror_r.c (strerror_r): Fix return type.
43542 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43543             Bruno Haible  <bruno@clisp.org>
43545         uN_strstr: New unit tests.
43546         * modules/unistr/u8-strstr-tests: New file.
43547         * modules/unistr/u16-strstr-tests: New file.
43548         * modules/unistr/u32-strstr-tests: New file.
43549         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
43550         * tests/unistr/test-u8-strstr.c: New file.
43551         * tests/unistr/test-u16-strstr.c: New file.
43552         * tests/unistr/test-u32-strstr.c: New file.
43554 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43555             Bruno Haible  <bruno@clisp.org>
43557         Make uN_strstr functions O(n) worst-case.
43558         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
43559         16-bit and 32-bit unit cases, use the unibyte algorithm from
43560         lib/mbsstr.c.
43561         * lib/unistr/u8-strstr.c: Include <string.h>.
43562         (UNIT_IS_UINT8_T): New macro.
43563         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
43564         (U_STRLEN, U_STRNLEN): New macros.
43565         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
43566         (U_STRLEN, U_STRNLEN): New macros.
43567         * modules/unistr/u8-strstr (Depends-on): Add strstr.
43568         (configure.ac): Update required libunistring version.
43569         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
43570         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
43571         malloca.
43572         (configure.ac): Update required libunistring version.
43573         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
43574         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
43575         malloca.
43576         (configure.ac): Update required libunistring version.
43578 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43579             Bruno Haible  <bruno@clisp.org>
43581         Prepare for faster uN_strstr functions.
43582         * lib/str-kmp.h: Support definable UNITs.
43583         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
43584         needle_len argument.
43585         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
43586         * lib/mbscasestr.c (mbscasestr): Likewise.
43588 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43590         malloca-tests: make faster by unsetting MALLOC_PERTURB_
43591         * tests/test-malloca.c (main): Unset the environment variable
43592         to greatly speed up the test.
43593         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
43594         * modules/malloca-tests: Depend on unsetenv.
43596 2011-01-21  Pádraig Brady  <P@draigBrady.com>
43598         ignore-value: remove stdint dependency
43599         * lib/ignore-value.h: Remove <stdint.h>
43600         * modules/ignore-value: Remove stdint dependency.
43602 2011-01-21  Jim Meyering  <meyering@redhat.com>
43604         maint.mk: adjust variable name to be consistent with other gl_ vars
43605         * top/maint.mk (gl_public_submodule_commit): Rename the variable
43606         to be lower case.
43608 2011-01-20  Jim Meyering  <meyering@redhat.com>
43610         maint.mk: make "check" depend on public-submodule-commit by default
43611         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
43613 2011-01-20  Bruno Haible  <bruno@clisp.org>
43615         mbfile, mbiter: Complete change from 2008-12-21.
43616         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
43617         * m4/mbiter.m4 (gl_MBITER): Likewise.
43619 2011-01-20  Jim Meyering  <meyering@redhat.com>
43621         init.sh: insert space between each function name and "()"
43622         * tests/init.sh: Make it a little easier to see that a function's
43623         name is "warn_", and not "warn" when looking at the first part of
43624         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
43626 2011-01-20  Jim Meyering  <meyering@redhat.com>
43628         mountlist: clean up code formatting
43629         * lib/mountlist.c (read_file_system_list): Split a long line,
43630         correct bracing style, use NULL in place of "(struct statfs *)0",
43631         don't parenthesize return value, add spaces around "=" and after
43632         ";-in-for-stmt".
43634 2011-01-14  Markus Duft  <mduft@gentoo.org>
43636         mountlist: add support for Interix
43637         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
43638         Apply statvfs to all entries of /dev/fs.
43639         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
43640         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
43642 2011-01-20  Jim Meyering  <meyering@redhat.com>
43644         maint.mk: improve the public-submodule-commit rule
43645         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
43646         to suppress printing of its commands... unless V=1.
43647         Add git submodule's --quiet option to suppress printing of e.g.,
43648         "Entering gnulib" output.
43649         "cd" into $(srcdir) before running git submodule.
43651 2011-01-20  Bruno Haible  <bruno@clisp.org>
43653         include_next: Fix bug introduced on 2011-01-18.
43654         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
43655         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
43656         ac_cv_header_... variable if the second argument is not 'check'.
43657         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
43658         gl_NEXT_HEADERS_INTERNAL.
43660 2011-01-20  Bruno Haible  <bruno@clisp.org>
43662         Allow the user to avoid the GNULIB_TEST_* macros.
43663         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
43664         Suggested by Paul Eggert.
43666 2011-01-14  Jim Meyering  <meyering@redhat.com>
43668         bootstrap: avoid failure when there is no .gitmodules file
43669         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
43670         has been assigned to, even when its value is the empty string.
43671         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
43672         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
43673         Reported by John W. Eaton <jwe@gnu.org>.
43675 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43677         assume <ctype.h>, ..., <time.h> exist
43678         For years gnulib has been assuming the existence of the headers
43679         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
43680         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
43681         them, since they don't appear to be needed.
43682         * README (Portability guidelines): Document this.
43683         * lib/flock.c: Assume <fcntl.h> exists.
43684         * lib/regex_internal.h: Assume <locale.h> exists.
43685         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
43686         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
43687         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
43688         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
43689         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
43690         * m4/regex.m4 (gl_REGEX): Likewise.
43691         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
43692         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
43693         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
43694         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
43695         * tests/test-argp.c: Likewise.
43696         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
43698         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
43699         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
43700         AA_APPLE_UNIVERSAL_BUILD.  See
43701         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
43702         * NEWS: Document this.
43704 2011-01-19  Eric Blake  <eblake@redhat.com>
43706         c-stack: assume stack overflow if SA_SIGINFO unsupported
43707         * lib/c-stack.c (SIGACTION_WORKS): Rename...
43708         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
43709         sigaction will work.
43710         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
43711         behavior match Linux.
43712         * tests/test-c-stack.c (main): Prefer NULL for pointers.
43714         stdbool-tests: accommodate Haiku
43715         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
43717         binary-io: fix O_TEXT on Haiku
43718         * modules/binary-io (Depends-on): Add fcntl-h.
43719         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
43720         than blindly undefining O_TEXT.
43721         Reported by Scott McCreary.
43723 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43725         include_next: do not check for standard headers like stddef.h
43727         I found this problem when modifying Emacs to use gnulib.
43728         I noticed that it added HAVE_STDDEF_H to config.h, even though
43729         gnulib always assumes <stddef.h> exists as per README and this
43730         symbol is unnecessary.
43731         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
43732         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
43733         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
43734         faster for headers like stddef.h that are known to exist.
43735         (gl_CHECK_NEXT_HEADERS): Use it.
43736         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
43737         rather than gl_CHECK_NEXT_HEADERS.
43738         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
43739         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
43741 2011-01-18  Eric Blake  <eblake@redhat.com>
43743         ansi-c++-opt: skip C++ dependency style if C++ is unused
43744         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
43745         tests when we know C++ compilation is not desired.
43746         Reported by Scott McCreary.
43748 2011-01-18  Bruno Haible  <bruno@clisp.org>
43750         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
43751         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
43752         (main): Perform test also when getrlimit and setrlimit don't exist or
43753         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
43754         limiting the address space size using setrlimit, compare the address
43755         space size before and after the test.
43756         * tests/test-dprintf-posix2.c: Likewise.
43757         * tests/test-fprintf-posix3.sh: Update skip messages.
43758         * tests/test-dprintf-posix2.sh: Likewise.
43759         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
43760         * modules/dprintf-posix-tests (Depends-on): Likewise.
43761         Reported by Bruce Korb <bkorb@gnu.org> and
43762         Gary V. Vaughan <gary@gnu.org>.
43764 2011-01-18  Bruno Haible  <bruno@clisp.org>
43766         get-rusage-as: Improvement for Cygwin.
43767         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
43768         areas that are merely reserved.
43770 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
43772         strftime: remove dependencies on multibyte modules
43774         strftime depended on mbrlen, mbsinit, and wchar, but these modules
43775         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
43776         only if __osf__ is defined, and I suspect OSF doesn't need these
43777         other modules.  If my guess is wrong, we'll need to come up with a
43778         variant of strftime that doesn't need the multibyte modules.
43780         I discovered this problem when attempting modify Emacs to use the
43781         strftime module.  With the previous gnulib, this caused Emacs to
43782         need 31 new files, ranging from lib/config.charset to
43783         m4/wint_t.m4.  This was overkill and I expect would be offputting
43784         to the Emacs maintainers.  After this change, only 6 new files are
43785         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
43786         stdbool.m4, and tm_gmtoff.m4.
43788         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
43789         Suggested by Bruno Haible in
43790         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
43791         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
43792         and do not check for wchar.h.
43793         * modules/strftime (Files): Remove m4/mbstate_t.m4.
43794         (Depends-on): Remove mbrlen, mbsinit, wchar.
43796 2011-01-18  Bruno Haible  <bruno@clisp.org>
43798         Tests for module 'get-rusage-as'.
43799         * modules/get-rusage-as-tests: New file.
43800         * tests/test-get-rusage-as.c: New file.
43802         New module 'get-rusage-as'.
43803         * modules/get-rusage-as: New file.
43804         * lib/resource-ext.h: New file.
43805         * lib/get-rusage-as.c: New file.
43807 2011-01-17  Eric Blake  <eblake@redhat.com>
43809         sigaction: relax license from LGPLv3+ to LGPLv2+
43810         * modules/sigaction (License): Relax to LGPLv2+.
43812 2011-01-14  Bruno Haible  <bruno@clisp.org>
43814         filemode: Make function declarations usable in C++ mode.
43815         * lib/filemode.h: Enclose function declarations in extern "C" block.
43816         Reported by John W. Eaton <jwe@gnu.org>.
43818 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
43820         save-cwd: no longer include "xgetcwd.h"
43821         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
43822         This avoids a compilation failure in projects that use save-cwd
43823         without also using the xgetcwd module.
43825 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43827         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
43828         This is so that a program like Emacs, which needs only dtoastr,
43829         does not have to bother with distributing and compiling ftoastr
43830         and ldtoastr.
43831         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
43832         * modules/dtoastr, modules/ldtoastr: New files.
43833         * modules/ftoastr: Now works just for 'float'.
43834         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
43835         (Makefile.am): Remove ftoastr.h (not needed and no effect),
43836         dtoastr.c, ldtoastr.c.
43838 2011-01-11  Jim Meyering  <meyering@redhat.com>
43840         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
43841         There is no need to work around the lack of the fchdir function,
43842         since gnulib can now provide a replacement when required.
43843         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
43844         * modules/save-cwd (Depends-on): Add fchdir.
43846 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
43848         openat, save-cwd: avoid xmalloc
43850         This removes a direct (but undocumented) dependency of openat on
43851         xalloc, along with an indirect dependency via save-cwd.  It also
43852         removes a dependency of save-cwd on xgetcwd, and thereby
43853         indirectly on xalloc.  This change causes the openat substitute
43854         to fall back on save_cwd when memory is tight, and for save_cwd to
43855         fail instead of dying when memory is tight, but that's good enough.
43856         Problem and initial idea for fix reported by Bastien Roucaries in
43857         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
43859         * lib/openat-proc.c: Include stdlib.h (for malloc), not
43860         xalloc.h (for xmalloc).
43861         (openat_proc_name): Use malloc, not xmalloc.
43862         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
43863         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
43865         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
43866         This avoids heap allocation for file names whose lengths are in
43867         the range 512..1023, with the upper bound increasing to at most
43868         4031 depending on the platform's PATH_MAX.  (We do not want
43869         pathmax.h here as it might supply a non-constant PATH_MAX.)
43870         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
43871         Perhaps they should be moved to malloca.h?
43872         (OPENAT_BUFFER_SIZE): Use them.
43874 2011-01-10  Bruno Haible  <bruno@clisp.org>
43876         doc: Update users.txt.
43877         * users.txt: Add recutils.
43879 2011-01-09  Karl Berry  <karl@gnu.org>
43881         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
43883         * doc/configmake.texi: New file.
43884         * doc/gnulib.texi: Include it.
43885         * modules/configmake: Move documentation from here.
43887 2011-01-09  Bruno Haible  <bruno@clisp.org>
43889         Update to Unicode 6.0.0.
43890         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
43891         (get_lbp): Update for Unicode 6.0.0.
43892         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
43893         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
43894         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
43895         U+11001, U+11038..U+11046. Remove U+06DE.
43896         (uc_width): Fix bounds of planes.
43897         * tests/uniwidth/test-uc_width2.sh: Same updates as in
43898         lib/uniwidth/width.c.
43899         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
43900         trailing whitespace removed.
43901         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
43902         without comments, but with the original copyright notice.
43903         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
43904         * lib/unicase/ignorable.h: Likewise.
43905         * lib/unicase/tocasefold.h: Likewise.
43906         * lib/unicase/tolower.h: Likewise.
43907         * lib/unicase/totitle.h: Likewise.
43908         * lib/unicase/toupper.h: Likewise.
43909         * lib/unictype/bidi_of.h: Likewise.
43910         * lib/unictype/blocks.h: Likewise.
43911         * lib/unictype/categ_C.h: Likewise.
43912         * lib/unictype/categ_Cn.h: Likewise.
43913         * lib/unictype/categ_L.h: Likewise.
43914         * lib/unictype/categ_Ll.h: Likewise.
43915         * lib/unictype/categ_Lm.h: Likewise.
43916         * lib/unictype/categ_Lo.h: Likewise.
43917         * lib/unictype/categ_Lu.h: Likewise.
43918         * lib/unictype/categ_M.h: Likewise.
43919         * lib/unictype/categ_Mc.h: Likewise.
43920         * lib/unictype/categ_Me.h: Likewise.
43921         * lib/unictype/categ_Mn.h: Likewise.
43922         * lib/unictype/categ_N.h: Likewise.
43923         * lib/unictype/categ_Nd.h: Likewise.
43924         * lib/unictype/categ_No.h: Likewise.
43925         * lib/unictype/categ_P.h: Likewise.
43926         * lib/unictype/categ_Po.h: Likewise.
43927         * lib/unictype/categ_S.h: Likewise.
43928         * lib/unictype/categ_Sc.h: Likewise.
43929         * lib/unictype/categ_Sk.h: Likewise.
43930         * lib/unictype/categ_Sm.h: Likewise.
43931         * lib/unictype/categ_So.h: Likewise.
43932         * lib/unictype/categ_of.h: Likewise.
43933         * lib/unictype/combining.h: Likewise.
43934         * lib/unictype/ctype_alnum.h: Likewise.
43935         * lib/unictype/ctype_alpha.h: Likewise.
43936         * lib/unictype/ctype_graph.h: Likewise.
43937         * lib/unictype/ctype_lower.h: Likewise.
43938         * lib/unictype/ctype_print.h: Likewise.
43939         * lib/unictype/ctype_punct.h: Likewise.
43940         * lib/unictype/ctype_upper.h: Likewise.
43941         * lib/unictype/decdigit.h: Likewise.
43942         * lib/unictype/digit.h: Likewise.
43943         * lib/unictype/numeric.h: Likewise.
43944         * lib/unictype/pr_alphabetic.h: Likewise.
43945         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43946         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43947         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43948         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43949         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43950         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43951         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43952         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43953         * lib/unictype/pr_case_ignorable.h: Likewise.
43954         * lib/unictype/pr_cased.h: Likewise.
43955         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
43956         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
43957         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
43958         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
43959         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
43960         * lib/unictype/pr_combining.h: Likewise.
43961         * lib/unictype/pr_composite.h: Likewise.
43962         * lib/unictype/pr_currency_symbol.h: Likewise.
43963         * lib/unictype/pr_decimal_digit.h: Likewise.
43964         * lib/unictype/pr_deprecated.h: Likewise.
43965         * lib/unictype/pr_format_control.h: Likewise.
43966         * lib/unictype/pr_grapheme_base.h: Likewise.
43967         * lib/unictype/pr_grapheme_extend.h: Likewise.
43968         * lib/unictype/pr_grapheme_link.h: Likewise.
43969         * lib/unictype/pr_id_continue.h: Likewise.
43970         * lib/unictype/pr_id_start.h: Likewise.
43971         * lib/unictype/pr_ideographic.h: Likewise.
43972         * lib/unictype/pr_lowercase.h: Likewise.
43973         * lib/unictype/pr_math.h: Likewise.
43974         * lib/unictype/pr_numeric.h: Likewise.
43975         * lib/unictype/pr_other_alphabetic.h: Likewise.
43976         * lib/unictype/pr_other_id_continue.h: Likewise.
43977         * lib/unictype/pr_other_math.h: Likewise.
43978         * lib/unictype/pr_punctuation.h: Likewise.
43979         * lib/unictype/pr_sentence_terminal.h: Likewise.
43980         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43981         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43982         * lib/unictype/pr_unified_ideograph.h: Likewise.
43983         * lib/unictype/pr_uppercase.h: Likewise.
43984         * lib/unictype/pr_xid_continue.h: Likewise.
43985         * lib/unictype/pr_xid_start.h: Likewise.
43986         * lib/unictype/scripts.h: Likewise.
43987         * lib/unictype/scripts_byname.gperf: Likewise.
43988         * lib/unictype/sy_java_ident.h: Likewise.
43989         * lib/unigbrk/gbrkprop.h: Likewise.
43990         * lib/unilbrk/lbrkprop1.h: Likewise.
43991         * lib/unilbrk/lbrkprop2.h: Likewise.
43992         * lib/uninorm/decomposition-table2.h: Likewise.
43993         * lib/uniwbrk/wbrkprop.h: Likewise.
43994         * tests/unicase/test-cased.c: Likewise.
43995         * tests/unicase/test-ignorable.c: Likewise.
43996         * tests/unicase/test-uc_tolower.c: Likewise.
43997         * tests/unicase/test-uc_totitle.c: Likewise.
43998         * tests/unicase/test-uc_toupper.c: Likewise.
43999         * tests/unictype/test-categ_C.c: Likewise.
44000         * tests/unictype/test-categ_Cn.c: Likewise.
44001         * tests/unictype/test-categ_L.c: Likewise.
44002         * tests/unictype/test-categ_Ll.c: Likewise.
44003         * tests/unictype/test-categ_Lm.c: Likewise.
44004         * tests/unictype/test-categ_Lo.c: Likewise.
44005         * tests/unictype/test-categ_Lu.c: Likewise.
44006         * tests/unictype/test-categ_M.c: Likewise.
44007         * tests/unictype/test-categ_Mc.c: Likewise.
44008         * tests/unictype/test-categ_Me.c: Likewise.
44009         * tests/unictype/test-categ_Mn.c: Likewise.
44010         * tests/unictype/test-categ_N.c: Likewise.
44011         * tests/unictype/test-categ_Nd.c: Likewise.
44012         * tests/unictype/test-categ_No.c: Likewise.
44013         * tests/unictype/test-categ_P.c: Likewise.
44014         * tests/unictype/test-categ_Po.c: Likewise.
44015         * tests/unictype/test-categ_S.c: Likewise.
44016         * tests/unictype/test-categ_Sc.c: Likewise.
44017         * tests/unictype/test-categ_Sk.c: Likewise.
44018         * tests/unictype/test-categ_Sm.c: Likewise.
44019         * tests/unictype/test-categ_So.c: Likewise.
44020         * tests/unictype/test-ctype_alnum.c: Likewise.
44021         * tests/unictype/test-ctype_alpha.c: Likewise.
44022         * tests/unictype/test-ctype_graph.c: Likewise.
44023         * tests/unictype/test-ctype_lower.c: Likewise.
44024         * tests/unictype/test-ctype_print.c: Likewise.
44025         * tests/unictype/test-ctype_punct.c: Likewise.
44026         * tests/unictype/test-ctype_upper.c: Likewise.
44027         * tests/unictype/test-decdigit.h: Likewise.
44028         * tests/unictype/test-digit.h: Likewise.
44029         * tests/unictype/test-numeric.h: Likewise.
44030         * tests/unictype/test-pr_alphabetic.c: Likewise.
44031         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44032         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
44033         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
44034         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44035         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44036         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44037         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44038         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44039         * tests/unictype/test-pr_case_ignorable.c: Likewise.
44040         * tests/unictype/test-pr_cased.c: Likewise.
44041         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
44042         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
44043         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
44044         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
44045         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
44046         * tests/unictype/test-pr_combining.c: Likewise.
44047         * tests/unictype/test-pr_composite.c: Likewise.
44048         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44049         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44050         * tests/unictype/test-pr_deprecated.c: Likewise.
44051         * tests/unictype/test-pr_format_control.c: Likewise.
44052         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44053         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44054         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44055         * tests/unictype/test-pr_id_continue.c: Likewise.
44056         * tests/unictype/test-pr_id_start.c: Likewise.
44057         * tests/unictype/test-pr_ideographic.c: Likewise.
44058         * tests/unictype/test-pr_lowercase.c: Likewise.
44059         * tests/unictype/test-pr_math.c: Likewise.
44060         * tests/unictype/test-pr_numeric.c: Likewise.
44061         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44062         * tests/unictype/test-pr_other_id_continue.c: Likewise.
44063         * tests/unictype/test-pr_other_math.c: Likewise.
44064         * tests/unictype/test-pr_punctuation.c: Likewise.
44065         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44066         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44067         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44068         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44069         * tests/unictype/test-pr_uppercase.c: Likewise.
44070         * tests/unictype/test-pr_xid_continue.c: Likewise.
44071         * tests/unictype/test-pr_xid_start.c: Likewise.
44072         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44073         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44074         changes.
44075         * lib/unictype/categ_Cc.h: Likewise.
44076         * lib/unictype/categ_Cf.h: Likewise.
44077         * lib/unictype/categ_Co.h: Likewise.
44078         * lib/unictype/categ_Cs.h: Likewise.
44079         * lib/unictype/categ_Lt.h: Likewise.
44080         * lib/unictype/categ_Nl.h: Likewise.
44081         * lib/unictype/categ_Pc.h: Likewise.
44082         * lib/unictype/categ_Pd.h: Likewise.
44083         * lib/unictype/categ_Pe.h: Likewise.
44084         * lib/unictype/categ_Pf.h: Likewise.
44085         * lib/unictype/categ_Pi.h: Likewise.
44086         * lib/unictype/categ_Ps.h: Likewise.
44087         * lib/unictype/categ_Z.h: Likewise.
44088         * lib/unictype/categ_Zl.h: Likewise.
44089         * lib/unictype/categ_Zp.h: Likewise.
44090         * lib/unictype/categ_Zs.h: Likewise.
44091         * lib/unictype/ctype_blank.h: Likewise.
44092         * lib/unictype/ctype_cntrl.h: Likewise.
44093         * lib/unictype/ctype_digit.h: Likewise.
44094         * lib/unictype/ctype_space.h: Likewise.
44095         * lib/unictype/ctype_xdigit.h: Likewise.
44096         * lib/unictype/mirror.h: Likewise.
44097         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44098         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44099         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44100         * lib/unictype/pr_bidi_control.h: Likewise.
44101         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44102         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44103         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44104         * lib/unictype/pr_bidi_pdf.h: Likewise.
44105         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44106         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44107         * lib/unictype/pr_dash.h: Likewise.
44108         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44109         * lib/unictype/pr_diacritic.h: Likewise.
44110         * lib/unictype/pr_extender.h: Likewise.
44111         * lib/unictype/pr_hex_digit.h: Likewise.
44112         * lib/unictype/pr_hyphen.h: Likewise.
44113         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44114         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44115         * lib/unictype/pr_ignorable_control.h: Likewise.
44116         * lib/unictype/pr_iso_control.h: Likewise.
44117         * lib/unictype/pr_join_control.h: Likewise.
44118         * lib/unictype/pr_left_of_pair.h: Likewise.
44119         * lib/unictype/pr_line_separator.h: Likewise.
44120         * lib/unictype/pr_logical_order_exception.h: Likewise.
44121         * lib/unictype/pr_non_break.h: Likewise.
44122         * lib/unictype/pr_not_a_character.h: Likewise.
44123         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44124         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44125         * lib/unictype/pr_other_id_start.h: Likewise.
44126         * lib/unictype/pr_other_lowercase.h: Likewise.
44127         * lib/unictype/pr_other_uppercase.h: Likewise.
44128         * lib/unictype/pr_paired_punctuation.h: Likewise.
44129         * lib/unictype/pr_paragraph_separator.h: Likewise.
44130         * lib/unictype/pr_pattern_syntax.h: Likewise.
44131         * lib/unictype/pr_pattern_white_space.h: Likewise.
44132         * lib/unictype/pr_private_use.h: Likewise.
44133         * lib/unictype/pr_quotation_mark.h: Likewise.
44134         * lib/unictype/pr_radical.h: Likewise.
44135         * lib/unictype/pr_soft_dotted.h: Likewise.
44136         * lib/unictype/pr_space.h: Likewise.
44137         * lib/unictype/pr_titlecase.h: Likewise.
44138         * lib/unictype/pr_variation_selector.h: Likewise.
44139         * lib/unictype/pr_white_space.h: Likewise.
44140         * lib/unictype/pr_zero_width.h: Likewise.
44141         * lib/unictype/sy_c_ident.h: Likewise.
44142         * lib/unictype/sy_c_whitespace.h: Likewise.
44143         * lib/unictype/sy_java_whitespace.h: Likewise.
44144         * lib/uninorm/composition-table.gperf: Likewise.
44145         * lib/uninorm/decomposition-table1.h: Likewise.
44146         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
44147         LB8.
44148         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44149         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44150         * modules/unictype/*: Bump version number of expected libunistring
44151         version.
44153 2011-01-09  Bruno Haible  <bruno@clisp.org>
44155         Update to Unicode 5.2.0.
44156         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
44157         trailing whitespace removed.
44159 2011-01-09  Bruno Haible  <bruno@clisp.org>
44161         New Unicode character properties, from Unicode 5.2.0.
44162         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
44163         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
44164         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
44165         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
44166         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
44167         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
44168         uc_is_property_cased, uc_is_property_case_ignorable,
44169         uc_is_property_changes_when_lowercased,
44170         uc_is_property_changes_when_uppercased,
44171         uc_is_property_changes_when_titlecased,
44172         uc_is_property_changes_when_casefolded,
44173         uc_is_property_changes_when_casemapped): New declarations.
44174         * lib/unictype/pr_byname.gperf: Add the new properties.
44175         * modules/unictype/property-byname (Depends-on): Depend on the new
44176         properties modules.
44177         * modules/unictype/property-all (Depends-on): Likewise.
44178         * MODULES.html.sh (Unicode string functions): Add
44179         unictype/property-case-ignorable, unictype/property-cased,
44180         unictype/property-changes-when-casefolded,
44181         unictype/property-changes-when-casemapped,
44182         unictype/property-changes-when-lowercased,
44183         unictype/property-changes-when-titlecased,
44184         unictype/property-changes-when-uppercased.
44186         New module 'unictype/property-changes-when-casemapped'.
44187         * modules/unictype/property-changes-when-casemapped: New file.
44188         * lib/unictype/pr_changes_when_casemapped.c: New file.
44189         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
44190         generated by gen-uni-tables.
44191         * modules/unictype/property-changes-when-casemapped-tests: New file.
44192         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
44193         automatically generated by gen-uni-tables.
44195         New module 'unictype/property-changes-when-casefolded'.
44196         * modules/unictype/property-changes-when-casefolded: New file.
44197         * lib/unictype/pr_changes_when_casefolded.c: New file.
44198         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
44199         generated by gen-uni-tables.
44200         * modules/unictype/property-changes-when-casefolded-tests: New file.
44201         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
44202         automatically generated by gen-uni-tables.
44204         New module 'unictype/property-changes-when-titlecased'.
44205         * modules/unictype/property-changes-when-titlecased: New file.
44206         * lib/unictype/pr_changes_when_titlecased.c: New file.
44207         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
44208         generated by gen-uni-tables.
44209         * modules/unictype/property-changes-when-titlecased-tests: New file.
44210         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
44211         automatically generated by gen-uni-tables.
44213         New module 'unictype/property-changes-when-uppercased'.
44214         * modules/unictype/property-changes-when-uppercased: New file.
44215         * lib/unictype/pr_changes_when_uppercased.c: New file.
44216         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
44217         generated by gen-uni-tables.
44218         * modules/unictype/property-changes-when-uppercased-tests: New file.
44219         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
44220         automatically generated by gen-uni-tables.
44222         New module 'unictype/property-changes-when-lowercased'.
44223         * modules/unictype/property-changes-when-lowercased: New file.
44224         * lib/unictype/pr_changes_when_lowercased.c: New file.
44225         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
44226         generated by gen-uni-tables.
44227         * modules/unictype/property-changes-when-lowercased-tests: New file.
44228         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
44229         automatically generated by gen-uni-tables.
44231         New module 'unictype/property-case-ignorable'.
44232         * modules/unictype/property-case-ignorable: New file.
44233         * lib/unictype/pr_case_ignorable.c: New file.
44234         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
44235         by gen-uni-tables.
44236         * modules/unictype/property-case-ignorable-tests: New file.
44237         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
44238         generated by gen-uni-tables.
44240         New module 'unictype/property-cased'.
44241         * modules/unictype/property-cased: New file.
44242         * lib/unictype/pr_cased.c: New file.
44243         * lib/unictype/pr_cased.h: New file, automatically generated by
44244         gen-uni-tables.
44245         * modules/unictype/property-cased-tests: New file.
44246         * tests/unictype/test-pr_cased.c: New file, automatically generated by
44247         gen-uni-tables.
44249 2011-01-09  Bruno Haible  <bruno@clisp.org>
44251         Update to Unicode 5.2.0.
44252         * lib/gen-uni-tables.c (output_predicate, output_category,
44253         output_combclass, output_bidi_category, output_decimal_digit_test,
44254         output_decimal_digit, output_digit_test, output_digit,
44255         output_numeric_test, output_numeric, output_mirror, output_scripts,
44256         output_scripts_byname, output_blocks, output_ident_category): Fix
44257         comment header.
44258         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
44259         get_wbp.
44260         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
44261         items.
44262         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
44263         Changes_When_Lowercased, Changes_When_Uppercased,
44264         Changes_When_Titlecased, Changes_When_Casefolded,
44265         Changes_When_Casemapped.
44266         (is_property_alphabetic, is_property_default_ignorable_code_point):
44267         Update for Unicode 5.2.0.
44268         (is_property_cased, is_property_case_ignorable,
44269         is_property_changes_when_lowercased,
44270         is_property_changes_when_uppercased,
44271         is_property_changes_when_titlecased,
44272         is_property_changes_when_casefolded,
44273         is_property_changes_when_casemapped): New functions.
44274         (output_properties): Output also the properties cased, case_ignorable,
44275         changes_when_lowercased, changes_when_uppercased,
44276         changes_when_titlecased, changes_when_casefolded,
44277         changes_when_casemapped.
44278         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
44279         Unicode TR#11 revision 17 -> 19.
44280         (LBP_CP): New enumeration value.
44281         (LBP_*): Adjust values accordingly.
44282         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44283         TR#14 revision 22 -> 24.
44284         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
44285         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
44286         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
44287         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
44288         is_WBP_MIDLETTER.
44289         (output_composition_tables): Allow for 24 bits instead of 16 bits in
44290         the code1 and code2 of each composition rule.
44291         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
44292         * lib/unicase/ignorable.h: Likewise.
44293         * lib/unicase/tocasefold.h: Likewise.
44294         * lib/unicase/tolower.h: Likewise.
44295         * lib/unicase/totitle.h: Likewise.
44296         * lib/unicase/toupper.h: Likewise.
44297         * lib/unictype/bidi_of.h: Likewise.
44298         * lib/unictype/blocks.h: Likewise.
44299         * lib/unictype/categ_C.h: Likewise.
44300         * lib/unictype/categ_Cf.h: Likewise.
44301         * lib/unictype/categ_Cn.h: Likewise.
44302         * lib/unictype/categ_L.h: Likewise.
44303         * lib/unictype/categ_Ll.h: Likewise.
44304         * lib/unictype/categ_Lm.h: Likewise.
44305         * lib/unictype/categ_Lo.h: Likewise.
44306         * lib/unictype/categ_Lu.h: Likewise.
44307         * lib/unictype/categ_M.h: Likewise.
44308         * lib/unictype/categ_Mc.h: Likewise.
44309         * lib/unictype/categ_Mn.h: Likewise.
44310         * lib/unictype/categ_N.h: Likewise.
44311         * lib/unictype/categ_Nd.h: Likewise.
44312         * lib/unictype/categ_Nl.h: Likewise.
44313         * lib/unictype/categ_No.h: Likewise.
44314         * lib/unictype/categ_P.h: Likewise.
44315         * lib/unictype/categ_Pd.h: Likewise.
44316         * lib/unictype/categ_Po.h: Likewise.
44317         * lib/unictype/categ_S.h: Likewise.
44318         * lib/unictype/categ_Sc.h: Likewise.
44319         * lib/unictype/categ_So.h: Likewise.
44320         * lib/unictype/categ_of.h: Likewise.
44321         * lib/unictype/combining.h: Likewise.
44322         * lib/unictype/ctype_alnum.h: Likewise.
44323         * lib/unictype/ctype_alpha.h: Likewise.
44324         * lib/unictype/ctype_graph.h: Likewise.
44325         * lib/unictype/ctype_lower.h: Likewise.
44326         * lib/unictype/ctype_print.h: Likewise.
44327         * lib/unictype/ctype_punct.h: Likewise.
44328         * lib/unictype/ctype_upper.h: Likewise.
44329         * lib/unictype/decdigit.h: Likewise.
44330         * lib/unictype/digit.h: Likewise.
44331         * lib/unictype/numeric.h: Likewise.
44332         * lib/unictype/pr_alphabetic.h: Likewise.
44333         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44334         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44335         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44336         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44337         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44338         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44339         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44340         * lib/unictype/pr_combining.h: Likewise.
44341         * lib/unictype/pr_composite.h: Likewise.
44342         * lib/unictype/pr_currency_symbol.h: Likewise.
44343         * lib/unictype/pr_dash.h: Likewise.
44344         * lib/unictype/pr_decimal_digit.h: Likewise.
44345         * lib/unictype/pr_deprecated.h: Likewise.
44346         * lib/unictype/pr_diacritic.h: Likewise.
44347         * lib/unictype/pr_extender.h: Likewise.
44348         * lib/unictype/pr_grapheme_base.h: Likewise.
44349         * lib/unictype/pr_grapheme_extend.h: Likewise.
44350         * lib/unictype/pr_grapheme_link.h: Likewise.
44351         * lib/unictype/pr_id_continue.h: Likewise.
44352         * lib/unictype/pr_id_start.h: Likewise.
44353         * lib/unictype/pr_ideographic.h: Likewise.
44354         * lib/unictype/pr_ignorable_control.h: Likewise.
44355         * lib/unictype/pr_logical_order_exception.h: Likewise.
44356         * lib/unictype/pr_lowercase.h: Likewise.
44357         * lib/unictype/pr_numeric.h: Likewise.
44358         * lib/unictype/pr_other_alphabetic.h: Likewise.
44359         * lib/unictype/pr_punctuation.h: Likewise.
44360         * lib/unictype/pr_sentence_terminal.h: Likewise.
44361         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44362         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44363         * lib/unictype/pr_unified_ideograph.h: Likewise.
44364         * lib/unictype/pr_uppercase.h: Likewise.
44365         * lib/unictype/pr_xid_continue.h: Likewise.
44366         * lib/unictype/pr_xid_start.h: Likewise.
44367         * lib/unictype/pr_zero_width.h: Likewise.
44368         * lib/unictype/scripts.h: Likewise.
44369         * lib/unictype/scripts_byname.gperf: Likewise.
44370         * lib/unictype/sy_java_ident.h: Likewise.
44371         * lib/unigbrk/gbrkprop.h: Likewise.
44372         * lib/unilbrk/lbrkprop1.h: Likewise.
44373         * lib/unilbrk/lbrkprop2.h: Likewise.
44374         * lib/unilbrk/lbrktables.h: Likewise.
44375         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
44376         LBP_CP. Implement rule LB30.
44377         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
44378         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
44379         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
44380         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
44381         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
44382         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
44383         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
44384         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
44385         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
44386         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
44387         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
44388         bits instead of 16 bits in the code1 and code2 of each composition
44389         rule.
44390         (uc_composition): Update for Unicode 5.2.0.
44391         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
44392         * lib/uninorm/decomposition-table2.h: Likewise.
44393         * lib/uniwbrk/wbrkprop.h: Likewise.
44394         * tests/unicase/test-cased.c: Likewise.
44395         * tests/unicase/test-ignorable.c: Likewise.
44396         * tests/unicase/test-uc_tolower.c: Likewise.
44397         * tests/unicase/test-uc_totitle.c: Likewise.
44398         * tests/unicase/test-uc_toupper.c: Likewise.
44399         * tests/unictype/test-categ_C.c: Likewise.
44400         * tests/unictype/test-categ_Cf.c: Likewise.
44401         * tests/unictype/test-categ_Cn.c: Likewise.
44402         * tests/unictype/test-categ_L.c: Likewise.
44403         * tests/unictype/test-categ_Ll.c: Likewise.
44404         * tests/unictype/test-categ_Lm.c: Likewise.
44405         * tests/unictype/test-categ_Lo.c: Likewise.
44406         * tests/unictype/test-categ_Lu.c: Likewise.
44407         * tests/unictype/test-categ_M.c: Likewise.
44408         * tests/unictype/test-categ_Mc.c: Likewise.
44409         * tests/unictype/test-categ_Mn.c: Likewise.
44410         * tests/unictype/test-categ_N.c: Likewise.
44411         * tests/unictype/test-categ_Nd.c: Likewise.
44412         * tests/unictype/test-categ_Nl.c: Likewise.
44413         * tests/unictype/test-categ_No.c: Likewise.
44414         * tests/unictype/test-categ_P.c: Likewise.
44415         * tests/unictype/test-categ_Pd.c: Likewise.
44416         * tests/unictype/test-categ_Po.c: Likewise.
44417         * tests/unictype/test-categ_S.c: Likewise.
44418         * tests/unictype/test-categ_Sc.c: Likewise.
44419         * tests/unictype/test-categ_So.c: Likewise.
44420         * tests/unictype/test-ctype_alnum.c: Likewise.
44421         * tests/unictype/test-ctype_alpha.c: Likewise.
44422         * tests/unictype/test-ctype_graph.c: Likewise.
44423         * tests/unictype/test-ctype_lower.c: Likewise.
44424         * tests/unictype/test-ctype_print.c: Likewise.
44425         * tests/unictype/test-ctype_punct.c: Likewise.
44426         * tests/unictype/test-ctype_upper.c: Likewise.
44427         * tests/unictype/test-decdigit.h: Likewise.
44428         * tests/unictype/test-digit.h: Likewise.
44429         * tests/unictype/test-numeric.h: Likewise.
44430         * tests/unictype/test-pr_alphabetic.c: Likewise.
44431         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
44432         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
44433         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
44434         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
44435         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
44436         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
44437         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
44438         * tests/unictype/test-pr_combining.c: Likewise.
44439         * tests/unictype/test-pr_composite.c: Likewise.
44440         * tests/unictype/test-pr_currency_symbol.c: Likewise.
44441         * tests/unictype/test-pr_dash.c: Likewise.
44442         * tests/unictype/test-pr_decimal_digit.c: Likewise.
44443         * tests/unictype/test-pr_deprecated.c: Likewise.
44444         * tests/unictype/test-pr_diacritic.c: Likewise.
44445         * tests/unictype/test-pr_extender.c: Likewise.
44446         * tests/unictype/test-pr_grapheme_base.c: Likewise.
44447         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
44448         * tests/unictype/test-pr_grapheme_link.c: Likewise.
44449         * tests/unictype/test-pr_id_continue.c: Likewise.
44450         * tests/unictype/test-pr_id_start.c: Likewise.
44451         * tests/unictype/test-pr_ideographic.c: Likewise.
44452         * tests/unictype/test-pr_ignorable_control.c: Likewise.
44453         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
44454         * tests/unictype/test-pr_lowercase.c: Likewise.
44455         * tests/unictype/test-pr_numeric.c: Likewise.
44456         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
44457         * tests/unictype/test-pr_punctuation.c: Likewise.
44458         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
44459         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
44460         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
44461         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
44462         * tests/unictype/test-pr_uppercase.c: Likewise.
44463         * tests/unictype/test-pr_xid_continue.c: Likewise.
44464         * tests/unictype/test-pr_xid_start.c: Likewise.
44465         * tests/unictype/test-pr_zero_width.c: Likewise.
44466         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
44467         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
44468         changed behaviour: line breaking is now disallowed between a letter
44469         or '=' and '('.
44470         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
44471         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
44472         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
44473         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
44474         * tests/uniwidth/test-uc_width2.sh: Same updates as in
44475         lib/uniwidth/width.c.
44476         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
44477         without comments, but with the original copyright notice.
44478         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
44479         changes.
44480         * lib/unictype/categ_Cc.h: Likewise.
44481         * lib/unictype/categ_Co.h: Likewise.
44482         * lib/unictype/categ_Cs.h: Likewise.
44483         * lib/unictype/categ_Lt.h: Likewise.
44484         * lib/unictype/categ_Me.h: Likewise.
44485         * lib/unictype/categ_Pc.h: Likewise.
44486         * lib/unictype/categ_Pe.h: Likewise.
44487         * lib/unictype/categ_Pf.h: Likewise.
44488         * lib/unictype/categ_Pi.h: Likewise.
44489         * lib/unictype/categ_Ps.h: Likewise.
44490         * lib/unictype/categ_Sk.h: Likewise.
44491         * lib/unictype/categ_Sm.h: Likewise.
44492         * lib/unictype/categ_Z.h: Likewise.
44493         * lib/unictype/categ_Zl.h: Likewise.
44494         * lib/unictype/categ_Zp.h: Likewise.
44495         * lib/unictype/categ_Zs.h: Likewise.
44496         * lib/unictype/ctype_blank.h: Likewise.
44497         * lib/unictype/ctype_cntrl.h: Likewise.
44498         * lib/unictype/ctype_digit.h: Likewise.
44499         * lib/unictype/ctype_space.h: Likewise.
44500         * lib/unictype/ctype_xdigit.h: Likewise.
44501         * lib/unictype/mirror.h: Likewise.
44502         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44503         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44504         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44505         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44506         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44507         * lib/unictype/pr_bidi_control.h: Likewise.
44508         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44509         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44510         * lib/unictype/pr_bidi_pdf.h: Likewise.
44511         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44512         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44513         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44514         * lib/unictype/pr_format_control.h: Likewise.
44515         * lib/unictype/pr_hex_digit.h: Likewise.
44516         * lib/unictype/pr_hyphen.h: Likewise.
44517         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44518         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44519         * lib/unictype/pr_iso_control.h: Likewise.
44520         * lib/unictype/pr_join_control.h: Likewise.
44521         * lib/unictype/pr_left_of_pair.h: Likewise.
44522         * lib/unictype/pr_line_separator.h: Likewise.
44523         * lib/unictype/pr_math.h: Likewise.
44524         * lib/unictype/pr_non_break.h: Likewise.
44525         * lib/unictype/pr_not_a_character.h: Likewise.
44526         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44527         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44528         * lib/unictype/pr_other_id_continue.h: Likewise.
44529         * lib/unictype/pr_other_id_start.h: Likewise.
44530         * lib/unictype/pr_other_lowercase.h: Likewise.
44531         * lib/unictype/pr_other_math.h: Likewise.
44532         * lib/unictype/pr_other_uppercase.h: Likewise.
44533         * lib/unictype/pr_paired_punctuation.h: Likewise.
44534         * lib/unictype/pr_paragraph_separator.h: Likewise.
44535         * lib/unictype/pr_pattern_syntax.h: Likewise.
44536         * lib/unictype/pr_pattern_white_space.h: Likewise.
44537         * lib/unictype/pr_private_use.h: Likewise.
44538         * lib/unictype/pr_quotation_mark.h: Likewise.
44539         * lib/unictype/pr_radical.h: Likewise.
44540         * lib/unictype/pr_soft_dotted.h: Likewise.
44541         * lib/unictype/pr_space.h: Likewise.
44542         * lib/unictype/pr_titlecase.h: Likewise.
44543         * lib/unictype/pr_variation_selector.h: Likewise.
44544         * lib/unictype/pr_white_space.h: Likewise.
44545         * lib/unictype/sy_c_ident.h: Likewise.
44546         * lib/unictype/sy_c_whitespace.h: Likewise.
44547         * lib/unictype/sy_java_whitespace.h: Likewise.
44548         * modules/uni*/*: Bump version number of expected libunistring version.
44549         Reported by Simon Josefsson.
44551 2011-01-09  Karl Heuer  <kwzh@gnu.org>
44553         useless-if-before-free: fix typo in --help and make the internal,
44554         automatic version date update process work once again.
44555         --help output contained a NUL character instead of the
44556         backslash-zero that was intended.  Also, the "must lie within
44557         the first 8 lines" line is on line 9, and hence not getting
44558         automatically updated.
44559         * build-aux/useless-if-before-free: Fix the former by adding a
44560         backslash, and the latter by condensing the three lines of what-it-does
44561         to a single line, leaving one line of slack for the future.
44563 2011-01-09  Bruno Haible  <bruno@clisp.org>
44565         uniwidth/width: Fix width of U+1D173..U+1D17A.
44566         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
44567         symbolic_width, output_width_property_test): New functions.
44568         (main): Invoke output_nonspacing_property, output_width_property_test.
44569         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
44570         U+1D173..U+1D17A.
44571         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
44572         1.
44573         * modules/uniwidth/*: Bump version number of expected libunistring
44574         version.
44575         * modules/unilbrk/*: Likewise.
44577 2011-01-08  Bruno Haible  <bruno@clisp.org>
44579         uninorm tests: Preserve copyright of Unicode data file.
44580         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
44581         Mention modifications.
44583 2011-01-08  Bruno Haible  <bruno@clisp.org>
44585         gen-uni-tables: Prepare for Unicode 5.2.0.
44586         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
44587         (debug_output_lbp, output_lbp): Update.
44589 2011-01-08  Bruno Haible  <bruno@clisp.org>
44591         unilbrk: Clarify gen-uni-tables.c code.
44592         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
44593         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
44594         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
44596 2011-01-07  Bruno Haible  <bruno@clisp.org>
44598         strtod: Restore errno when successfully parsing Infinity or NaN.
44599         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
44600         restore the original errno.
44602 2011-01-07  Bruno Haible  <bruno@clisp.org>
44604         remove test: Avoid failure on HP-UX 11.
44605         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
44607 2011-01-07  Bruno Haible  <bruno@clisp.org>
44609         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
44610         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
44611         error code.
44613 2011-01-07  Pádraig Brady  <P@draigBrady.com>
44615         ignore-value: fixup comments, and add Eric Blake
44616         as an author since he rewrote the macros.
44617         * lib/ignore-value.h (ignore_value):  State that
44618         we now support aggregates.  Also specify exactly
44619         when the GCC warn_unused_result feature was added.
44621 2011-01-06  Eric Blake  <eblake@redhat.com>
44623         ignore-value: support aggregate types
44624         * lib/ignore-value.h (ignore_value): Provide separate gcc
44625         definition.
44626         * modules/ignore-value-tests: New test module.
44627         * tests/test-ignore-value.c: New test.
44629         maint.mk: improve sc_prohibit_strcmp regex
44630         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
44631         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
44632         definition of STRNEQ.
44634         signal: work around Haiku issue with SIGBUS
44635         * lib/siglist.h: Add comment.
44636         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
44637         strsignal's favoring of SIGSEGV.
44638         * tests/test-signal.c (main): Avoid test failure.
44639         * doc/posix-headers/signal.texi (signal.h): Document the issue.
44640         Reported by Scott McCreary.
44642         maint.mk: add pre-release check to ensure submodule commits are public
44643         * top/maint.mk (public-submodule-commit): New rule.
44644         (submodule-checks): New variable.
44645         (alpha beta stable): Depend on the variable.
44647 2011-01-05  Pádraig Brady  <P@draigBrady.com>
44648         and Jim Meyering  <meyering@redhat.com>
44650         ignore-value: make ignore_value more generic; deprecate ignore_ptr
44651         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
44652         (ATTRIBUTE_DEPRECATED): Define.
44653         (_ignore_case): New function.
44654         (ignore_value): New macro, to replace the old function.
44655         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
44656         * modules/ignore-value (Depends-on): Add stdint.
44658 2011-01-04  Eric Blake  <eblake@redhat.com>
44660         doc: regenerate INSTALL
44661         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
44662         @firstparagraphindent support, now that autoconf dropped it.
44663         (INSTALL_PRELUDE): Reinstate old macro.
44664         * doc/install.texi: Resync from autoconf.
44665         * doc/INSTALL: Reflect recent autoconf update.
44666         * doc/INSTALL.ISO: Likewise.
44667         * doc/INSTALL.UTF-8: Likewise.
44668         Reported by Karl Berry.
44670 2011-01-04  Bruce Korb  <address@hidden>
44672         git-version-gen: avoid a sub-shell
44673         * build-aux/git-version-gen: Redirect stderr in `...` via
44674         "exec 2>...", rather than via an added sub-shell.
44676 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
44678         git-version-gen: use (...) rather than sh -c '...'
44679         * build-aux/git-version-gen: Rather than hard-coding a shell's name
44680         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
44682 2011-01-03  Jim Meyering  <meyering@redhat.com>
44684         git-version-gen: convert leading TABs to spaces
44685         * build-aux/git-version-gen: Expand leading TABs.
44687         git-version-gen: handle failed "git rev-list"
44688         * build-aux/git-version-gen: Rather than leaking a "fatal" error
44689         from git and proceeding as if it had succeeded but printed no SHA1
44690         checksums, suppress the diagnostic and handle the failure.
44691         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
44693         git-version-gen: include command name in one more diagnostic
44694         * build-aux/git-version-gen: When the required .tarball-version file
44695         was missing or unreadable, you might see the diagnostic from "cat",
44696         but no trace of the name of the invoking script.  Now, you still see
44697         the diagnostic from cat, but also get one from "git-version-gen: ".
44698         Inspired by a patch from Bruce Korb.
44700         update-copyright: adjust test to match changed code
44701         * tests/test-update-copyright.sh: Change test's expected output
44702         to match new actual output.
44704 2011-01-02  Bruno Haible  <bruno@clisp.org>
44706         getlogin_r: Avoid test failure on HP-UX 11.
44707         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
44708         ERANGE when the second argument is zero.
44709         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
44710         portability problem.
44712 2011-01-02  Bruce Korb  <bkorb@gnu.org>
44714         * build-aux/update-copyright: doc Simon's changes
44716 2011-01-02  Simon Josefsson  <simon@josefsson.org>
44718         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
44719         environment variable.
44721 2011-01-02  Bruno Haible  <bruno@clisp.org>
44723         unigbrk: Avoid gcc warnings.
44724         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
44725         unused variable.
44726         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
44727         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
44728         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
44729         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
44730         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
44731         Change type of first argument to 'const char *'.
44732         (main): Remove unused variable.
44733         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
44734         type of first argument to 'const char *'.
44735         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
44736         Likewise.
44737         (main): Change type of variable 's'.
44738         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
44739         to 'int'.
44741 2011-01-02  Bruno Haible  <bruno@clisp.org>
44743         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
44744         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
44745         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
44746         bug.
44747         * lib/pwrite.c: Undo 2010-12-31 patch.
44748         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
44750 2011-01-02  Bruno Haible  <bruno@clisp.org>
44752         pread: Fix test whether it works.
44753         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
44755 2011-01-02  Bruno Haible  <bruno@clisp.org>
44757         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
44758         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
44759         ends in "6". Don't require a specific month name. Try also the locale
44760         names found on HP-UX 11 and Solaris 7.
44762 2011-01-02  Bruno Haible  <bruno@clisp.org>
44764         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
44765         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
44766         C linkage.
44767         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
44769 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44771         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
44772         for consistency, since the "cluster" term is not used elsewhere.
44773         * lib/unigbrk.in.h: Update name.
44774         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
44775         * lib/unigbrk/u16-grapheme-next.c: Update name.
44776         * lib/unigbrk/u16-grapheme-prev.c: Update name.
44777         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
44778         * lib/unigbrk/u32-grapheme-next.c: Update name.
44779         * lib/unigbrk/u32-grapheme-prev.c: Update name.
44780         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
44781         * lib/unigbrk/u8-grapheme-next.c: Update name.
44782         * lib/unigbrk/u8-grapheme-prev.c: Update name.
44783         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
44784         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
44785         Suggested by Bruno Haible.
44787 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44789         Remove module 'u8-grapheme-len' as too redundant with
44790         'u8-grapheme-next'.
44791         * modules/unigbrk/u8-grapheme-len: Delete file.
44792         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
44793         * lib/unigbrk.in.h: Remove prototype for deleted function.
44794         * lib/unigbrk/u8-grapheme-len.c: Delete file.
44795         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
44797         Remove module 'u16-grapheme-len' as too redundant with
44798         'u16-grapheme-next'.
44799         * modules/unigbrk/u16-grapheme-len: Delete file.
44800         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
44801         * lib/unigbrk.in.h: Remove prototype for deleted function.
44802         * lib/unigbrk/u16-grapheme-len.c: Delete file.
44803         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
44805         Remove module 'u32-grapheme-len' as too redundant with
44806         'u32-grapheme-next'.
44807         * modules/unigbrk/u32-grapheme-len: Delete file.
44808         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
44809         * lib/unigbrk.in.h: Remove prototype for deleted function.
44810         * lib/unigbrk/u32-grapheme-len.c: Delete file.
44811         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
44813         Suggested by Bruno Haible.
44815 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
44817         * unigbrk.in.h: Fix typo: "ben" => "been".
44818         Reported by Bruno Haible.
44820 2011-01-01  Jim Meyering  <meyering@redhat.com>
44822         maint: update almost all copyright ranges to include 2011
44823         Run the new "make update-copyright" rule.
44825 2011-01-01  Jim Meyering  <meyering@redhat.com>
44827         maint: update-copyright: exempt doc/INSTALL*
44828         * Makefile (update-copyright): Also exclude doc/INSTALL*,
44829         since they are generated.  Suggested by Bruno Haible.
44831 2011-01-01  Jim Meyering  <meyering@redhat.com>
44833         maint: refine the update-copyright rule
44834         * Makefile (update-copyright): Also exclude any file that includes
44835         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
44836         code that merely generates the comment.
44838 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44840         New module 'u8-grapheme-len'.
44841         * modules/unigbrk/u8-grapheme-len: New file.
44842         * modules/unigbrk/u8-grapheme-len-tests: New file.
44843         * lib/unigbrk.in.h: Add prototype for new function.
44844         * lib/unigbrk/u8-grapheme-len.c: New file.
44845         * tests/unigbrk/test-u8-grapheme-len.c: New file.
44847         New module 'u16-grapheme-len'.
44848         * modules/unigbrk/u16-grapheme-len: New file.
44849         * modules/unigbrk/u16-grapheme-len-tests: New file.
44850         * lib/unigbrk.in.h: Add prototype for new function.
44851         * lib/unigbrk/u16-grapheme-len.c: New file.
44852         * tests/unigbrk/test-u16-grapheme-len.c: New file.
44854         New module 'u32-grapheme-len'.
44855         * modules/unigbrk/u32-grapheme-len: New file.
44856         * modules/unigbrk/u32-grapheme-len-tests: New file.
44857         * lib/unigbrk.in.h: Add prototype for new function.
44858         * lib/unigbrk/u32-grapheme-len.c: New file.
44859         * tests/unigbrk/test-u32-grapheme-len.c: New file.
44861         New module 'u8-grapheme-next'.
44862         * modules/unigbrk/u8-grapheme-next: New file.
44863         * modules/unigbrk/u8-grapheme-next-tests: New file.
44864         * lib/unigbrk.in.h: Add prototype for new function.
44865         * lib/unigbrk/u8-grapheme-next.c: New file.
44866         * tests/unigbrk/test-u8-grapheme-next.c: New file.
44868         New module 'u16-grapheme-next'.
44869         * modules/unigbrk/u16-grapheme-next: New file.
44870         * modules/unigbrk/u16-grapheme-next-tests: New file.
44871         * lib/unigbrk.in.h: Add prototype for new function.
44872         * lib/unigbrk/u16-grapheme-next.c: New file.
44873         * tests/unigbrk/test-u16-grapheme-next.c: New file.
44875         New module 'u32-grapheme-next'.
44876         * modules/unigbrk/u32-grapheme-next: New file.
44877         * modules/unigbrk/u32-grapheme-next-tests: New file.
44878         * lib/unigbrk.in.h: Add prototype for new function.
44879         * lib/unigbrk/u32-grapheme-next.c: New file.
44880         * tests/unigbrk/test-u32-grapheme-next.c: New file.
44882         New module 'u8-grapheme-prev'.
44883         * modules/unigbrk/u8-grapheme-prev: New file.
44884         * modules/unigbrk/u8-grapheme-prev-tests: New file.
44885         * lib/unigbrk.in.h: Add prototype for new function.
44886         * lib/unigbrk/u8-grapheme-prev.c: New file.
44887         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
44889         New module 'u16-grapheme-prev'.
44890         * modules/unigbrk/u16-grapheme-prev: New file.
44891         * modules/unigbrk/u16-grapheme-prev-tests: New file.
44892         * lib/unigbrk.in.h: Add prototype for new function.
44893         * lib/unigbrk/u16-grapheme-prev.c: New file.
44894         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
44896         New module 'u32-grapheme-prev'.
44897         * modules/unigbrk/u32-grapheme-prev: New file.
44898         * modules/unigbrk/u32-grapheme-prev-tests: New file.
44899         * lib/unigbrk.in.h: Add prototype for new function.
44900         * lib/unigbrk/u32-grapheme-prev.c: New file.
44901         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
44903         New module 'u8-grapheme-breaks'.
44904         * modules/unigbrk/u8-grapheme-breaks: New file.
44905         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
44906         * lib/unigbrk.in.h: Add prototype for new function.
44907         * lib/unigbrk/u8-grapheme-breaks.c: New file.
44908         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
44910         New module 'u16-grapheme-breaks'.
44911         * modules/unigbrk/u16-grapheme-breaks: New file.
44912         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
44913         * lib/unigbrk.in.h: Add prototype for new function.
44914         * lib/unigbrk/u16-grapheme-breaks.c: New file.
44915         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
44917         New module 'u32-grapheme-breaks'.
44918         * modules/unigbrk/u32-grapheme-breaks: New file.
44919         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
44920         * lib/unigbrk.in.h: Add prototype for new function.
44921         * lib/unigbrk/u32-grapheme-breaks.c: New file.
44922         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
44924         New module 'ulc-grapheme-breaks'.
44925         * modules/unigbrk/ulc-grapheme-breaks: New file.
44926         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
44927         * m4/locale-ar.m4: New file.
44928         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
44929         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
44930         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
44932 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
44934         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
44935         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
44936         modified how this file was generated before I initially submitted
44937         the module, but failed to regenerate it.  This meant that several
44938         of the level2 entries were wrong.
44939         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
44940         Remove the division-by-2 that is folded into the table now that
44941         gbrkprop.h has been regenerated properly.  Now -1 entries are
44942         handled correctly.
44944         New module 'unigbrk/uc-gbrk-prop-tests'.
44945         * modules/unigbrk/uc-gbrk-prop-tests: New file.
44946         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
44947         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
44948         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
44950 2011-01-01  Bruno Haible  <bruno@clisp.org>
44952         Avoid use of hexadecimal escapes.
44953         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
44954         instead of hexadecimal escapes.
44956 2011-01-01  Jim Meyering  <meyering@redhat.com>
44958         maint: new rule to update copyright year ranges
44959         * Makefile (update-copyright): New rule.
44961         maint: indent with TABs in Makefile
44962         * Makefile: Expand leading sequences of spaces to TABs
44964         version-etc: update the copyright year it reports
44965         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
44967 2010-12-31  Bruno Haible  <bruno@clisp.org>
44969         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
44970         * lib/isfinite.c (zerof, zerod, zerol): New variables.
44971         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
44972         zero.
44974 2010-12-31  Bruno Haible  <bruno@clisp.org>
44976         pwrite: Work around HP-UX 11.11 bug.
44977         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
44978         works and set REPLACE_PWRITE if not.
44979         * lib/pwrite.c (pwrite): Add an implementation that uses the system
44980         function.
44981         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
44983 2010-12-31  Bruno Haible  <bruno@clisp.org>
44985         pread: Work around HP-UX 11 bugs.
44986         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
44987         and set REPLACE_PREAD if not.
44988         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
44990 2010-12-31  Eric Blake  <eblake@redhat.com>
44992         nl_langinfo: fix YESEXPR on Irix 6.5
44993         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
44994         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
44995         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
44996         it.
44998 2010-12-31  Bruno Haible  <bruno@clisp.org>
45000         iconv: Document HP-UX 11 bug.
45001         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
45003 2010-12-31  Bruno Haible  <bruno@clisp.org>
45005         ldexpl: Fix link error on HP-UX 11.
45006         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
45007         LDEXPL_LIBM, using $ISNANL_LIBM.
45009 2010-12-31  Eric Blake  <eblake@redhat.com>
45011         ftello: avoid compilation failure with SunStudio c89
45012         * lib/ftello.c (ftello): Use lseek, not llseek.
45014         tests: avoid failing coreutils tests on cygwin
45015         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
45016         (create_exe_shims_): Return 0 when skipping.
45018 2010-12-31  Bruno Haible  <bruno@clisp.org>
45020         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
45021         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
45023 2010-12-31  Bruno Haible  <bruno@clisp.org>
45025         waitpid: Fix link error in C++ mode.
45026         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
45028 2010-12-31  Bruno Haible  <bruno@clisp.org>
45030         isnan: Use GCC built-ins when possible.
45031         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
45032         __builtin_isnan.
45033         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
45034         (isnan): Define using GCC built-ins for GCC >= 4.0.
45036 2010-12-31  Bruno Haible  <bruno@clisp.org>
45038         isnand: Fix mistake.
45039         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
45040         __builtin_isnand.
45042 2010-12-31  Bruno Haible  <bruno@clisp.org>
45044         open: Avoid C++ error on HP-UX 11.
45045         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
45047 2010-12-31  Bruno Haible  <bruno@clisp.org>
45049         time_r: Add missing declarations on HP-UX 11.
45050         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
45051         instead of HAVE_LOCALTIME_R.
45052         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
45053         HAVE_LOCALTIME_R always.
45054         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
45055         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
45056         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
45057         HAVE_LOCALTIME_R.
45058         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
45059         * doc/posix-functions/localtime_r.texi: Likewise.
45061 2010-12-29  Eric Blake  <eblake@redhat.com>
45063         mountlist: tweak previous commit
45064         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
45065         Reported by Paul Eggert.
45067         mountlist: fix local drive detection on cygwin
45068         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
45069         that works for cygwin.
45071 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
45073         ftoastr, snprintf: ftoastr + snprintf module
45074         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
45075         since the snprintf module now should be good enough here.
45076         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
45077         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
45078         and gl_MODULE_INDICATOR([snprintf]), but the former enables
45079         GNULIB_SNPRINTF only for the test directory, and the latter
45080         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
45081         seems to suffice by itself.
45083 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
45085         alloca: one step towards thread-safety
45086         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
45087         need for a static variable.  All callers changed.  This does not
45088         make the alloca replacement thread-safe, but it's one step.
45090         tests: minor indenting change
45091         * tests/init.sh: Sync from coreutils housekeeping patch
45092         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
45093         to keep lines within 80 columns.
45095 2010-12-28  Jim Meyering  <meyering@redhat.com>
45097         regex: don't infloop on persistent failing calloc
45098         * lib/regexec.c (build_trtable): Return failure indication upon
45099         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
45100         In glibc, this was fixed for version 2.13:
45101         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
45103 2010-12-28  Bruno Haible  <bruno@clisp.org>
45104             Paul Eggert <eggert@cs.ucla.edu>
45106         linkat: Make implementation robust against system behaviour variations.
45107         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
45108         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
45109         way, and to -2 if it needs a generic runtime test.
45110         * lib/linkat.c (solaris_optimized_link_immediate,
45111         solaris_optimized_link_follow): New functions.
45112         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
45113         (check_same_link): Use it.
45115 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
45117         New module 'unigbrk/base'.
45118         * modules/unigbrk/base: New file.
45119         * lib/unigbrk.in.h: New file.
45121         New module 'unigbrk/uc-gbrk-prop'.
45122         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
45123         * modules/unigbrk/uc-gbrk-prop: New file.
45124         * lib/unigbrk/gbrkprop.h: New file.
45125         * lib/unigbrk/uc-gbrk-prop.c: New file.
45127         New module 'unigbrk/uc-is-grapheme-break'.
45128         * modules/unigbrk/uc-is-grapheme-break: New file.
45129         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
45130         * lib/unigbrk/uc-is-grapheme-break.c: New file.
45131         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
45132         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
45133         * tests/unigbrk/GraphemeBreakTest.txt: New file.
45135         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
45137 2010-12-27  Bruno Haible  <bruno@clisp.org>
45139         linkat test: Avoid failure on Solaris 11 2010-11.
45140         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
45142 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45144         utimens: work around glibc rounding bug on more platforms
45145         * lib/utimens.c (fdutimens): Work around rounding bug even if
45146         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
45147         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
45149 2010-12-27  Bruno Haible  <bruno@clisp.org>
45151         select tests: Improve comments.
45152         * tests/test-select.c (do_select): Add comments.
45154 2010-12-27  Bruno Haible  <bruno@clisp.org>
45156         select tests: Safer way of handling timeout.
45157         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
45158         at every invocation.
45160 2010-12-27  Bruno Haible  <bruno@clisp.org>
45162         select tests: Use 'bool' where appropriate.
45163         * tests/test-select.c (connect_to_socket): Change argument type to
45164         'bool'.
45166 2010-12-27  Bruno Haible  <bruno@clisp.org>
45168         select tests: Use existing modules.
45169         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
45170         (configure.ac): Don't test for unistd.h.
45171         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
45172         declared in <unistd.h>.
45174 2010-12-27  Bruno Haible  <bruno@clisp.org>
45176         mbrtowc: Work around a Solaris 7 bug.
45177         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
45178         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
45179         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
45180         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
45181         MBRTOWC_NULL_ARG1_BUG.
45182         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
45183         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
45184         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
45185         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
45187 2010-12-27  Jim Meyering  <meyering@redhat.com>
45189         read-file.c: tweak syntax
45190         * lib/read-file.c (fread_file): Remove space after "*" in function
45191         definitions.
45193 2010-12-27  Bruno Haible  <bruno@clisp.org>
45195         times test: Avoid gcc warnings on OSF/1.
45196         * tests/test-times.c (main): Cast printf arguments from clock_t to
45197         'long int'.
45199 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
45201         utimens: work around glibc rounding bug on older Linux kernels
45202         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
45203         on Linux with a glibc whose utimes might not work, then work
45204         around a longstanding glibc bug involving rounding rather than
45205         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
45206         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45208 2010-12-26  Bruno Haible  <bruno@clisp.org>
45210         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
45211         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
45212         _GL_CXXALIAS_SYS.
45213         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45215 2010-12-26  Bruno Haible  <bruno@clisp.org>
45217         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
45218         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
45219         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
45220         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
45221         looking for the declaration.
45222         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
45223         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
45224         problem.
45225         * doc/posix-functions/inet_pton.texi: Likewise.
45227 2010-12-26  Bruno Haible  <bruno@clisp.org>
45229         arpa_inet: Use the common idioms with C++ support.
45230         * lib/arpa_inet.in.h: Include c++defs.h.
45231         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
45232         support.
45233         * modules/arpa_inet (Depends-on): Add c++defs.
45234         (Makefile.am): Substitute the contents of c++defs.h.
45235         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
45236         * modules/arpa_inet-c++-tests: New file.
45237         * tests/test-arpa_inet-c++.cc: New file.
45239 2010-12-25  Bruno Haible  <bruno@clisp.org>
45241         Fix more C++ link errors on Solaris 8.
45242         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
45243         $(LIB_EACCESS).
45244         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
45245         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
45246         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
45247         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
45248         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
45250 2010-12-25  Bruno Haible  <bruno@clisp.org>
45252         printf-posix: Fix link error when a non-GCC compiler is used.
45253         * lib/stdio.in.h (printf): When not using GCC, override printf
45254         correctly.
45255         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45257 2010-12-25  Bruno Haible  <bruno@clisp.org>
45259         strerror_r-posix: Update doc.
45260         * doc/posix-functions/strerror_r.texi: Update doc about the return
45261         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
45263 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45265         utimens: simplify the logic of the previous change
45266         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
45267         This should not affect whether the test succeeds or fails.
45269         utimens: configure better on hosts with NFS clock skew
45270         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
45271         uses the clock of the local host.  It might use the clock of the
45272         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
45273         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
45275 2010-12-25  Bruno Haible  <bruno@clisp.org>
45277         ptsname test: Avoid failure on Solaris.
45278         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
45279         open a pseudo-terminal; don't use BSD-style ptys.
45280         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
45282 2010-12-25  Bruno Haible  <bruno@clisp.org>
45284         ptsname: Avoid ERANGE failure on some systems.
45285         * lib/ptsname.c (buffer): Increase size.
45287 2010-12-25  Bruno Haible  <bruno@clisp.org>
45289         rename, renameat: Avoid test failures at NFS mounted locations.
45290         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
45291         so that subsequent mkdir calls succeed.
45293 2010-12-25  Bruno Haible  <bruno@clisp.org>
45295         iswblank: Fix C++ link error on Solaris 8.
45296         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
45297         _GL_FUNCDECL_SYS.
45299 2010-12-25  Bruno Haible  <bruno@clisp.org>
45301         unistd: Fix C++ link error on Solaris 8.
45302         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
45304 2010-12-25  Bruno Haible  <bruno@clisp.org>
45306         readlink doc: Mention an old glibc bug.
45307         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
45309 2010-12-25  Bruno Haible  <bruno@clisp.org>
45311         fcntl-h: Fix for use of C++ on glibc systems.
45312         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
45313         also on glibc systems in C++ mode.
45314         Reported by Gary V. Vaughan <gary@gnu.org>.
45316 2010-12-25  Bruno Haible  <bruno@clisp.org>
45318         roundl-ieee: Make it work on OSF/1 5.1 with cc.
45319         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
45321 2010-12-25  Bruno Haible  <bruno@clisp.org>
45323         truncl-ieee: Make it work on OSF/1 5.1 with cc.
45324         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
45325         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
45326         test whether truncl works according to ISO C 99 with IEC 60559.
45327         * m4/truncl-ieee.m4: New file.
45328         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
45329         m4/signbit.m4.
45330         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
45332 2010-12-25  Bruno Haible  <bruno@clisp.org>
45334         ceill-ieee: Make it work on OSF/1 5.1 with cc.
45335         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
45336         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
45337         test whether ceill works according to ISO C 99 with IEC 60559.
45338         * m4/ceill-ieee.m4: New file.
45339         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
45340         m4/signbit.m4.
45341         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
45343 2010-12-25  Bruno Haible  <bruno@clisp.org>
45345         Ensure all prerequisites of <wchar.h> are included.
45346         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
45347         before <wchar.h>.
45348         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
45349         gl_MBRLEN_NUL_RETVAL): Likewise.
45350         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
45351         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
45352         AC_FUNC_MBRTOWC): Likewise.
45353         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
45354         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
45355         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
45356         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
45357         Likewise.
45358         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
45359         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
45360         (gl_WCHAR_H): Improve comments.
45361         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
45363 2010-12-25  Bruno Haible  <bruno@clisp.org>
45365         strtok_r: Fix C syntax error in autoconf macro.
45366         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
45367         characters in test program.
45369 2010-12-24  Bruno Haible  <bruno@clisp.org>
45371         ceil, trunc, round: Fix gcc warnings.
45372         * lib/ceil.c (MIN): Undefine before redefining.
45373         * lib/trunc.c (MIN): Likewise.
45374         * lib/round.c (MIN): Likewise.
45375         Include <math.h> first.
45377 2010-12-24  Bruno Haible  <bruno@clisp.org>
45379         select tests: Avoid failures on OSF/1 5.1.
45380         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
45381         failure of closing the last socket; it may fail with ECONNRESET.
45383 2010-12-24  Eric Blake  <eblake@redhat.com>
45385         stdint: avoid HP-UX 10.20 preprocessor bug
45386         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
45387         than #if.
45388         * tests/test-floor2.c (main): Likewise.
45389         Reported by Peter O'Gorman.
45391         pipe: make obsoletion transition easier
45392         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
45393         * modules/pipe (Files): Include revived file.
45394         (Include): Drop reference, to mirror getdate's behavior.
45396 2010-12-24  Bruno Haible  <bruno@clisp.org>
45398         sys_socket: Hide mismatch of declarations on NonStop Kernel.
45399         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
45400         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
45401         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45403 2010-12-24  Bruno Haible  <bruno@clisp.org>
45405         gethostname: Ensure declaration on NonStop Kernel.
45406         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
45407         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45409 2010-12-24  Bruno Haible  <bruno@clisp.org>
45411         sys_select: Ensure all necessary types on NonStop Kernel.
45412         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
45413         include <sys/time.h>.
45414         * doc/posix-headers/sys_select.texi: Mention that it's missing on
45415         NonStop Kernel.
45416         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45418 2010-12-24  Bruno Haible  <bruno@clisp.org>
45420         sys_select: Remove unneeded include.
45421         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
45422         have <sys/select.h>.
45424 2010-12-24  Bruno Haible  <bruno@clisp.org>
45426         gethostname: Provide a fallback for HOST_NAME_MAX.
45427         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
45428         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
45429         instead.
45430         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45432 2010-12-24  Bruno Haible  <bruno@clisp.org>
45434         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
45435         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
45436         (SA_RESTART): Likewise.
45437         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45439 2010-12-24  Bruno Haible  <bruno@clisp.org>
45441         signal: Define NSIG.
45442         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
45443         * tests/test-signal.c (nsig): New variable.
45444         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45446 2010-12-24  Bruno Haible  <bruno@clisp.org>
45448         rename, renameat: Avoid test failures on OSF/1 5.1.
45449         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
45450         alternative error codes.
45451         * tests/test-renameat.c (main): Likewise.
45453 2010-12-24  Bruno Haible  <bruno@clisp.org>
45455         *printf: Detect large precisions bug on Solaris 10/SPARC.
45456         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
45457         by Paul Eggert.
45458         * tests/test-snprintf-posix.h (test_function): Add this test code here
45459         too.
45460         * tests/test-sprintf-posix.h (test_function): Likewise.
45461         * tests/test-vasnprintf-posix.c (test_function): Likewise.
45462         * tests/test-vasprintf-posix.c (test_function): Likewise.
45463         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
45464         around by gnulib.
45465         * doc/posix-functions/printf.texi: Likewise.
45466         * doc/posix-functions/snprintf.texi: Likewise.
45467         * doc/posix-functions/sprintf.texi: Likewise.
45468         * doc/posix-functions/vfprintf.texi: Likewise.
45469         * doc/posix-functions/vprintf.texi: Likewise.
45470         * doc/posix-functions/vsnprintf.texi: Likewise.
45471         * doc/posix-functions/vsprintf.texi: Likewise.
45472         * doc/posix-functions/dprintf.texi: Undo last commit.
45473         * doc/posix-functions/vdprintf.texi: Likewise.
45475 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45477         tests: port test-fdutimensat.c to Solaris 8
45478         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
45479         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
45480         On Solaris 8, it fails with errno == ENOSYS, because there is no
45481         futimens (so it can't use the fd), and there is no lutimens (so it
45482         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
45484         vsnprintf: make more consistent with snprintf; doc fixes
45486         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
45487         the byte count return problem was promoted from the snprintf-posix
45488         to the snprintf module.
45489         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45490         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
45491         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
45492         * tests/test-snprintf.c (main): Check the byte count returned.
45493         * tests/test-vsnprintf.c (main): Likewise.
45495 2010-12-23  Eric Blake  <eblake@redhat.com>
45497         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
45498         * modules/sigpipe (License): Relax license.
45500 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45502         doc: document Solaris printf bug with large float precisions
45503         * doc/posix-functions/dprintf.texi (dprintf):
45504         * doc/posix-functions/fprintf.texi (fprintf):
45505         * doc/posix-functions/printf.texi (printf):
45506         * doc/posix-functions/snprintf.texi (snprintf):
45507         * doc/posix-functions/sprintf.texi (sprintf):
45508         * doc/posix-functions/vdprintf.texi (vdprintf):
45509         * doc/posix-functions/vfprintf.texi (vfprintf):
45510         * doc/posix-functions/vprintf.texi (vprintf):
45511         * doc/posix-functions/vsnprintf.texi (vsnprintf):
45512         * doc/posix-functions/vsprintf.texi (vsprintf):
45513         Mention that these functions mishandle large floating point
45514         precisions on Solaris 10.  The same bug is also present in Solaris
45515         8, and I assume earlier.  This causes "cd gnulib-tests; make
45516         check" to fail on Solaris 8 (and I assume, later) when building
45517         the latest coreutils, in test-vasprintf-posix's call to
45518         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
45519         the wide flavors (e.g., wprintf) so this patch just updates the
45520         documentation for the narrow ones.
45522         test-posixtm.c: add two tests
45523         * tests/test-posixtm.c: Add two tests, to highlight the
45524         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
45525         around this bug; this is merely to document it.
45527 2010-12-22  Bruno Haible  <bruno@clisp.org>
45529         getlogin_r: Work around portability problem on OSF/1.
45530         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
45531         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
45532         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
45533         test for a truncated result.
45534         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
45535         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
45536         * modules/getlogin_r (Depends-on): Add memchr.
45537         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
45539 2010-12-22  Bruno Haible  <bruno@clisp.org>
45541         ptsname: Avoid test failure on OSF/1 5.1.
45542         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
45543         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
45544         (same_slave): New function.
45545         (main): Use it to compare ptsname's result with the expected file name.
45547 2010-12-22  Bruno Haible  <bruno@clisp.org>
45549         Port extended stdio modules to HP NonStop Kernel.
45550         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
45551         macros.
45552         * lib/fbufmode.c: Update comments.
45553         * lib/fflush.c: Likewise.
45554         * lib/fpurge.c: Likewise.
45555         * lib/freadable.c: Likewise.
45556         * lib/freadahead.c: Likewise.
45557         * lib/freading.c: Likewise.
45558         * lib/freadptr.c: Likewise.
45559         * lib/freadseek.c: Likewise.
45560         * lib/fseeko.c: Likewise.
45561         * lib/fseterr.c: Likewise.
45562         * lib/fwritable.c: Likewise.
45563         * lib/fwriting.c: Likewise.
45564         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
45566 2010-12-22  Bruno Haible  <bruno@clisp.org>
45568         ttyname_r: Work around bug on OSF/1 5.1.
45569         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
45570         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
45571         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
45572         present.
45573         * lib/ttyname_r.c (ttyname_r): Update comments.
45575 2010-12-22  Bruno Haible  <bruno@clisp.org>
45577         round: Implement result sign according to IEEE 754.
45578         * lib/round.c (MIN, MINUS_ZERO): New macros.
45579         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
45580         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
45581         * tests/test-round-ieee.c (main): Likewise.
45582         * tests/test-roundl-ieee.c (main): Likewise.
45584         trunc: Implement result sign according to IEEE 754.
45585         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
45586         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
45587         * tests/test-trunc2.c: Include minus-zero.h.
45588         (MINUS_ZERO): New macro.
45589         (trunc_reference): Keep in sync with lib/trunc.c.
45590         * tests/test-truncf2.c: Include minus-zero.h.
45591         (MINUS_ZERO): New macro.
45592         (truncf_reference): Keep in sync with lib/trunc.c.
45593         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
45594         * tests/test-trunc-ieee.c (main): Likewise.
45595         * tests/test-truncl-ieee.c (main): Likewise.
45597         ceil: Implement result sign according to IEEE 754.
45598         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
45599         (FUNC): Return -0.0 for -1 < x < 0.
45600         * tests/test-ceil2.c: Include minus-zero.h.
45601         (MINUS_ZERO): New macro.
45602         (ceil_reference): Keep in sync with lib/ceil.c.
45603         * tests/test-ceilf2.c: Include minus-zero.h.
45604         (MINUS_ZERO): New macro.
45605         (ceilf_reference): Keep in sync with lib/ceil.c.
45606         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
45607         * tests/test-ceil-ieee.c (main): Likewise.
45608         * tests/test-ceill-ieee.c (main): Likewise.
45610         floor: Implement result sign according to IEEE 754.
45611         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
45612         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
45613         * tests/test-floorf2.c (floorf_reference): Likewise.
45614         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
45615         * tests/test-floor-ieee.c (main): Likewise.
45616         * tests/test-floorl-ieee.c (main): Likewise.
45618 2010-12-22  Bruno Haible  <bruno@clisp.org>
45620         getaddrinfo: Update doc.
45621         * doc/posix-functions/gai_strerror.texi: Return type is also different
45622         on AIX and HP-UX.
45624 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45626         getaddrinfo, inet_ntop: Update doc for Solaris.
45627         * doc/posix-functions/gai_strerror.texi: Return type is also an
45628         issue on Solaris 9 and earlier.
45629         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
45630         on Solaris 10 and earlier.
45632 2010-12-21  Bruno Haible  <bruno@clisp.org>
45634         New module 'roundl-ieee'.
45635         * modules/roundl-ieee: New file.
45636         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
45637         test whether roundl works according to ISO C 99 with IEC 60559.
45638         * m4/roundl-ieee.m4: New file.
45639         * modules/roundl-ieee-tests: New file.
45640         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
45641         * tests/test-roundl.c (main): Remove signbit tests.
45642         * modules/roundl-tests (Depends-on): Remove signbit.
45643         * doc/posix-functions/roundl.texi: Mention the new module.
45645 2010-12-21  Bruno Haible  <bruno@clisp.org>
45647         New module 'truncl-ieee'.
45648         * modules/truncl-ieee: New file.
45649         * modules/truncl-ieee-tests: New file.
45650         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
45651         * tests/test-truncl.c (main): Remove signbit tests.
45652         * modules/truncl-tests (Depends-on): Remove signbit.
45653         * doc/posix-functions/truncl.texi: Mention the new module.
45655 2010-12-21  Bruno Haible  <bruno@clisp.org>
45657         New module 'ceill-ieee'.
45658         * modules/ceill-ieee: New file.
45659         * modules/ceill-ieee-tests: New file.
45660         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
45661         * tests/test-ceill.c (main): Remove signbit tests.
45662         * modules/ceill-tests (Depends-on): Remove signbit.
45663         * doc/posix-functions/ceill.texi: Mention the new module.
45665 2010-12-21  Bruno Haible  <bruno@clisp.org>
45667         New module 'floorl-ieee'.
45668         * modules/floorl-ieee: New file.
45669         * modules/floorl-ieee-tests: New file.
45670         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
45671         * tests/test-floorl.c (main): Remove signbit tests.
45672         * modules/floorl-tests (Depends-on): Remove signbit.
45673         * doc/posix-functions/floorl.texi: Mention the new module.
45675 2010-12-21  Bruno Haible  <bruno@clisp.org>
45677         New module 'round-ieee'.
45678         * modules/round-ieee: New file.
45679         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
45680         whether round works according to ISO C 99 with IEC 60559.
45681         * m4/round-ieee.m4: New file.
45682         * modules/round-ieee-tests: New file.
45683         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
45684         * tests/test-round1.c (main): Remove signbit tests.
45685         * modules/round-tests (Depends-on): Remove 'signbit'.
45686         * doc/posix-functions/round.texi: Mention the new module.
45688 2010-12-21  Bruno Haible  <bruno@clisp.org>
45690         New module 'trunc-ieee'.
45691         * modules/trunc-ieee: New file.
45692         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
45693         whether trunc works according to ISO C 99 with IEC 60559.
45694         * m4/trunc-ieee.m4: New file.
45695         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
45696         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
45697         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
45698         * modules/trunc-ieee-tests: New file.
45699         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
45700         * tests/test-trunc1.c (main): Remove signbit tests.
45701         * modules/trunc-tests (Depends-on): Remove 'signbit'.
45702         * doc/posix-functions/trunc.texi: Mention the new module.
45704 2010-12-21  Bruno Haible  <bruno@clisp.org>
45706         New module 'ceil-ieee'.
45707         * modules/ceil-ieee: New file.
45708         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
45709         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
45710         ISO C 99 with IEC 60559.
45711         * m4/ceil-ieee.m4: New file.
45712         * modules/ceil (Files): Add lib/ceil.c.
45713         (Depends-on): Add 'float'.
45714         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45715         * lib/math.in.h (ceil): New declaration.
45716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
45717         REPLACE_CEIL.
45718         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
45719         * modules/ceil-ieee-tests: New file.
45720         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
45721         * tests/test-math-c++.cc: Check the signature of 'ceil'.
45722         * doc/posix-functions/ceil.texi: Mention the new module.
45724 2010-12-21  Bruno Haible  <bruno@clisp.org>
45726         New module 'floor-ieee'.
45727         * modules/floor-ieee: New file.
45728         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
45729         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
45730         ISO C 99 with IEC 60559.
45731         * m4/floor-ieee.m4: New file.
45732         * modules/floor (Files): Add lib/floor.c.
45733         (Depends-on): Add 'float'.
45734         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
45735         * lib/math.in.h (floor): New declaration.
45736         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
45737         REPLACE_FLOOR.
45738         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
45739         * modules/floor-ieee-tests: New file.
45740         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
45741         * tests/test-math-c++.cc: Check the signature of 'floor'.
45742         * doc/posix-functions/floor.texi: Mention the new module.
45744 2010-12-21  Bruno Haible  <bruno@clisp.org>
45746         New module 'roundf-ieee'.
45747         * modules/roundf-ieee: New file.
45748         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
45749         test whether roundf works according to ISO C 99 with IEC 60559.
45750         * m4/roundf-ieee.m4: New file.
45751         * modules/roundf-ieee-tests: New file.
45752         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
45753         * tests/test-roundf1.c (main): Remove signbit tests.
45754         * modules/roundf-tests (Depends-on): Remove 'signbit'.
45755         * doc/posix-functions/roundf.texi: Mention the new module.
45757 2010-12-21  Bruno Haible  <bruno@clisp.org>
45759         New module 'truncf-ieee'.
45760         * modules/truncf-ieee: New file.
45761         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
45762         test whether truncf works according to ISO C 99 with IEC 60559.
45763         * m4/truncf-ieee.m4: New file.
45764         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
45765         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
45766         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
45767         * modules/truncf-ieee-tests: New file.
45768         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
45769         * tests/test-truncf1.c (main): Remove signbit tests.
45770         * modules/truncf-tests (Depends-on): Remove 'signbit'.
45771         * doc/posix-functions/truncf.texi: Mention the new module.
45773 2010-12-21  Bruno Haible  <bruno@clisp.org>
45775         New module 'ceilf-ieee'.
45776         * modules/ceilf-ieee: New file.
45777         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
45778         test whether ceilf works according to ISO C 99 with IEC 60559.
45779         * m4/ceilf-ieee.m4: New file.
45780         * modules/ceilf-ieee-tests: New file.
45781         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
45782         * tests/test-ceilf1.c (main): Remove signbit tests.
45783         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
45784         * doc/posix-functions/ceilf.texi: Mention the new module.
45786 2010-12-21  Bruno Haible  <bruno@clisp.org>
45788         New module 'floorf-ieee'.
45789         * modules/floorf-ieee: New file.
45790         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
45791         test whether floorf works according to ISO C 99 with IEC 60559.
45792         * m4/floorf-ieee.m4: New file.
45793         * modules/floorf-ieee-tests: New file.
45794         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
45795         * tests/test-floorf1.c (main): Remove signbit tests.
45796         * modules/floorf-tests (Depends-on): Remove 'signbit'.
45797         * doc/posix-functions/floorf.texi: Mention the new module.
45799 2010-12-21  Bruno Haible  <bruno@clisp.org>
45801         Support for minus zero in autoconf macros.
45802         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
45803         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
45804         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
45805         * tests/minus-zero.h: Update comments.
45807 2010-12-21  Bruno Haible  <bruno@clisp.org>
45809         Tests for module 'ceil'.
45810         * modules/ceil-tests: New file.
45811         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
45812         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
45814 2010-12-21  Bruno Haible  <bruno@clisp.org>
45816         Tests for module 'floor'.
45817         * modules/floor-tests: New file.
45818         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
45819         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
45821 2010-12-21  Bruno Haible  <bruno@clisp.org>
45823         math: Fix indentation.
45824         * lib/math.in.h (floorf): Fix indentation.
45826 2010-12-21  Bruno Haible  <bruno@clisp.org>
45828         Fix cross-compilation guesses on Solaris.
45829         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
45830         not match "solaris2.10".
45831         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
45832         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
45833         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
45835 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45837         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
45838         This fixes a problem observed with the latest coreutils snapshot
45839         that caused a test to fail on Solaris 8.  src/csplit.c's call
45840         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
45841         earlier, instead of returning the number of bytes that would have
45842         been generated; this causes csplit to incorrectly report memory
45843         exhaustion.
45844         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
45845         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
45846         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
45847         comments to match.
45848         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
45849         Fix typo in matching older versions of Solaris: "solaris2.10"
45850         is matched by the shell pattern "solaris2.[0-9]*".  This matters
45851         only for guessing while cross-compiling.
45852         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
45854 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
45856         ftoastr: fix comment again
45857         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45858         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
45859         Also, simplify example a bit by using flags = 0.
45861 2010-12-20  Bruno Haible  <bruno@clisp.org>
45863         round*, trunc*: Update documentation regarding glibc.
45864         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
45865         * doc/posix-functions/round.texi: Likewise.
45866         * doc/posix-functions/roundl.texi: Likewise.
45867         * doc/posix-functions/truncf.texi: Likewise.
45868         * doc/posix-functions/trunc.texi: Likewise.
45869         * doc/posix-functions/truncl.texi: Likewise.
45871 2010-12-20  Bruno Haible  <bruno@clisp.org>
45873         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
45874         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
45875         * doc/posix-functions/round.texi: Likewise.
45876         * doc/posix-functions/roundl.texi: Likewise.
45878 2010-12-20  Bruno Haible  <bruno@clisp.org>
45880         ttyname_r: Add missing declaration on HP-UX 11.
45881         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
45882         HAVE_TTYNAME_R.
45883         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
45884         declared. Set HAVE_TTYNAME_R always.
45885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45886         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
45887         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
45888         HAVE_TTYNAME_R.
45889         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
45891 2010-12-20  Bruno Haible  <bruno@clisp.org>
45893         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
45894         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
45895         * doc/posix-functions/getlogin_r.texi: Likewise.
45896         * tests/test-getlogin.c: Include <errno.h>.
45897         (main): Avoid test failure on HP-UX 11.11.
45898         * tests/test-getlogin_r.c (main): Likewise.
45900 2010-12-20  Bruno Haible  <bruno@clisp.org>
45902         getlogin_r: Add missing declaration on HP-UX 11.
45903         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
45904         declared also when it exists as a function.
45905         * doc/posix-functions/getlogin_r.texi: Document this workaround.
45907 2010-12-20  Bruno Haible  <bruno@clisp.org>
45909         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
45910         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
45911         through wcrtomb.
45913 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
45915         ftoastr: fix comment
45916         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
45917         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
45919 2010-12-19  Bruno Haible  <bruno@clisp.org>
45921         isnan: Ensure it is a macro.
45922         * lib/math.in.h (isnan): Define as a macro if not already a macro.
45923         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
45924         Solaris.
45926 2010-12-19  Bruno Haible  <bruno@clisp.org>
45928         ldexpl test: Fix link error on OSF/1 5.1.
45929         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
45931 2010-12-19  Bruno Haible  <bruno@clisp.org>
45933         wctype: Make it work in C++ mode on OSF/1 5.1.
45934         * lib/wctype.in.h (iswblank): Declare but not define here.
45935         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
45936         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
45937         * modules/wctype (Files): Add lib/iswblank.c.
45939 2010-12-19  Bruno Haible  <bruno@clisp.org>
45941         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
45942         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
45943         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
45945 2010-12-19  Bruno Haible  <bruno@clisp.org>
45947         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
45948         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
45949         _POSIX_PII_SOCKET.
45950         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
45951         * doc/posix-functions/recvfrom.texi: Likewise.
45952         * doc/posix-functions/send.texi: Likewise.
45953         * doc/posix-functions/sendto.texi: Likewise.
45955 2010-12-19  Bruno Haible  <bruno@clisp.org>
45957         tcgetsid: Add missing declaration on OSF/1 5.1.
45958         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
45959         HAVE_TCGETSID.
45960         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
45961         Don't set HAVE_TCGETSID.
45962         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
45963         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
45964         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
45965         HAVE_TCGETSID.
45966         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
45968 2010-12-19  Bruno Haible  <bruno@clisp.org>
45970         stdio: Fix problem with popen() declaration on OSF/1 5.1.
45971         * lib/stdio.in.h: During the include_next statement, let recursive
45972         includes of this file include only the system header file.
45974 2010-12-19  Bruno Haible  <bruno@clisp.org>
45976         iconv_open: Fix regression from 2010-12-04.
45977         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
45978         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
45980 2010-12-19  Bruno Haible  <bruno@clisp.org>
45982         stdbool test: Avoid a gcc warning.
45983         * tests/test-stdbool.c (main): Fail if e1 is false.
45984         Reported by Jim Meyering.
45986 2010-12-19  Jim Meyering  <meyering@redhat.com>
45988         setenv: restore to working order
45989         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
45990         mistakenly removed.
45991         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
45992         HAVE_SETENV.
45993         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
45994         HAVE_SETENV.
45996 2010-12-19  Bruno Haible  <bruno@clisp.org>
45998         Document some different function declarations on OSF/1 5.1.
45999         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
46000         * doc/posix-functions/inet_ntop.texi: Likewise.
46001         * doc/posix-functions/gethostname.texi: Likewise.
46002         * lib/unistd.in.h (gethostname): Update comment.
46004 2010-12-19  Bruno Haible  <bruno@clisp.org>
46006         doc: Mention vasprintf-posix module.
46007         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
46008         the 'vasprintf-posix' module.
46009         * doc/glibc-functions/vasprintf.texi: Likewise.
46011 2010-12-19  Bruno Haible  <bruno@clisp.org>
46013         unsetenv: Add missing declaration on OSF/1 5.1.
46014         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
46015         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
46016         Don't set HAVE_UNSETENV. In the test program, set _BSD.
46017         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
46018         not HAVE_UNSETENV.
46019         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
46020         HAVE_UNSETENV.
46021         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
46023 2010-12-19  Bruno Haible  <bruno@clisp.org>
46025         setenv: Add missing declaration on OSF/1 5.1.
46026         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
46027         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
46028         declared. Don't set HAVE_SETENV.
46029         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
46030         not HAVE_SETENV.
46031         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
46032         HAVE_SETENV.
46033         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
46035 2010-12-19  Bruno Haible  <bruno@clisp.org>
46037         nl_langinfo tests: Avoid gcc warning.
46038         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
46040 2010-12-19  Bruno Haible  <bruno@clisp.org>
46042         mknod: Avoid error in C++ mode on OSF/1 with GCC.
46043         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
46044         _GL_CXXALIAS_SYS.
46046 2010-12-19  Bruno Haible  <bruno@clisp.org>
46048         stdbool: Relax test.
46049         * tests/test-stdbool.c (e): Don't require that casts from a variable's
46050         address to 'bool' work in static initializer, for compilers other than
46051         GCC.
46053 2010-12-19  Bruno Haible  <bruno@clisp.org>
46055         ftello: Add missing declaration on OSF/1 5.1.
46056         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
46057         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
46058         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
46059         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
46060         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
46062 2010-12-19  Bruno Haible  <bruno@clisp.org>
46064         fseeko: Add missing declaration on OSF/1 5.1.
46065         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
46066         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
46067         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
46068         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
46069         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
46071 2010-12-19  Bruno Haible  <bruno@clisp.org>
46073         fchdir: Add missing declaration on OSF/1 5.1.
46074         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
46075         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
46076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
46077         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
46078         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
46080 2010-12-19  Bruno Haible  <bruno@clisp.org>
46082         relocatable-prog-wrapper: Separate from relocatable-prog.
46083         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
46084         uninstall-relocwrapper rule here.
46085         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
46086         Reported by Ian Beckwith <ianb@erislabs.net>.
46088 2010-12-19  Bruno Haible  <bruno@clisp.org>
46090         unistr/u8-mbsnlen: Add missing dependency.
46091         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
46092         Reported by Ian Beckwith <ianb@erislabs.net>.
46094 2010-12-19  Bruno Haible  <bruno@clisp.org>
46096         iconv: Make it possible again to use this module without 'iconv-h'.
46097         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
46098         if it is not defined.
46099         Reported by Ian Beckwith <ianb@erislabs.net>.
46101 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46103         acl: port to Solaris 8 when copying from tmpfs to ufs
46104         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
46105         error number.  Problem observed on Solaris 8 with latest
46106         coreutils, with "mv A B", where A is on a tmpfs file system and B
46107         is on a ufs file system.  This caused coreutils' mv/part-symlink
46108         test to fail.
46110         tests: set fail=0 at start
46111         * tests/init.sh (setup_): Move fail=0 initialization here ...
46112         (mktempd_): ... from here, so that tests can rely on fail being
46113         set to 0 initially.  This fixes a problem in coreutils; see:
46114         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
46116 2010-12-18  Bruno Haible  <bruno@clisp.org>
46118         memmem-simple: Stylistic changes.
46119         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
46120         Fix preprocessor directive indentation.
46122 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46124         memmem, memmem-simple: reorganize and expand empty needle check
46125         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
46126         functional checks to memmem-simple so that one has a fully functional
46127         memmem by using just this module.
46128         Restrict the performance only check to the memmem module.
46129         Also expand the empty needle check to ensure the correct
46130         pointer is returned, not just a non NULL pointer.
46131         * doc/glibc-functions/memmem.texi: Rearrange the portability
46132         documentation to correlate with the rearranged checks.
46133         Clarify exactly how the memmem and memmem-simple modules
46134         relate to each other.
46136 2010-12-15  Pádraig Brady  <P@draigBrady.com>
46137             Bruno Haible  <bruno@clisp.org>
46139         Improve cross-compilation guesses for uClibc.
46140         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
46141         that uClibc does not have the glibc bug.
46142         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
46143         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
46145 2010-12-14  Eric Blake  <eblake@redhat.com>
46147         configmake: provide fallbacks for oldest supported autotools
46148         * m4/configmake.m4: New file.
46149         * modules/configmake (Files): Ship it.
46150         (configure.ac): Use it to guarantee fallbacks.
46152 2010-12-13  Pádraig Brady  <P@draigBrady.com>
46154         read-file: Improve handling of large files
46155         * lib/read-file.c (fread_file): Minimize realloc()s
46156         for regular files, and better manage sizes around SIZE_MAX.
46158 2010-12-13  Eric Blake  <eblake@redhat.com>
46160         cloexec, fcntl: relax license
46161         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
46162         consent from all contributors.
46163         * modules/fcntl (License): Likewise.
46165 2010-12-10  Bruno Haible  <bruno@clisp.org>
46167         Tests for module 'pipe-posix'.
46168         * modules/pipe-posix-tests: New file.
46169         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
46171 2010-12-10  Bruno Haible  <bruno@clisp.org>
46173         pipe-posix: Make it work in C++ mode.
46174         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
46175         (pipe): Use common idiom, not a macro definition.
46176         * lib/pipe.c: New file.
46177         * m4/pipe.m4: New file.
46178         * modules/pipe-posix (Description): Enhance.
46179         (Files): Add lib/pipe.c, m4/pipe.m4.
46180         (configure.ac): Invoke gl_FUNC_PIPE.
46181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
46182         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
46183         * tests/test-unistd-c++.cc: Check the signature of pipe.
46185 2010-12-10  Bruno Haible  <bruno@clisp.org>
46187         Rename module 'pipe' to 'spawn-pipe'.
46188         * modules/spawn-pipe: New file, renamed from modules/pipe.
46189         (Files, configure.ac, Makefile.am): Update.
46190         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
46191         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
46192         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
46193         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
46194         "spawn-pipe.h" instead of "pipe.h".
46195         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
46196         to gl_SPAWN_PIPE.
46197         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
46198         (Files, Makefile.am): Update.
46199         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
46200         Update.
46201         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
46202         Include "spawn-pipe.h" instead of "pipe.h".
46203         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
46204         * lib/javacomp.c: Likewise.
46205         * lib/javaversion.c: Likewise.
46206         * lib/pipe-filter-gi.c: Likewise.
46207         * lib/pipe-filter-ii.c: Likewise.
46208         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
46209         * modules/javacomp (Depends-on): Likewise.
46210         * modules/javaversion (Depends-on): Likewise.
46211         * modules/pipe-filter-gi (Depends-on): Likewise.
46212         * modules/pipe-filter-ii (Depends-on): Likewise.
46213         * MODULES.html.sh (Executing programs): Update.
46214         * NEWS: Mention the change.
46216 2010-12-10  Eric Blake  <eblake@redhat.com>
46218         pipe-posix: new module
46219         * modules/pipe-posix: New file.
46220         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
46221         (gl_UNISTD_H): Check for declaration.
46222         * modules/unistd (Makefile.am): Substitute it.
46223         * lib/unistd.in.h (pipe): Provide it for mingw.
46224         * doc/posix-functions/pipe.texi (pipe): Update documentation.
46225         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
46227 2010-12-07  Bruno Haible  <bruno@clisp.org>
46229         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
46230         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
46231         u8_strcmp_gnu.
46232         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
46234 2010-12-06  Bruno Haible  <bruno@clisp.org>
46236         Update internal documentation.
46237         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
46239 2010-12-04  Bruno Haible  <bruno@clisp.org>
46241         Put more information about failed tests into the test return codes.
46242         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
46243         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
46244         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
46245         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
46246         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
46247         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46248         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46249         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46250         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
46251         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
46252         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
46253         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
46254         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
46255         * m4/stdint.m4 (gl_STDINT_H): Likewise.
46256         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
46257         returns a bit mask.
46258         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
46259         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
46260         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
46261         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
46262         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
46263         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
46264         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
46265         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
46266         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
46267         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
46268         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
46269         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
46270         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
46271         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
46272         * m4/link.m4 (gl_FUNC_LINK): Likewise.
46273         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
46274         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
46275         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
46276         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46277         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
46278         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46279         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
46280         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
46281         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
46282         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
46283         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
46284         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
46285         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
46286         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
46287         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
46288         gl_PRINTF_PRECISION): Likewise.
46289         * m4/regex.m4 (gl_REGEX): Likewise.
46290         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46291         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
46292         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
46293         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
46294         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46295         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
46296         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
46297         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
46298         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
46299         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46300         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
46301         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
46302         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
46303         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
46304         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
46305         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
46306         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
46307         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
46308         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46309         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
46310         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
46311         enumerated value.
46312         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
46314 2010-12-04  Bruno Haible  <bruno@clisp.org>
46316         Update for Solaris 11 2010-11.
46317         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
46318         Express, released in November 2010.
46320 2010-12-04  Bruno Haible  <bruno@clisp.org>
46322         nproc: Relax license.
46323         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
46324         and Paul Eggert.
46325         Requested by Ludovic Courtès <ludo@gnu.org>.
46327 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
46329         utimecmp: fine-grained src to nearby coarse-grained dest
46331         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
46332         and the source is on a file system with higher-resolution time
46333         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
46334         not work, and the time stamps are close together, the algorithm to
46335         determine the exact resolution from the read-back mtime was buggy:
46336         it had a "!=" where it should have had an "==".  This bug has been
46337         in the code ever since it was introduced to gnulib.
46338         Problem reported by Dan Jacobson in
46339         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
46341 2010-11-30  Bruno Haible  <bruno@clisp.org>
46343         strerror_r-posix: Fix autoconf test.
46344         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
46346 2010-11-28  Bruno Haible  <bruno@clisp.org>
46347             Paul Eggert  <eggert@cs.ucla.edu>
46349         Tests for module 'getdomainname'.
46350         * modules/getdomainname-tests: New file.
46351         * tests/test-getdomainname.c: New file, based on
46352         tests/test-gethostname.c.
46354 2010-11-28  Bruno Haible  <bruno@clisp.org>
46355             Paul Eggert  <eggert@cs.ucla.edu>
46357         getdomainname: Use the system function when possible.
46358         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
46359         (getdomainname): Replace if needed. Provide the declaration if it is
46360         missing. Don't use _GL_CXXALIAS_SYS_CAST.
46361         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
46362         (getdomainname): When the system has getdomainname, call the system
46363         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
46364         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
46365         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
46366         found in libnsl. Look for the declaration also in <netdb.h>. Replace
46367         the function if its second argument is of type 'int' or if it is found
46368         in libnsl.
46369         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
46370         <sys/systeminfo.h> and sysinfo().
46371         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
46372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46373         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
46374         HAVE_GETDOMAINNAME.
46375         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
46376         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
46377         * doc/glibc-functions/getdomainname.texi: Document the problems with
46378         the getdomainname declaration.
46380 2010-11-28  Bruno Haible  <bruno@clisp.org>
46382         sys_socket: Ensure ss_family field on AIX.
46383         * lib/sys_socket.in.h (ss_family): New macro definition.
46384         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
46385         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
46386         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46387         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46388         * modules/sys_socket (Makefile.am): Substitute
46389         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
46390         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
46392 2010-11-27  Bruno Haible  <bruno@clisp.org>
46394         readline: Improve configure output.
46395         * m4/readline.m4 (gl_FUNC_READLINE): Make the
46396         "checking for readline..." result understandable.
46398 2010-11-27  Bruno Haible  <bruno@clisp.org>
46400         *printf-posix: Detect a bug on Solaris 10/x86.
46401         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
46402         for floating-point output.
46403         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
46404         directive.
46405         * tests/test-snprintf-posix.h (test_function): Likewise.
46406         * tests/test-sprintf-posix.h (test_function): Likewise.
46407         * tests/test-vasprintf-posix.c (test_function): Likewise.
46408         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
46409         * doc/posix-functions/printf.texi: Likewise.
46410         * doc/posix-functions/snprintf.texi: Likewise.
46411         * doc/posix-functions/sprintf.texi: Likewise.
46412         * doc/posix-functions/vfprintf.texi: Likewise.
46413         * doc/posix-functions/vprintf.texi: Likewise.
46414         * doc/posix-functions/vsnprintf.texi: Likewise.
46415         * doc/posix-functions/vsprintf.texi: Likewise.
46416         * doc/glibc-functions/obstack_printf.texi: Likewise.
46417         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
46419 2010-11-27  Bruno Haible  <bruno@clisp.org>
46421         Fix link error when module libunistring-optional is in use.
46422         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
46423         * modules/striconveha-tests (Makefile.am): Likewise.
46425 2010-11-27  Bruno Haible  <bruno@clisp.org>
46427         regex: Mention link dependencies.
46428         * modules/regex (Link): New section.
46429         * modules/rpmatch (Link): Likewise.
46430         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
46432 2010-11-27  Bruno Haible  <bruno@clisp.org>
46434         ftoastr: Fix compilation error on Solaris.
46435         * lib/ftoastr.c: Include <config.h>.
46437 2010-11-27  Bruno Haible  <bruno@clisp.org>
46439         getloadavg: Update documentation.
46440         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
46442 2010-11-27  Bruno Haible  <bruno@clisp.org>
46444         sys_socket: Fix test whether the functions are declared.
46445         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
46446         not <sys/select.h>.
46448 2010-11-27  Bruno Haible  <bruno@clisp.org>
46450         getpass: Make sure to get system declaration on some platforms.
46451         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
46452         gl_USE_SYSTEM_EXTENSIONS.
46453         * modules/getpass (Depends-on): Add extensions.
46455 2010-11-26  Bruno Haible  <bruno@clisp.org>
46457         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
46458         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
46459         'iconv' module is present.
46460         (ICONV_CONST): New macro.
46461         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
46462         ICONV_CONST.
46463         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
46464         set ICONV_CONST.
46465         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
46466         here.
46467         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
46468         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
46469         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
46470         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
46471         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
46472         present.
46474 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46476         ftoastr: comment fix
46477         * lib/ftoastr.c: "little" -> "little or no" in comment
46479 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
46481         stdint: port to GCC 4.3 + OSX + Octave
46482         On this platform, stdint.h is buggy and defines int64_t to long
46483         long int.  The replacement defined it to long int, causing
46484         problems with C++ style name mangling.  Instead, trust the system
46485         definition if INT64_MAX is defined, and likewise for the unsigned
46486         variant.   Problem reported by Jarno Rajahalme in
46487         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
46488         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
46489         and don't mess with int64_t and INT64_MAX in this case.
46490         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
46492 2010-11-24  Bruno Haible  <bruno@clisp.org>
46494         doc: Corrections regarding MacOS X 10.4 and 10.5.
46495         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
46496         MacOS X.
46497         Reported by Simon Josefsson.
46499 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
46501         Uninstall ".bin" files installed by relocwrapper.
46502         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
46503         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
46504         unless it is already there.
46506 2010-11-21  Bruno Haible  <bruno@clisp.org>
46508         Update for NetBSD 5.0.
46509         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46510         NetBSD; the test fails on NetBSD 5.0.
46511         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46512         about NetBSD.
46514 2010-11-21  Bruno Haible  <bruno@clisp.org>
46516         Update for HP-UX 11.23 and HP-UX 11.31.
46517         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
46518         HP-UX.
46520 2010-11-21  Bruno Haible  <bruno@clisp.org>
46522         Update for MacOS X 10.5.
46523         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
46524         MacOS X; the test fails on MacOS X 10.5.8.
46525         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
46526         about MacOS X.
46528 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
46530         bootstrap: add bootstrap_sync option.
46531         See discussion at
46532         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
46533         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
46534         * build-aux/bootstrap: Accept --bootstrap-sync to update
46535         bootstrap if it is not identical to the local gnulib's
46536         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
46537         enable this by default.  Accept --no-bootstrap-sync to disable
46538         it.
46540 2010-11-20  Bruno Haible  <bruno@clisp.org>
46542         Ensure that <features.h> is included before __GLIBC__ is tested.
46543         * lib/printf-parse.h: Include <features.h>.
46544         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
46545         Reported by Mike Frysinger <vapier@gentoo.org>.
46547         Ensure that <features.h> is included before __GLIBC__ is tested.
46548         * lib/wchar.in.h: Include <features.h>.
46549         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
46550         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
46551         Reported by Mike Frysinger <vapier@gentoo.org>.
46553         Ensure that <features.h> is included before __GLIBC__ is tested.
46554         * lib/arpa_inet.in.h: Include <features.h>.
46555         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
46556         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
46557         Reported by Mike Frysinger <vapier@gentoo.org>.
46559         Ensure that <features.h> is included before __GLIBC__ is tested.
46560         * build-aux/link-warning.h: Include <features.h>.
46561         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
46562         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
46563         Reported by Mike Frysinger <vapier@gentoo.org>.
46565         Ensure that <features.h> is included before __GLIBC__ is tested.
46566         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
46567         Reported by Mike Frysinger <vapier@gentoo.org>.
46569 2010-11-20  Bruno Haible  <bruno@clisp.org>
46571         memmem: Fix autoconf test.
46572         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
46574 2010-11-20  Bruno Haible  <bruno@clisp.org>
46576         Port to uClibc.
46577         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
46578         * lib/fcntl.in.h: Likewise.
46579         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
46580         * lib/mbrtowc.c (mbrtowc): Likewise.
46581         * lib/relocatable.c (find_shared_library_fullname): Likewise.
46582         * lib/strerror_r.c: Likewise.
46583         * lib/unistr/u8-strnlen.c: Likewise.
46584         * lib/vasnprintf.c (decimal_point_char): Likewise.
46585         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
46586         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
46587         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46588         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46589         * tests/test-sigaction.c (handler, main): Likewise.
46590         * lib/freading.h: Treat uClibc like a non-glibc platform.
46591         * lib/freading.c: Likewise.
46592         * lib/gettext.h: Likewise.
46593         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
46594         Likewise.
46595         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
46596         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46597         * lib/propername.c (proper_name_utf8): Likewise.
46598         * lib/spawn.in.h: Likewise.
46599         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
46600         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
46601         mem_cd_iconveh_internal): Likewise.
46602         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
46603         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
46604         strstr, strcasestr): Likewise.
46605         * lib/unicodeio.c (unicode_to_mb): Likewise.
46606         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
46607         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
46608         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
46609         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
46610         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
46611         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
46612         * lib/unistr/u8-stpncpy.c: Likewise.
46613         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46614         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
46615         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46616         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46617         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46618         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
46619         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
46620         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
46621         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
46622         Likewise.
46623         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
46624         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
46625         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
46626         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
46627         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
46628         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
46629         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
46630         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
46631         * tests/test-getopt.h (OPTIND_MIN): Likewise.
46632         * tests/test-striconveha.c (main): Likewise.
46633         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46634         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
46635         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
46636         * doc/posix-functions/getline.texi: Likewise.
46637         Reported by Mike Frysinger <vapier@gentoo.org>.
46639 2010-11-20  Bruno Haible  <bruno@clisp.org>
46641         nproc: Fix condition.
46642         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
46643         HAVE_PTHREAD_AFFINITY_NP.
46645 2010-11-20  Bruno Haible  <bruno@clisp.org>
46647         Fix a comment.
46648         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
46650 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
46652         ftoastr: don't assume snprintf
46653         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
46654         Implement a subset of snprintf here, by using sprintf safely.
46655         * modules/ftoastr (Depends-on): Remove snprintf.
46657 2010-11-19  Jim Meyering  <meyering@redhat.com>
46659         test-rename.h: fix compilation failure
46660         * tests/test-rename.h (test_rename): Add omitted "}".
46662 2010-11-17  Jim Meyering  <meyering@redhat.com>
46664         maint.mk: add a URL discussing the no-@acronym policy
46665         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
46667 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
46669         ftoastr: depend on snprintf, improve comments
46670         * lib/ftoastr.c: Also mention Loitsch's draft.
46671         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
46672         needed in the current implementation, but it might simplify
46673         speeding up the code later.
46674         * modules/ftoastr: Depend on snprintf; this improves portability.
46675         Suggested by Bruno Haible in the same email.
46677         ftoastr: port to hosts lacking strtof and strtold
46678         Problem reported by Bruno Haible in
46679         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
46680         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
46681         environment and strtold (and presumably strtof) are not available.
46682         * modules/ftoastr (Files): Add m4/c-strtod.m4.
46683         (configure.ac): Require gl_C99_STRTOLD.
46685 2010-11-18  Bruno Haible  <bruno@clisp.org>
46687         c-strtold: Avoid link error on AIX 7.
46688         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
46689         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
46690         (gl_C_STRTOLD): Test whether strtold_l exists.
46691         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46693 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46695         intprops: new macro INT_BITS_STRLEN_BOUND
46696         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
46697         ftoastr.h.  This exposes an internal of intprops.h that was formerly
46698         not exposed.  Also, it uses a slightly tighter bound than before;
46699         though this makes no practical difference, we might as well be as
46700         tight as we easily can.
46702         ftoastr: new module, for lossless conversion of floats to short strings
46703         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
46704         * modules/ftoastr: New files.
46706 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
46708         bootstrap: port to Solaris sed
46709         * build-aux/bootstrap (get_version): Port to Solaris sed.
46710         See Ralf Wildenhues's note in
46711         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
46713 2010-11-14  Jim Meyering  <meyering@redhat.com>
46715         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
46716         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
46717         and move definition closer to sole use.
46719 2010-11-13  Jim Meyering  <meyering@redhat.com>
46721         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
46722         Now we require at least autoconf-2.59, which means the work-around
46723         is no longer needed.
46724         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
46725         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46726         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46727         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
46728         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
46730 2010-11-13  Bruno Haible  <bruno@clisp.org>
46732         rename, renameat: Avoid test failures at NFS mounted locations.
46733         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
46734         functions.
46735         (test_rename): Use assert_nonexistent.
46736         * tests/test-rename.c: Include <dirent.h>.
46737         * tests/test-renameat.c: Likewise.
46738         Reported by Gary V. Vaughan <gary@gnu.org>.
46740         rename, renameat: Document Linux bug with NFS
46741         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
46742         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
46743         * doc/posix-functions/renameat.texi: Likewise.
46744         Suggested by Eric Blake.
46746 2010-11-13  Bruno Haible  <bruno@clisp.org>
46748         rename test: Add comments.
46749         * tests/test-rename.h (test_rename): Add structure and comments.
46751 2010-11-13  Eric Blake  <eblake@redhat.com>
46753         maintainer-makefile: cover a few more files
46754         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
46755         scripts generated within C files, for libvirt.
46757 2010-11-13  Bruno Haible  <bruno@clisp.org>
46759         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
46760         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
46761         character, return the number of bytes that belong together, not always
46762         1.
46763         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
46764         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
46765         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
46766         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
46767         number of bytes of an invalid character.
46768         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
46769         (main): Invoke it.
46770         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
46771         results.
46772         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
46773         malformed byte sequences.
46774         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
46775         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
46776         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
46777         Reported by Ben Pfaff and Paolo Bonzini.
46779 2010-11-13  Bruno Haible  <bruno@clisp.org>
46781         openat: Work around glibc bug with fchownat() and empty file names.
46782         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
46783         (gl_FUNC_FCHOWNAT): Invoke it.
46784         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
46785         * doc/posix-functions/fchownat.texi: Document the glibc bug.
46786         Reported by Gary V. Vaughan <gary@gnu.org>.
46788 2010-11-13  Bruno Haible  <bruno@clisp.org>
46790         openat: Ensure autoconf macro ordering.
46791         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
46792         gl_USE_SYSTEM_EXTENSIONS.
46793         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
46795 2010-11-13  Bruno Haible  <bruno@clisp.org>
46797         Update comments.
46798         * lib/unistr/u8-check.c: Update file name in comments.
46799         * lib/unistr/u8-mblen.c: Likewise.
46800         * lib/unistr/u8-prev.c: Likewise.
46801         * lib/unistr/u8-strmblen.c: Likewise.
46802         * lib/unistr/u8-strmbtouc.c: Likewise.
46804 2010-11-13  Jim Meyering  <meyering@redhat.com>
46806         tests: avoid test failure on Solaris 10 due to lack of PATH export
46807         * tests/test-update-copyright.sh: Don't forget to export PATH.
46809         init.sh: ensure that IFS is defined, just in case...
46810         * tests/init.sh (setup_): Ensure that IFS is defined,
46811         so that saving and restoring it works as expected.  This
46812         appears to be useful at least for an old version of dash
46813         from a long time ago (RH 6).  See here for details:
46814         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
46816         maint.mk: tighten "test a == b" check
46817         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
46818         test to files that contain something like #!/bin/sh.
46819         Without this, coreutils would get two false positives in
46820         the comments of C source files.
46822 2010-11-12  Eric Blake  <eblake@redhat.com>
46824         bootstrap: fix typo in previous attempt
46825         * build-aux/bootstrap (buildreq): Correct the grouping.
46826         Reported by Paul Eggert.
46828         maintainer-makefile: prohibit test x == x
46829         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
46830         Based on a report by Matthias Bolte.
46832         bootstrap: allow FreeBSD gzip
46833         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
46834         which has no '.' and goes to stderr.
46835         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
46836         Reported by Matthias Bolte.
46838         maintainer-makefile: check for i18n setup
46839         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
46840         will likely work.
46842 2010-11-12  Bruno Haible  <bruno@clisp.org>
46844         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
46845         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
46846         * lib/nanosleep.c (nanosleep): Likewise.
46848 2010-11-11  Bruno Haible  <bruno@clisp.org>
46850         fcntl-h: Fix for use of C++ on glibc systems.
46851         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
46852         also on glibc systems in C++ mode.
46853         Reported by Gary V. Vaughan <gary@gnu.org>.
46855 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
46857         mknod: avoid false failure with dash
46858         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
46860 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46862         unlink: Fix "is it should" typo in diagnostic.
46863         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
46864         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
46866 2010-11-11  Bruno Haible  <bruno@clisp.org>
46868         Tests for module 'strerror_r-posix'.
46869         * modules/strerror_r-posix-tests: New file.
46870         * tests/test-strerror_r.c: New file.
46871         * tests/test-string-c++.cc: Check the signature of strerror_r.
46873         New module 'strerror_r-posix'.
46874         * lib/string.in.h (strerror_r): New declaration.
46875         * lib/strerror_r.c: New file.
46876         * m4/strerror_r.m4: New file.
46877         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
46878         of strerror_r.
46879         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
46880         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46881         * modules/strerror_r-posix: New file.
46882         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
46883         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
46884         * doc/posix-functions/strerror_r.texi: Mention the new module and the
46885         portability problems.
46887 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
46889         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
46890         line is also considered for output. Quoted function name in shell
46891         command, so temporary files for functions like MyClass::operator()
46892         are removed correctly without errors.
46894 2010-11-09  Bruno Haible  <bruno@clisp.org>
46896         * doc/posix-functions/strerror.texi: List more failing platforms.
46898         * doc/posix-functions/strerror.texi: Add a comment.
46900 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
46902         fdopendir: fix bug on MacOS X when low on file descriptors
46904         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
46905         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
46906         All callers changed.
46907         (fdopendir): Invoke save_cwd at the top level, not after using
46908         multiple dup() calls to use up file descriptors.  Then retry
46909         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
46910         less than the maximum number of open file descriptors, because
46911         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
46912         on Mac OS X 10.6.4 for tar 1.24
46913         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
46914         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
46915         and for tar 1.25
46916         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
46918 2010-11-07  Bruno Haible  <bruno@clisp.org>
46920         vasnprintf: Support I flag on glibc systems.
46921         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
46922         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
46923         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
46924         snprintf function.
46925         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
46926         glibc systems.
46927         * tests/test-vasnprintf-posix3.c: New file.
46928         * modules/vasnprintf-posix-tests (Files): Add it.
46929         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
46931 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
46933         [html] Fix copy/paste bug: Use unique name for compiler warnings.
46934         * MODULES.html.sh: For compiler warnings, use name
46935         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
46937 2010-11-05  Eric Blake  <eblake@redhat.com>
46939         ceil, floor: avoid spurious failure with icc
46940         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
46941         [denormals-as-zero] when optimizing without -mieee-fp option.
46942         * tests/test-floorf2.c (floorf_reference): Likewise.
46943         * tests/test-ceilf1.c (dummy): New function.
46944         (main): Use it to outsmart icc's optimization.
46945         * tests/test-floorf1.c (dummy, main): Likewise.
46947         tests: require working signbit
46948         * modules/ceilf-tests (Depends-on): Add signbit.
46949         * modules/ceill-tests (Depends-on): Likewise.
46950         * modules/floorf-tests (Depends-on): Likewise.
46951         * modules/floorl-tests (Depends-on): Likewise.
46952         * modules/round-tests (Depends-on): Likewise.
46953         * modules/roundf-tests (Depends-on): Likewise.
46954         * modules/roundl-tests (Depends-on): Likewise.
46955         * modules/trunc-tests (Depends-on): Likewise.
46956         * modules/truncf-tests (Depends-on): Likewise.
46957         * modules/truncl-tests (Depends-on): Likewise.
46959         strtod: work around icc bug
46960         * lib/strtod.c (minus_zero): Define to working value.
46961         (strtod): Use it to avoid icc bug.
46963         copysign: enhance tests
46964         * modules/copysign-tests (Files): Add minus-zero.h.
46965         * tests/test-copysign.c (main): Also test zeros.
46967 2010-11-04  Eric Blake  <eblake@redhat.com>
46969         ceil, floor, round, trunc: enhance tests of -0
46970         * tests/test-ceilf1.c (main): Ensure correct sign of result.
46971         * tests/test-ceill.c (main): Likewise.
46972         * tests/test-floorf1.c (main): Likewise.
46973         * tests/test-floorl.c (main): Likewise.
46974         * tests/test-round1.c (main): Likewise.
46975         * tests/test-roundf1.c (main): Likewise.
46976         * tests/test-roundl.c (main): Likewise.
46977         * tests/test-trunc1.c (main): Likewise.
46978         * tests/test-truncf1.c (main): Likewise.
46979         * tests/test-truncl.c (main): Likewise.
46981 2010-11-04  Eric Blake  <eblake@redhat.com>
46983         frexp, tests: work around ICC bug with -zero
46984         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
46985         works with more compilers.
46986         * tests/minus-zero.h: New file.
46987         * modules/ceilf-tests (Files): Include it.
46988         * modules/ceill-tests (Files): Likewise.
46989         * modules/floorf-tests (Files): Likewise.
46990         * modules/floorl-tests (Files): Likewise.
46991         * modules/frexp-nolibm-tests (Files): Likewise.
46992         * modules/frexp-tests (Files): Likewise.
46993         * modules/frexpl-nolibm-tests (Files): Likewise.
46994         * modules/frexpl-tests (Files): Likewise.
46995         * modules/isnan-tests (Files): Likewise.
46996         * modules/isnand-nolibm-tests (Files): Likewise.
46997         * modules/isnand-tests (Files): Likewise.
46998         * modules/isnanf-nolibm-tests (Files): Likewise.
46999         * modules/isnanf-tests (Files): Likewise.
47000         * modules/isnanl-nolibm-tests (Files): Likewise.
47001         * modules/isnanl-tests (Files): Likewise.
47002         * modules/round-tests (Files): Likewise.
47003         * modules/roundf-tests (Files): Likewise.
47004         * modules/roundl-tests (Files): Likewise.
47005         * modules/ldexpl-tests (Files): Likewise.
47006         * modules/signbit-tests (Files): Likewise.
47007         * modules/snprintf-posix-tests (Files): Likewise.
47008         * modules/sprintf-posix-tests (Files): Likewise.
47009         * modules/strtod-tests (Files): Likewise.
47010         * modules/trunc-tests (Files): Likewise.
47011         * modules/truncf-tests (Files): Likewise.
47012         * modules/truncl-tests (Files): Likewise.
47013         * modules/vsnprintf-posix-tests (Files): Likewise.
47014         * modules/vsprintf-posix-tests (Files): Likewise.
47015         * modules/vasnprintf-posix-tests (Files): Likewise.
47016         * modules/vasprintf-posix-tests (Files): Likewise.
47017         * tests/test-ceilf1.c (main): Use it.
47018         * tests/test-ceill.c (main): Likewise.
47019         * tests/test-floorf1.c (main): Likewise.
47020         * tests/test-floorl.c (main): Likewise.
47021         * tests/test-frexp.c (main): Likewise.
47022         * tests/test-frexpl.c (main): Likewise.
47023         * tests/test-isnan.c (main): Likewise.
47024         * tests/test-isnand.h (main): Likewise.
47025         * tests/test-isnanf.h (main): Likewise.
47026         * tests/test-isnanl.h (main): Likewise.
47027         * tests/test-ldexpl.c (main): Likewise.
47028         * tests/test-round.c (main): Likewise.
47029         * tests/test-roundf.c (main): Likewise.
47030         * tests/test-roundl.c (main): Likewise.
47031         * tests/test-signbit.c (test_signbitf, test_signbitd)
47032         (test_signbitl): Likewise.
47033         * tests/test-snprintf-posix.h (test_function): Likewise.
47034         * tests/test-sprintf-posix.h (test_function): Likewise.
47035         * tests/test-strtod.c (main): Likewise.
47036         * tests/test-trunc1.c (main): Likewise.
47037         * tests/test-truncf1.c (main): Likewise.
47038         * tests/test-truncl.c (main): Likewise.
47040         isnanl: work around icc bug
47041         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
47043 2010-11-03  Eric Blake  <eblake@redhat.com>
47045         tests: fix compiler warnings
47046         * tests/test-getopt.h (test_getopt): Fix condition.
47047         * tests/test-getopt_long.h (test_getopt_long): Likewise.
47048         * tests/test-pipe2.c (main): Likewise.
47049         * tests/test-quotearg-simple.c (main): Avoid icc warning.
47051         utimens: fix broken m4 test
47052         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
47054 2010-10-28  Bruno Haible  <bruno@clisp.org>
47056         posix_spawn*, getdtablesize: Relax license.
47057         * modules/posix_spawn (License): Change to LGPLv2+.
47058         * modules/posix_spawnp (License): Likewise.
47059         * modules/posix_spawn-internal (License): Likewise.
47060         * modules/posix_spawnattr_init (License): Likewise.
47061         * modules/posix_spawnattr_getflags (License): Likewise.
47062         * modules/posix_spawnattr_setflags (License): Likewise.
47063         * modules/posix_spawnattr_getpgroup (License): Likewise.
47064         * modules/posix_spawnattr_setpgroup (License): Likewise.
47065         * modules/posix_spawnattr_getschedparam (License): Likewise.
47066         * modules/posix_spawnattr_setschedparam (License): Likewise.
47067         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
47068         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
47069         * modules/posix_spawnattr_getsigdefault (License): Likewise.
47070         * modules/posix_spawnattr_setsigdefault (License): Likewise.
47071         * modules/posix_spawnattr_getsigmask (License): Likewise.
47072         * modules/posix_spawnattr_setsigmask (License): Likewise.
47073         * modules/posix_spawnattr_destroy (License): Likewise.
47074         * modules/posix_spawn_file_actions_init (License): Likewise.
47075         * modules/posix_spawn_file_actions_addclose (License): Likewise.
47076         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
47077         * modules/posix_spawn_file_actions_addopen (License): Likewise.
47078         * modules/posix_spawn_file_actions_destroy (License): Likewise.
47079         * modules/getdtablesize (License): Likewise.
47080         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
47082 2010-10-26  Bruno Haible  <bruno@clisp.org>
47084         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
47085         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
47086         Cygwin and mingw.
47087         Suggested by Eric Blake.
47089 2010-10-26  Bruno Haible  <bruno@clisp.org>
47091         stdio: Work around compilation error due to renameat() on Solaris 10.
47092         * lib/stdio.in.h: Include <unistd.h> on Solaris.
47093         * lib/renameat.c: Don't include <unistd.h> here.
47094         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
47095         Reported by Paul Eggert and Eric Blake.
47097 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47099         renameat: port to Solaris 10, which declares renameat in unistd.h
47101         * lib/renameat.c: Include unistd.h before stdio.h, because
47102         Solaris 10 declares renameat in unistd.h.  Problem encountered
47103         when building GNU tar 1.24 on Solaris 10.
47105 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
47107         fdopendir: fix C89 compilation
47108         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
47109         compilers.
47111 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
47113         inttostr: simplify by removing unnecessary redundancy
47114         * lib/anytostr.c: Don't include verify.h.
47115         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
47116         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
47117         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
47118         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
47119         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
47120         Likewise.
47121         * modules/inttostr (Depends-on): Remove 'verify'.
47123 2010-10-23  Bruno Haible  <bruno@clisp.org>
47125         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
47126         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
47127         Reported by Eric Blake.
47129 2010-10-23  Bruno Haible  <bruno@clisp.org>
47131         Tests: Fix LOCALE_JA on MirBSD 10.
47132         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
47133         to an UTF-8 locale.
47134         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
47135         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
47136         Reported by Eric Blake.
47138 2010-10-21  Bruno Haible  <bruno@clisp.org>
47140         nl_langinfo test: Avoid test failure on NetBSD 5.
47141         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
47142         Reported by Eric Blake.
47144 2010-10-21  Eric Blake  <eblake@redhat.com>
47146         c-stack: work around libsigsegv 2.8 bug
47147         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
47148         overflow on at least PowerPC64.
47150 2010-10-17  Bruno Haible  <bruno@clisp.org>
47152         userspec: Drop redundant file.
47153         * modules/userspec (Files): Remove lib/inttostr.h.
47155 2010-10-17  Bruno Haible  <bruno@clisp.org>
47157         nl_langinfo tests: Silence some warnings.
47158         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
47159         Reported by Jim Meyering.
47161 2010-10-17  Bruno Haible  <bruno@clisp.org>
47163         Make use of GCC's attribute __alloc_size__.
47164         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
47165         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
47166         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
47167         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
47168         __alloc_size__.
47169         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
47170         Suggested by Jim Meyering.
47172 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
47174         bootstrap: anchor .gitignore entries.
47175         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
47176         with...
47177         (insert_vc_ignore): ... this new function, which prepends `/' to
47178         all .gitignore entries before passing them to
47179         insert_sorted_if_absent.
47181 2010-10-16  Bruno Haible  <bruno@clisp.org>
47183         nextafter: Fix configure check.
47184         * modules/nextafter (configure.ac): Correct expected prototype.
47186 2010-10-16  Bruno Haible  <bruno@clisp.org>
47188         termios: Update documentation.
47189         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
47191 2010-10-16  Bruno Haible  <bruno@clisp.org>
47193         tests: Make them compile with TinyCC.
47194         * tests/test-strstr.c (main): Remove parentheses around array
47195         initializer.
47197 2010-10-15  Eric Blake  <eblake@redhat.com>
47199         ignore-value: make header idempotent
47200         * lib/ignore-value.h: Add double-inclusion guards.
47201         Reported by Stefan Berger.
47203 2010-10-15  Jim Meyering  <meyering@redhat.com>
47205         GNUmakefile: handle "stable" target, not "major"
47206         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
47207         lists in maint.mk and announce-gen.  Without this, "make stable"
47208         would fail to ensure that $(VERSION) is up to date.
47210 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
47212         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
47213         & co.
47215 2010-10-14  Bruno Haible  <bruno@clisp.org>
47217         vasnprintf: Don't set errno to 0.
47218         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
47219         block that sets it to 0.
47220         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
47222 2010-10-14  Bruno Haible  <bruno@clisp.org>
47224         socketlib: Fix.
47225         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
47226         gl_PREREQ_SYS_H_WINSOCK2.
47227         Reported by Ian Beckwith <ianb@erislabs.net>.
47229 2010-10-13  Jim Meyering  <meyering@redhat.com>
47231         test-select-stdin.c: avoid warn_unused_result warnings
47232         * tests/test-select-stdin.c: Include "macros.h".
47233         ASSERT that read and fflush succeed.
47235 2010-10-13  Jim Meyering  <meyering@redhat.com>
47237         git-version-gen: do require git-VC'd files in cwd
47238         * build-aux/git-version-gen: Reject a git version string
47239         if there are no commits associated with the current directory.
47240         This avoids an unlikely false-positive (unrelated dir whose parent
47241         repository also contains a tag matching v*), as pointed out
47242         by Giuseppe Scrivano in
47243         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
47245 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
47247         argv-iter: omit nonconforming declaration
47248         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
47249         enum arg_iter_err declaration, which doesn't conform to C99.
47250         Solaris 10 cc warns about this.
47252 2010-10-13  Eric Blake  <eblake@redhat.com>
47254         termios: fix compilation on mingw
47255         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
47256         (gl_TERMIOS_H): Adjust it on mingw.
47257         * modules/termios (Makefile.am): Substitute new key.
47258         * lib/termios.in.h (includes): Make include_next conditional.
47259         * doc/posix-headers/termios.texi (termios.h): Update
47260         documentation.
47261         Reported by Daniel P. Berrange.
47263 2010-10-13  Jim Meyering  <meyering@redhat.com>
47265         git-version-gen: don't require that .git/ be in the current dir
47266         * build-aux/git-version-gen: Adjust this script so that it works
47267         when run from any working directory beneath the top-level .git/-
47268         containing directory.  Inspired by a patch from Giuseppe Scrivano,
47269         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
47271         test-select: avoid warn_unused_result warnings
47272         * tests/test-select.c: Include "macros.h".
47273         ASSERT that each call to read, write, and pipe succeeds.
47274         While not technically required, also check each "close".
47275         * modules/select-tests (Files): Add tests/macros.h.
47277         test-symlinkat: remove declaration of unused local
47278         * tests/test-symlinkat.c (main): Remove unused local, "buf".
47280         test-inttostr: avoid shadowing warnings
47281         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
47282         and use malloc rather than the stack for the same reason as
47283         mentioned in the comment justifying the other allocation.
47285 2010-10-11  Bruno Haible  <bruno@clisp.org>
47287         stdlib: Allow multiple gnulib generated replacements to coexist.
47288         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
47289         Reported by Sam Steingold <sds@gnu.org>.
47291 2010-10-11  Jim Meyering  <meyering@redhat.com>
47293         fix a documentation typo
47294         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
47296 2010-10-11  Eric Blake  <eblake@redhat.com>
47298         futimens: work around Solaris 11 bug
47299         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
47300         * tests/test-futimens.h (test_futimens): Enhance, rather than
47301         weaken test.
47302         * doc/posix-functions/futimens.texi (futimens): Document the bug.
47304 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
47306         Indentation.
47307         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
47308         higher-level operators more to the left.
47310 2010-10-11  Jim Meyering  <meyering@redhat.com>
47312         test-futimens: avoid unwarranted test failure on Solaris 5.11
47313         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
47314         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
47315         because it tries to dereference the NULL name argument.
47317 2010-10-11  Bruno Haible  <bruno@clisp.org>
47319         Indentation.
47320         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
47321         indentation.
47323 2010-10-11  Jim Meyering  <meyering@redhat.com>
47325         spawn.in.h: make indentation consistent with parentheses
47326         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
47327         Make indentation consistent with parentheses.
47329 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
47331         Fix mismatched parens in previous commit
47332         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
47333         parens.
47335 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
47337         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
47339         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
47340         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
47341         * lib/malloca.c: Include "verify.h".
47342         (verify1): Remove, replacing with a verify call.
47343         * lib/relocwrapper.c (verify1): Likewise.
47344         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
47345         Likewise.
47346         * modules/malloca (Depends-on): Add 'verify'.
47347         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
47348         * modules/vasnprintf (Depends-on): Add 'verify'.
47349         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
47350         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47351         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47352         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47353         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47354         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47355         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47357         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
47359         Formerly the style was sometimes 2*X - 1, because the C standard
47360         was wrongly thought to disallow ?: in integral constant expressions.
47361         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
47362         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
47363         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
47364         * lib/stdint.in.h (_verify_intmax_size): Likewise.
47365         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
47366         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
47367         verify that time_t cannot be floating.
47369 2010-10-08  Eric Blake  <eblake@redhat.com>
47371         time: enforce recent POSIX ruling that time_t is integral
47372         * lib/time.in.h (__time_t_must_be_integral): Detect any
47373         problematic systems, allowing the rest of gnulib to assume POSIX.
47375 2010-10-08  Jim Meyering  <meyering@redhat.com>
47377         fdopendir: fix a bug on systems lacking openat and /proc support
47378         OpenBSD 4.7 is one such system.  The most noticeable effect was
47379         failure of any application making nontrivial use of fts: rm, du,
47380         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
47381           ./rm: traversal failed: `a': Bad file descriptor
47382         Debugging that, you see that even though FD 6 was closed just
47383         prior to the opendir call in fd_clone_opendir, its resulting
47384         dir->dd_fd was 8, rather than the expected value of 6:
47386         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
47387         93                close (fd);
47388         (gdb) n
47389         94                dir = fd_clone_opendir (dupfd);
47390         (gdb) n
47391         95                saved_errno = errno;
47392         (gdb) p dir->dd_fd
47393         $11 = 8
47395         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
47396         The problem is that on OpenBSD, fd_clone_opendir has to resort
47397         to using the old-style save/restore CWD mechanism, due to its
47398         lack of openat/proc support, and *that* would steal the FD (6)
47399         that opendir was supposed to use.
47401         The fix is to squirrel away the desired FD so that save_cwd uses a
47402         different one, and then free the dest FD right before calling opendir.
47403         That guarantees opendir will use the required file descriptor.
47405         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
47407 2010-10-08  Bruno Haible  <bruno@clisp.org>
47409         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
47410         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
47412 2010-10-08  Bruno Haible  <bruno@clisp.org>
47414         nanosleep: Make replacement POSIX compliant.
47415         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
47416         is out of range.
47417         Reported by Jim Meyering.
47419 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
47421         bootstrap: add hook for altering gnulib.mk, for Bison
47422         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
47423         the Bison bootstrapping process can rewrite file names and variables
47424         in this file before later parts of 'bootstrap' use the file.
47425         Bison wants to include lib/gnulib.mk from the top-level makefile,
47426         so it needs the file names in this file to be relative to the top
47427         level, not relative to lib; plus it needs variable names to be
47428         rewritten.
47429         (slurp): Use the new function.
47431         bootstrap: reformat for readability
47432         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
47434 2010-10-08  Eric Blake  <eblake@redhat.com>
47436         docs: update cygwin progress
47437         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
47438         1.7.7.
47439         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
47440         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
47441         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
47442         * doc/posix-functions/carg.texi (carg): Likewise.
47443         * doc/posix-functions/cargf.texi (cargf): Likewise.
47444         * doc/posix-functions/casin.texi (casin): Likewise.
47445         * doc/posix-functions/casinf.texi (casinf): Likewise.
47446         * doc/posix-functions/casinh.texi (casinh): Likewise.
47447         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
47448         * doc/posix-functions/catan.texi (catan): Likewise.
47449         * doc/posix-functions/catanf.texi (catanf): Likewise.
47450         * doc/posix-functions/catanh.texi (catanh): Likewise.
47451         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
47452         * doc/posix-functions/ccos.texi (ccos): Likewise.
47453         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
47454         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
47455         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
47456         * doc/posix-functions/cexp.texi (cexp): Likewise.
47457         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
47458         * doc/posix-functions/cimag.texi (cimag): Likewise.
47459         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
47460         * doc/posix-functions/clog.texi (clog): Likewise.
47461         * doc/posix-functions/clogf.texi (clogf): Likewise.
47462         * doc/posix-functions/conj.texi (conj): Likewise.
47463         * doc/posix-functions/conjf.texi (conjf): Likewise.
47464         * doc/posix-functions/cpow.texi (cpow): Likewise.
47465         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
47466         * doc/posix-functions/cproj.texi (cproj): Likewise.
47467         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
47468         * doc/posix-functions/creal.texi (creal): Likewise.
47469         * doc/posix-functions/crealf.texi (crealf): Likewise.
47470         * doc/posix-functions/csin.texi (csin): Likewise.
47471         * doc/posix-functions/csinf.texi (csinf): Likewise.
47472         * doc/posix-functions/csinh.texi (csinh): Likewise.
47473         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
47474         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
47475         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
47476         * doc/posix-functions/ctan.texi (ctan): Likewise.
47477         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
47478         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
47479         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
47480         * doc/posix-headers/complex.texi (complex.h): Likewise.
47482 2010-10-07  Jim Meyering  <meyering@redhat.com>
47484         parse-datetime: avoid compilation failure on OpenBSD 4.7
47485         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
47486         This works around a compilation failure on OpenBSD 4.7:
47487         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
47489 2010-10-07  Eric Blake  <eblake@redhat.com>
47491         docs: update cygwin progress
47492         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
47493         1.7.6.
47494         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
47495         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
47496         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
47497         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
47498         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
47499         Likewise.
47500         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
47501         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
47502         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
47503         Likewise.
47504         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
47505         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
47506         Likewise.
47507         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
47508         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
47509         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
47510         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
47511         Likewise.
47512         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
47513         Likewise.
47514         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
47516         docs: update parse-datetime history
47517         * doc/parse-datetime.texi (Authors of parse_datetime): Better
47518         documentation of this function's history and alternatives.
47520         cygwin: use more robust version check
47521         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
47522         exclude an eventual cygwin 1.9.1.
47523         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47524         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47525         (gl_FUNC_STRCASESTR): Likewise.
47526         Reported by Bruno Haible.
47528 2010-10-06  Bruno Haible  <bruno@clisp.org>
47530         string, sys_select: Avoid #including large headers unless necessary.
47531         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
47532         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
47533         OSF/1, BeOS, Haiku.
47534         Reported by Jim Meyering.
47536 2010-10-05  Eric Blake  <eblake@redhat.com>
47538         memmem, strstr, strcasestr: fix bug with long periodic needle
47539         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
47540         periodic needle having false positive.
47541         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
47542         and cygwin 1.7.7.
47543         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
47544         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
47545         (gl_FUNC_STRCASESTR): Likewise.
47546         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
47547         * tests/test-memmem.c (main): Expose the bug.
47548         * tests/test-strcasestr.c (main): Likewise.
47549         * tests/test-strstr.c (main): Likewise.
47550         * tests/test-c-strcasestr.c (main): Likewise.
47551         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
47552         * doc/posix-functions/strstr.texi (strstr): Likewise.
47553         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47554         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
47556 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47558         parse-datetime: do some more renaming
47559         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
47560         parse_datetime, not get_date.  Mention the renaming.
47561         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
47562         in comments.
47563         * m4/bison.m4: Likewise.
47565 2010-10-05  Eric Blake  <eblake@redhat.com>
47567         parse-datetime: better name than get_date
47568         * NEWS: Reword the deprecation notice.
47569         * modules/get_date: Rename to modules/parse-datetime.
47570         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
47571         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
47572         * lib/get_date.y: Rename to lib/parse-datetime.y.
47573         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
47574         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
47575         * doc/getdate.texi: Provide fallback wrapper.
47576         * lib/getdate.h: Move guts, and wrap...
47577         * lib/parse-datetime.h: ...new file.
47578         * lib/parse-datetime.y (get_date): Rename...
47579         (parse_datetime): ...to this.
47580         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
47581         (gl_PARSE_DATETIME): ...to this.
47582         * doc/posix-functions/getdate.texi (get_date): Provide fallback
47583         documentation.
47584         * modules/getdate (Files): Provide fallback docs and header.
47585         (Notice, Depends-on): Update references.
47586         * tests/test-parse-datetime.c: Likewise.
47587         * DEPENDENCIES: Likewise.
47588         * MODULES.html.sh (Date and time <time.h>): Likewise.
47589         * doc/parse-datetime.texi (Date input formats)
47590         (Authors of parse_datetime): Likewise.
47591         * modules/parse-datetime (Files, configure.ac, Makefile.am)
47592         (Include): Likewise.
47593         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
47594         * gnulib-tool: Likewise.
47595         * m4/bison.m4 (gl_BISON): Likewise.
47596         Suggested by Bruno Haible.
47598 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47600         more ports to Solaris tr, which needs [] around ranges
47601         * gnulib-tool: Solaris tr needs [] around ranges.
47602         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
47603         * tests/test-pipe-filter-gi1.c (main): Likewise.
47604         * tests/test-pipe-filter-ii1.c (main): Likewise.
47606 2010-10-05  Eric Blake  <eblake@redhat.com>
47608         bootstrap: fix Solaris regression
47609         * build-aux/bootstrap (check_versions): Solaris tr still needs []
47610         around ranges.
47611         Reported by Pádraig Brady.
47613         bootstrap: work with pkg-config
47614         * build-aux/bootstrap (check_versions): Also transliterate - in
47615         prerequisite name.
47616         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
47617         prerequisites that were already found, to avoid confusion.
47618         Reported by Justin Clift.
47620         faccessat: remove unused wrappers
47621         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
47622         presence of these wrappers dragged in -lgen on Solaris.
47623         Reported by Clemens Brogi; fix suggested by Paul Eggert.
47625 2010-10-05  Jim Meyering  <meyering@redhat.com>
47627         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
47628         * Makefile (sc_pragma_columns): New syntax-check rule.
47630 2010-10-04  Bruno Haible  <bruno@clisp.org>
47632         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
47633         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
47634         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
47635         Reported by Bruce Korb and Eric Blake.
47637 2010-10-04  Bruno Haible  <bruno@clisp.org>
47639         threadlib: Make option --with-libpth-prefix work.
47640         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
47641         use $LIBPTH, not just -lpth.
47643 2010-10-04  Bruno Haible  <bruno@clisp.org>
47645         Avoid line length limitation from HP NonStop system header files.
47646         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
47647         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
47648         * lib/ctype.in.h: Likewise.
47649         * lib/dirent.in.h: Likewise.
47650         * lib/errno.in.h: Likewise.
47651         * lib/fcntl.in.h: Likewise.
47652         * lib/float.in.h: Likewise.
47653         * lib/getopt.in.h: Likewise.
47654         * lib/iconv.in.h: Likewise.
47655         * lib/inttypes.in.h: Likewise.
47656         * lib/langinfo.in.h: Likewise.
47657         * lib/locale.in.h: Likewise.
47658         * lib/math.in.h: Likewise.
47659         * lib/netdb.in.h: Likewise.
47660         * lib/netinet_in.in.h: Likewise.
47661         * lib/poll.in.h: Likewise.
47662         * lib/pthread.in.h: Likewise.
47663         * lib/pty.in.h: Likewise.
47664         * lib/sched.in.h: Likewise.
47665         * lib/se-selinux.in.h: Likewise.
47666         * lib/search.in.h: Likewise.
47667         * lib/signal.in.h: Likewise.
47668         * lib/spawn.in.h: Likewise.
47669         * lib/stdarg.in.h: Likewise.
47670         * lib/stddef.in.h: Likewise.
47671         * lib/stdint.in.h: Likewise.
47672         * lib/stdio.in.h: Likewise.
47673         * lib/stdlib.in.h: Likewise.
47674         * lib/string.in.h: Likewise.
47675         * lib/strings.in.h: Likewise.
47676         * lib/sys_file.in.h: Likewise.
47677         * lib/sys_ioctl.in.h: Likewise.
47678         * lib/sys_select.in.h: Likewise.
47679         * lib/sys_socket.in.h: Likewise.
47680         * lib/sys_stat.in.h: Likewise.
47681         * lib/sys_time.in.h: Likewise.
47682         * lib/sys_times.in.h: Likewise.
47683         * lib/sys_utsname.in.h: Likewise.
47684         * lib/sys_wait.in.h: Likewise.
47685         * lib/sysexits.in.h: Likewise.
47686         * lib/termios.in.h: Likewise.
47687         * lib/time.in.h: Likewise.
47688         * lib/unistd.in.h: Likewise.
47689         * lib/wchar.in.h: Likewise.
47690         * lib/wctype.in.h: Likewise.
47691         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
47692         * modules/ctype (Makefile.am): Likewise.
47693         * modules/dirent (Makefile.am): Likewise.
47694         * modules/errno (Makefile.am): Likewise.
47695         * modules/fcntl-h (Makefile.am): Likewise.
47696         * modules/float (Makefile.am): Likewise.
47697         * modules/getopt-posix (Makefile.am): Likewise.
47698         * modules/iconv-h (Makefile.am): Likewise.
47699         * modules/inttypes (Makefile.am): Likewise.
47700         * modules/langinfo (Makefile.am): Likewise.
47701         * modules/locale (Makefile.am): Likewise.
47702         * modules/math (Makefile.am): Likewise.
47703         * modules/netdb (Makefile.am): Likewise.
47704         * modules/netinet_in (Makefile.am): Likewise.
47705         * modules/poll-h (Makefile.am): Likewise.
47706         * modules/pthread (Makefile.am): Likewise.
47707         * modules/pty (Makefile.am): Likewise.
47708         * modules/sched (Makefile.am): Likewise.
47709         * modules/search (Makefile.am): Likewise.
47710         * modules/selinux-h (Makefile.am): Likewise.
47711         * modules/signal (Makefile.am): Likewise.
47712         * modules/spawn (Makefile.am): Likewise.
47713         * modules/stdarg (Makefile.am): Likewise.
47714         * modules/stddef (Makefile.am): Likewise.
47715         * modules/stdint (Makefile.am): Likewise.
47716         * modules/stdio (Makefile.am): Likewise.
47717         * modules/stdlib (Makefile.am): Likewise.
47718         * modules/string (Makefile.am): Likewise.
47719         * modules/strings (Makefile.am): Likewise.
47720         * modules/sys_file (Makefile.am): Likewise.
47721         * modules/sys_ioctl (Makefile.am): Likewise.
47722         * modules/sys_select (Makefile.am): Likewise.
47723         * modules/sys_socket (Makefile.am): Likewise.
47724         * modules/sys_stat (Makefile.am): Likewise.
47725         * modules/sys_time (Makefile.am): Likewise.
47726         * modules/sys_times (Makefile.am): Likewise.
47727         * modules/sys_utsname (Makefile.am): Likewise.
47728         * modules/sys_wait (Makefile.am): Likewise.
47729         * modules/sysexits (Makefile.am): Likewise.
47730         * modules/termios (Makefile.am): Likewise.
47731         * modules/time (Makefile.am): Likewise.
47732         * modules/unistd (Makefile.am): Likewise.
47733         * modules/wchar (Makefile.am): Likewise.
47734         * modules/wctype (Makefile.am): Likewise.
47736 2010-10-04  Bruno Haible  <bruno@clisp.org>
47738         read-file tests: Avoid a test failure on NonStop Kernel.
47739         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
47740         a regular file.
47741         Reported by Joachim Schmitz <schmitz@hp.com>.
47743 2010-10-03  Bruno Haible  <bruno@clisp.org>
47745         gnulib-tool: Fixes for --create-testdir with --libtool.
47746         * gnulib-tool (func_get_automake_snippet): Don't augment
47747         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
47748         an executable.
47749         (func_create_testdir): Handle module 'alloca' like func_import.
47750         Reported by Bruce Korb <bruce.korb@gmail.com>.
47752 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
47754         Avoid some lines longer than 80 characters.
47755         * lib/stdint.in.h: Break long comment lines.
47756         * lib/math.in.h: Likewise.
47757         (_GL_NUM_UINT_WORDS): New macro, for readability.
47758         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
47759         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
47760         * lib/stdlib.in.h: Likewise.
47761         * lib/spawn.in.h: Likewise.
47762         * lib/sys_socket.in.h: Update an URL.
47763         * lib/sys_stat.in.h: Break long line.
47765 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
47767         Improve pmccabe2html.
47768         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
47769         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
47770         when the sources change. Remove the line in the HTML about "Used
47771         ranges" (which implied that there might be other unused ranges),
47772         rename "Resume" to "Summary" (easier to understand for more users).
47773         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
47774         styles, and some unnecessary blank lines.
47776 2010-10-03  Bruno Haible  <bruno@clisp.org>
47777             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
47779         acl: Add support for ACLs on NonStop Kernel.
47780         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
47781         Check whether the function aclsort() exists.
47782         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
47783         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
47784         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47785         (acl_nontrivial [HAVE_ACLSORT]: New function.
47786         (file_has_acl): Implement for NonStop Kernel.
47787         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47788         (qset_acl): Implement for NonStop Kernel.
47789         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
47790         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
47791         (main): Implement for NonStop Kernel.
47792         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
47793         Kernel. Handle this flavor.
47794         * tests/test-set-mode-acl.sh: Likewise.
47795         * tests/test-copy-acl.sh: Likewise.
47796         * tests/test-copy-file.sh: Likewise.
47798 2010-10-03  Bruno Haible  <bruno@clisp.org>
47800         Info about ACLs on NonStop Kernel.
47801         * doc/acl-resources.txt: Add info about NonStop Kernel.
47802         References by Joachim Schmitz <schmitz@hp.com>.
47804 2010-10-02  Bruno Haible  <bruno@clisp.org>
47806         Define missing EDQUOT on NonStop Kernel.
47807         * lib/errno.in.h (EDQUOT): Assign a value if missing.
47808         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
47809         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
47810         missing.
47811         * doc/posix-headers/errno.texi: Mention the NSK bug.
47812         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
47813         Reported by Joachim Schmitz <schmitz@hp.com>.
47815 2010-10-02  Bruno Haible  <bruno@clisp.org>
47817         Update doc for POSIX:2008.
47818         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
47819         Update URL of POSIX specification.
47821 2010-10-02  Bruno Haible  <bruno@clisp.org>
47823         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
47824         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
47825         from gnulib, not from Automake.
47827 2010-10-02  Bruno Haible  <bruno@clisp.org>
47829         New module 'system-posix'.
47830         * modules/system-posix: New file.
47831         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
47832         module is present.
47833         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47834         GNULIB_SYSTEM_POSIX.
47835         * modules/stdlib (Depends-on): Remove sys_wait.
47836         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
47837         * doc/posix-functions/system.texi: Mention the new module.
47838         * doc/posix-headers/stdlib.texi: Likewise.
47839         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
47840         define test_sys_wait_macros to a no-op.
47841         Reported by Sam Steingold <sds@gnu.org>.
47843 2010-09-30  Bruno Haible  <bruno@clisp.org>
47845         More renaming from 'getdate' to 'get_date'.
47846         * doc/get_date.texi: Renamed from doc/getdate.texi.
47847         * modules/get_date (Files): Update.
47848         * MODULES.html.sh (Date and time <time.h>): Update.
47849         * DEPENDENCIES: Update.
47850         * gnulib-tool: Update comment.
47851         * m4/bison.m4 (gl_BISON): Likewise.
47852         * m4/get_date.m4 (gl_GET_DATE): Likewise.
47854 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
47856         bootstrap: support ACLOCAL_FLAGS during aclocal
47857         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
47858         can add additional -I dir for third-party .m4 files.
47860 2010-09-30  Eric Blake  <eblake@redhat.com>
47862         bootstrap: use glibtoolize on MacOS
47863         * build-aux/bootstrap (check_versions): Convert libtool into
47864         libtoolize.
47865         (tool search): Move libtool check earlier, and look for
47866         glibtoolize for MacOS.
47867         (gnulib_tool_options): Auto-add --libtool when appropriate.
47868         Reported by Justin Clift.
47870         poll: fix typo that broke test on MacOS
47871         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
47872         Reported by Justin Clift.
47874         getdate: rename to get_date
47875         Note: getdate.h is not renamed, to minimize client impact.
47876         * modules/getdate: Mark obsolete.  Move old contents...
47877         * modules/get_date: ...to new module name.
47878         * modules/getdate-tests: Move...
47879         * modules/get_date-tests: ...here.
47880         * m4/getdate.m4: Move...
47881         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
47882         * lib/getdate.y: Move...
47883         * lib/get_date.y: ...here.
47884         * tests/test-getdate.c: Move...
47885         * tests/test-get_date.c: ...here.
47886         * doc/posix-functions/getdate.texi (getdate): Update name.
47887         * NEWS: Mention the change.
47889 2010-09-29  Bruno Haible  <bruno@clisp.org>
47891         Separate the module 'waitpid' from the module 'sys_wait'.
47892         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
47893         present.
47894         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
47895         gl_MODULE_INDICATOR_FOR_TESTS.
47896         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
47897         * modules/sys_wait (Depends-on): Remove waitpid.
47898         (Makefile.am): Substitute GNULIB_WAITPID.
47899         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
47900         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
47901         signature only if the 'waitpid' module is present.
47902         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
47903         * NEWS: Mention the change.
47904         * modules/grantpt (Depends-on): Add waitpid.
47905         * modules/wait-process (Depends-on): Likewise.
47907 2010-09-29  Bruno Haible  <bruno@clisp.org>
47909         More tests for module 'sys_wait'.
47910         * modules/sys_wait-c++-tests: New file.
47911         * tests/test-sys_wait-c++.cc: New file.
47912         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
47913         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47915 2010-09-29  Bruno Haible  <bruno@clisp.org>
47917         New module 'waitpid'.
47918         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
47919         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
47920         Don't include <process.h>.
47921         (waitpid): Declare only, using modern idiom.
47922         * m4/waitpid.m4: New file.
47923         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
47924         * modules/waitpid: New file.
47925         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
47926         (Makefile.am): Update.
47927         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47929 2010-09-28  Bruno Haible  <bruno@clisp.org>
47931         poll: Assume ANSI C.
47932         * lib/poll.c (poll): Use an ANSI C declaration.
47934 2010-09-28  Bruno Haible  <bruno@clisp.org>
47936         poll-h: Create poll.h on all platforms.
47937         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
47938         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
47939         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
47940         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
47941         (gl_REPLACE_POLL_H): Don't set POLL_H.
47942         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
47943         * modules/poll-h (Depends-on): Add include_next.
47944         (Makefile.am): Create poll.h unconditionally. Substitute also
47945         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
47947 2010-09-28  Bruno Haible  <bruno@clisp.org>
47949         Tests for module 'poll-h'.
47950         * modules/poll-h-c++-tests: New file.
47951         * tests/test-poll-h-c++.cc: New file.
47953         Tests for module 'poll-h'.
47954         * modules/poll-h-tests: New file.
47955         * tests/test-poll-h.c: New file.
47957 2010-09-28  Bruno Haible  <bruno@clisp.org>
47959         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
47960         * modules/poll-h (Depends-on): Add 'extensions'.
47962 2010-09-28  Bruno Haible  <bruno@clisp.org>
47964         New module 'poll-h'.
47965         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
47966         (poll): Use modern idiom.
47967         * modules/poll-h: New file.
47968         * modules/poll (Files): Remove lib/poll.in.h.
47969         (Depends-on): Add poll-h.
47970         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
47971         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
47972         * m4/poll_h.m4: New file.
47973         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
47974         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
47975         and invoke gl_REPLACE_POLL_H.
47976         * lib/poll.c: Use common idiom.
47977         * tests/test-poll.c: Likewise.
47978         * doc/posix-headers/poll.texi: Mention the poll-h module.
47979         Suggested by Eric Blake.
47981 2010-09-26  Bruno Haible  <bruno@clisp.org>
47983         sys_wait: Implement WSTOPSIG.
47984         * lib/sys_wait.in.h (WSTOPSIG): New macro.
47985         Reported by Simon Josefsson.
47987 2010-09-26  Simon Josefsson  <simon@josefsson.org>
47989         stdlib, sys_wait: Avoid compilation error on mingw.
47990         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
47992 2010-09-26  Bruno Haible  <bruno@clisp.org>
47994         stdlib tests: Avoid code duplication.
47995         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
47996         * modules/sys_wait-tests (Files): Likewise.
47997         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
47998         * tests/test-stdlib.c: Include test-sys_wait.h.
47999         (main): Invoke test_sys_wait_macros.
48000         * tests/test-sys_wait.c: Include test-sys_wait.h.
48001         (main): Invoke test_sys_wait_macros.
48003 2010-09-25  Simon Josefsson  <simon@josefsson.org>
48005         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
48006         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
48007         sure Windows sockets are working before calling getaddrinfo.
48008         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
48009         * doc/gnulib.texi (Windows sockets): Fix typo.
48011 2010-09-25  Bruno Haible  <bruno@clisp.org>
48013         Tests for module 'regex-quote'.
48014         * modules/regex-quote-tests: New file.
48015         * tests/test-regex-quote.c: New file.
48017         New module 'regex-quote'.
48018         * lib/regex-quote.h: New file.
48019         * lib/regex-quote.c: New file.
48020         * modules/regex-quote: New file.
48021         Suggested by Reuben Thomas <rrt@sc3d.org>.
48023 2010-09-24  Bruno Haible  <bruno@clisp.org>
48025         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
48026         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
48028 2010-09-23  Bruno Haible  <bruno@clisp.org>
48030         setenv: Relax license.
48031         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
48032         Blake.
48033         Requested by Eric Blake.
48035 2010-09-22  Bruno Haible  <bruno@clisp.org>
48037         termios: Relax license.
48038         * modules/termios (License): Change to LGPLv2+.
48039         Requested by Eric Blake.
48041 2010-09-22  Bruno Haible  <bruno@clisp.org>
48043         threadlib: Allow the package to change the default to 'no'.
48044         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
48045         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
48046         Reported by Paul Eggert.
48048 2010-09-22  Pádraig Brady  <P@draigbrady.com>
48049             Bruno Haible  <bruno@clisp.org>
48051         Fix endless loop in mbmemcasecoll.
48052         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
48053         byte.
48054         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
48056 2010-09-22  Bruno Haible  <bruno@clisp.org>
48058         Tests for module 'memcoll'.
48059         * modules/memcoll-tests: New file.
48060         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
48062         memcoll, xmemcoll: Clarify size vs. length.
48063         * modules/memcoll.c (memcoll0): Clarify specification.
48064         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
48065         passed to collate_error.
48067 2010-09-22  Bruno Haible  <bruno@clisp.org>
48069         Tests for module 'memcasecmp'.
48070         * modules/memcasecmp-tests: New file.
48071         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
48073 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
48075         * lib/pthread.in.h: Add split double-inclusion guard, and include
48076         system <pthread.h> if there is one.  Use @@-style as in other
48077         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
48078         pthread.h doesn't.
48079         (pthread_mutexattr_destroy, pthread_mutexattr_init):
48080         (pthread_mutexattr_settype, pthread_mutex_trylock):
48081         New static inline functions, if there's no system <pthread.h>.
48082         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
48083         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
48084         Approximate with mutexes if the system lacks spinlocks, as in
48085         MacOS.
48086         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
48087         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
48088         @@-style.  Check for spinlocks separately.
48089         (gl_PTHREAD_DEFAULTS): New macro.
48090         * modules/pthread: Redo to use a more typical style for in.h files.
48092 2010-09-21  Eric Blake  <eblake@redhat.com>
48094         net_if: enhance tests
48095         * tests/test-net_if.c (main): Move signature checks earlier.
48096         Print failures to stderr.
48097         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
48098         Document the bug that we do not yet fix.
48100 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48102         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
48103         about gnulib, not GSS.
48105 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
48107         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
48108         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
48109         for Emacs.
48110         * build-aux/pmccabe2html: Make Makefile.am example code more
48111         cut-and-paste friendly.
48113 2010-09-21  Simon Josefsson  <simon@josefsson.org>
48115         * tests/test-net_if.c: New file.
48116         * modules/net_if-tests: New file.
48118 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
48120         pthread: add pthread_spin_destroy
48121         * lib/pthread.in.h (pthread_spin_destroy): New function.
48123 2010-09-19  Bruno Haible  <bruno@clisp.org>
48125         gnulib-tool: Fix --help output.
48126         * gnulib-tool (func_usage): Fix help message.
48127         Reported by Reuben Thomas <rrt@sc3d.org>.
48129 2010-09-18  Jim Meyering  <meyering@redhat.com>
48131         maint.mk: avoid unexpanded \n in two diagnostics
48132         * top/maint.mk (sc_prohibit_always_true_header_tests):
48133         Don't use a literal \n in a halt=... assignment.  It would not be
48134         expanded, and the two \n bytes would appear in the diagnostic output
48135         rather than the desired newline.  Use halt=$$(printf ... instead.
48136         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
48138 2010-09-18  Bruno Haible  <bruno@clisp.org>
48140         netinet_in: Doc tweak.
48141         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
48142         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48144 2010-09-18  Jim Meyering  <meyering@redhat.com>
48146         init.sh: correct an outdated comment
48147         * tests/init.sh (create_exe_shims_):  s/function/alias/
48149         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
48150         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
48151         a file named "*.exe" is removed between the glob expansion and the
48152         processing of that oddly named file.
48154 2010-09-17  Eric Blake  <eblake@redhat.com>
48156         mirbsd: add some more support
48157         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
48158         in BSD family.
48159         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
48160         devices as OpenBSD.
48161         * m4/host-os.m4 (mirbsd): Add MirBSD.
48163         tests: fix unportable assumption on sys/wait.h
48164         * tests/test-sys_wait.c (main): Relax test.
48165         * tests/test-stdlib.c (main): Likewise.
48167         init.sh: accommodate directory with no .exes
48168         * tests/init.sh: Accomodate directory containing only scripts.
48170         tests: avoid compiler warning
48171         * tests/test-stdlib.c (main): Use the variable.
48173         fdutimens, fdutimensat: update signature, again
48174         * lib/utimens.h (gl_futimens): Delete, and move signature...
48175         (fdutimens): ...here.
48176         (fdutimensat): Rearrange signature.
48177         (lutimensat): Rename variable for clarity.
48178         * lib/fdutimensat.c (fdutimensat): Update signature.
48179         * lib/utimens.c (fdutimens): Likewise.
48180         (gl_futimens): Delete.
48181         (utimens, lutimens): Update callers.
48182         * lib/futimens.c (futimens): Likewise.
48183         * tests/test-fdutimensat.c: Likewise.
48184         * tests/test-utimens.c: Likewise.
48185         * tests/test-futimens.h: Update comment.
48186         * NEWS: Mention this.
48187         Suggested by Paul Eggert.
48189 2010-09-17  Bruno Haible  <bruno@clisp.org>
48191         Take over the maintenance of some older macros from Autoconf.
48192         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
48193         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
48194         GNU Autoconf.
48195         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
48196         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
48198 2010-09-17  Eric Blake  <eblake@redhat.com>
48200         fdutimensat: drop atflag validation
48201         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
48202         with valid fd, to close a race scenario where futimens is
48203         unsupported and FILE was replaced by a symlink.
48204         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
48205         accordingly.
48206         Suggested by Paul Eggert.
48208 2010-09-16  Bruno Haible  <bruno@clisp.org>
48210         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
48211         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
48213 2010-09-16  Bruno Haible  <bruno@clisp.org>
48215         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
48216         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
48217         login_tty exists.
48218         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48220 2010-09-16  Bruno Haible  <bruno@clisp.org>
48222         login_tty: Make the replacement code work on BSD systems.
48223         * lib/login_tty.c: Include <sys/ioctl.h>.
48224         (login_tty): Use ioctl TIOCSCTTY when available.
48225         * modules/login_tty (Depends-on): Add sys_ioctl.
48226         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48228 2010-09-16  Bruno Haible  <bruno@clisp.org>
48230         login_tty: Stricter unit test.
48231         * modules/login_tty-tests (Depends-on): Add tcgetsid.
48232         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
48233         and tcgetsid() after login_tty.
48234         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48236 2010-09-16  Bruno Haible  <bruno@clisp.org>
48238         New module 'tcgetsid'.
48239         * lib/tcgetsid.c: New file.
48240         * m4/tcgetsid.m4: New file.
48241         * modules/tcgetsid: New file.
48242         * modules/termios (Depends-on): Add c++defs, warn-on-use.
48243         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
48244         GNULIB_TCGETSID, HAVE_TCGETSID.
48245         * lib/termios.in.h: Include <sys/types.h>.
48246         (tcgetsid): New declaration.
48247         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
48248         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
48249         * doc/posix-functions/tcgetsid.texi: Mention the new module.
48250         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
48252 2010-09-16  Bruno Haible  <bruno@clisp.org>
48254         Tests for module 'termios'.
48255         * modules/termios-c++-tests: New file.
48256         * modules/termios-tests: New file.
48257         * tests/test-termios-c++.cc: New file.
48258         * tests/test-termios.c: New file.
48260         New module 'termios'.
48261         * modules/termios: New file.
48262         * lib/termios.in.h: New file.
48263         * m4/termios_h.m4: New file.
48264         * doc/posix-headers/termios.texi: Mention the new module.
48266 2010-09-16  Eric Blake  <eblake@redhat.com>
48268         fdutimensat: add an atflag parameter
48269         * lib/fdutimensat.c (fdutimensat): Add new parameter.
48270         * lib/utimens.h (fdutimensat): Update prototype.
48271         * tests/test-fdutimensat.c: Adjust test to match.
48272         * NEWS: Document the change.
48273         Suggested by Paul Eggert.
48275 2010-09-16  Bruno Haible  <bruno@clisp.org>
48277         Fix typos in comments.
48278         * lib/striconveh.h: Fix typo in comment.
48279         * lib/login_tty.c (login_tty): Likewise.
48281 2010-09-15  Bruno Haible  <bruno@clisp.org>
48283         stdlib: clarify MirBSD WEXITSTATUS bug
48284         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
48285         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48287 2010-09-15  Eric Blake  <eblake@redhat.com>
48289         stdlib: work around MirBSD WEXITSTATUS bug
48290         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
48291         * modules/stdlib (Depends-on): Add sys_wait.
48292         * tests/test-sys_wait.c (main): Enhance test.
48293         * tests/test-stdlib.c (main): Likewise.
48294         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
48296         docs: mention MacOS issue with WEXITSTATUS(constant)
48297         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
48298         issue.
48299         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
48301         strnlen: add tests
48302         * modules/strnlen-tests: New file.
48303         * tests/test-strnlen.c: Likewise.
48305 2010-09-14  Bruno Haible  <bruno@clisp.org>
48307         unistr/base: Avoid link errors when module 'libunistring' is also used.
48308         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
48309         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
48310         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
48311         Declare also when HAVE_LIBUNISTRING is set.
48312         Reported by Pádraig Brady <P@draigbrady.com>.
48314 2010-09-14  Eric Blake  <eblake@redhat.com>
48316         test-rawmemchr: make more robust
48317         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
48318         (Depends-on, configure.ac): Add needed prerequisites to use it.
48319         * modules/memchr-tests (Files, Depends-on, configure.ac):
48320         Likewise, to avoid implicit reliance on memchr module prereqs.
48321         * tests/test-memchr.c (main): Ensure proper masking.
48322         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
48323         reads.
48325         memchr: detect glibc Alpha bug
48326         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
48327         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
48328         Alpha.
48329         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
48330         * tests/test-memchr.c (main): Enhance test.
48331         Reported by Nelson H. F. Beebe.
48333 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48335         fts, getcwd, glob: audit for dirfd returning -1
48336         * lib/fts.c (opendir): Remove #define; no longer used.
48337         (opendirat): New arg PDIR_FD.  All callers changed.
48338         (fts_build, _opendir2): Use new opendirat to avoid the need for
48339         dirfd, or for checking whether dirfd returns a negative value.
48340         Don't use opendir; always use openat followed by fdopendir.
48341         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
48342         it.
48343         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
48344         returns -1 here.
48345         * modules/fts (Depends-on): Remove dirfd.
48346         * modules/getcwd (Depends-on): Likewise.
48348 2010-09-13  Eric Blake  <eblake@redhat.com>
48350         float: fix broken MirBSD header
48351         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
48352         * doc/posix-headers/float.texi (float.h): Document it.
48354 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
48356         fts: use O_NOFOLLOW to avoid race condition when opening a directory
48357         * lib/fts.c (opendirat): New arg extra_flags.
48358         (__opendir2): Use it to avoid following symlinks when opening
48359         a directory, if symlinks are not supposed to be followed.  See
48360         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
48362         fdopendir: preserve argument fd before returning
48363         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
48364         (fdopendir_with_dup, fd_clone_opendir): New static functions.
48365         (fdopendir): Use them, arranging for FD to be open to the same
48366         directory that it was when it started.  (It might be temporarily
48367         closed while fdopendir is running, so this not thread- or
48368         signal-safe.)  Be careful to do the right thing even when file
48369         descriptors are scarce and dup fails with errno == EMFILE.  See
48370         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
48372 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
48374         regex: Pass the system regex if its only problem is 32-bit regoff_t.
48375         * NEWS: Document change.
48376         * m4/regex.m4: Disable test for regoff_t size.
48378 2010-09-13  Jim Meyering  <meyering@redhat.com>
48380         fts: don't operate on an invalid file descriptor after failed dup
48381         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
48382         negative file descriptor.
48384 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
48386         savedir: add streamsavedir, deprecate fdsavedir
48387         * NEWS: Mention deprecation of fdsavedir.
48388         * lib/savedir.c (streamsavedir): New extern function, whose name
48389         ends in "savedir" to be consistent with the others.  This differs
48390         from savedirstream in that it doesn't close its argument.  The
48391         next version of GNU tar will use this instead of fdsavedir, to
48392         avoid some race conditions and conserve file descriptors.
48393         (savedirstream): Reimplement as a wrapper around streamsavedir.
48394         (fdsavedir): Add a comment deprecating this function.  As far as
48395         I know, only GNU tar used it, and GNU tar doesn't need it any more.
48396         * lib/savedir.h (streamsavedir): New decl.
48397         (fdsavedir): Add a comment deprecating this.
48399 2010-09-10  Bruno Haible  <bruno@clisp.org>
48401         langinfo: Fix last commit.
48402         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
48403         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
48404         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48406 2010-09-10  Bruno Haible  <bruno@clisp.org>
48408         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
48409         * lib/progreloc.c (O_EXEC): Define fallback.
48411 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
48413         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
48414         * NEWS: Document recent changes to fcntl-h.
48415         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
48416         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
48417         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
48418         Similarly for O_SEARCH; this last was already true, but not documented.
48419         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
48420         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
48421         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
48422         Likewise.
48423         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
48424         is zero, not whether it is defined.
48425         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
48426         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
48427         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
48429 2010-09-10  Bruno Haible  <bruno@clisp.org>
48431         langinfo, nl_langinfo: Fix for IRIX 5.3.
48432         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
48433         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
48434         HAVE_LANGINFO_YESEXPR.
48435         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
48436         HAVE_LANGINFO_YESEXPR.
48437         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
48438         HAVE_LANGINFO_T_FMT_AMPM is 0.
48439         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
48440         HAVE_LANGINFO_YESEXPR is 0.
48441         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
48442         NOEXPR.
48443         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
48444         * doc/posix-functions/nl_langinfo.texi: Likewise.
48445         Reported by Eric Blake.
48447 2010-09-10  Bruno Haible  <bruno@clisp.org>
48449         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
48450         * doc/glibc-functions/login_tty.texi: Mention the include file problem
48451         on FreeBSD 8.0 and OpenBSD 4.6.
48452         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
48453         * m4/pty_h.m4 (gl_PTY_H): Likewise.
48454         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
48455         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
48456         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
48457         ac_includes_default.
48458         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
48460 2010-09-09  Eric Blake  <eblake@redhat.com>
48462         strsignal: work around NetBSD bug
48463         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
48464         * lib/string.in.h (includes): Likewise.
48465         * doc/posix-functions/strsignal.texi (strsignal): Document the
48466         bug.
48467         Reported by Nelson H. F. Beebe.
48469         gnulib-tool: work with NetBSD /bin/sh
48470         * gnulib-tool (func_cache_var, func_cache_lookup_module)
48471         (func_get_description, func_get_comment, func_get_status)
48472         (func_get_notice, func_get_applicability, func_get_filelist)
48473         (func_get_dependencies, func_get_autoconf_early_snippet)
48474         (func_get_autoconf_snippet, func_get_automake_snippet)
48475         (func_get_include_directive, func_get_link_directive)
48476         (func_get_license, func_get_maintainer, func_import): Avoid
48477         shell syntax errors from parsing syntax extensions.
48479 2010-09-09  Bruno Haible  <bruno@clisp.org>
48481         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48482         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
48483         a reliable way to determine whether the 'alias' command works.
48485 2010-09-08  Jim Meyering  <meyering@redhat.com>
48487         init.sh: penalize a set-x-impaired shell; don't disqualify it
48488         * tests/init.sh: Too many shells corrupt application stderr when
48489         you set -x, so we can't afford to disqualify them, since at least
48490         on Irix-6.5, that would disqualify all bourne shells.
48491         Instead, use a two-pass approach.
48492         On the first pass, try to find a shell that meets the stricter
48493         condition that set -x does not corrupt stderr.
48494         If no shell meets the stricter condition, retest each candidate
48495         shell, but without that extra condition.  Finally, when
48496         VERBOSE=yes is requested and set -x might cause trouble, simply
48497         issue a warning and refrain from enabling debug output.
48499 2010-09-08  Eric Blake  <eblake@redhat.com>
48501         unsetenv: fix OpenBSD bug
48502         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
48503         * doc/posix-functions/unsetenv.texi (unsetenv): Update
48504         documentation.
48505         Reported by Jim Meyering.
48507         strtod: work around IRIX 6.5 bug
48508         * lib/strtod.c (strtod): Reparse number on shorter string if
48509         exponent parse was invalid.
48510         * tests/test-strtod.c (main): Add check for "0x1p 2".
48511         Reported by Tom G. Christensen.
48513         getopt: optimize previous patch
48514         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
48515         empty variable.  Speed up awk script.
48516         Reported by Paolo Bonzini.
48518 2010-09-08  Jim Meyering  <meyering@redhat.com>
48520         test.sh: disqualify shells for which set -x corrupts stderr
48521         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
48522         and OpenBSD 4.7.  They make it so with "set -x", environment settings
48523         appear in stderr output.  For example, this command:
48524             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
48525         prints "P=1" on those two systems:
48527 2010-09-08  Bruno Haible  <bruno@clisp.org>
48529         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
48530         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
48531         commands, because some shells ignore redirections when there is an
48532         error in the command lookup.
48533         Reported by Eric Blake.
48535 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
48537         * lib/regex.h: Fix a mention of `regex_compile' (should be
48538         `re_compile_pattern').
48539         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
48540         (re_set_registers): Correct name of parameter in comment.
48542         * doc/regex.texi: Add documentation for missing syntax flags.
48543         Remove commented-out documentation of defunct syntax option
48544         RE_NO_EMPTY_ALTS.
48545         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
48546         Add documentation of re_set_registers.
48547         Document trick to re-use a pattern buffer by setting fastmap manually.
48548         Update documentation of struct re_pattern_buffer per public members.
48549         Uncomment documentation of equivalence class operators and
48550         collating symbol operators, since they are now implemented,
48551         Explain leftmost-longest matching in relation to alternatives.
48552         Tidy documentation of substring matching.
48553         Remove POSIX documentation, which is done better in
48554         glibc, and refer the reader there. Keep BSD API documentation, as
48555         that is not readily available elsewhere.
48557 2010-09-07  Eric Blake  <eblake@redhat.com>
48559         getopt: handle POSIXLY_CORRECT set but not exported
48560         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
48561         export state of POSIXLY_CORRECT, due to bash set -o posix.
48562         Reported by Dustin J. Mitchell.
48564 2010-09-05  Bruno Haible  <bruno@clisp.org>
48566         gnulib-tool: Highlight the changed options.
48567         * gnulib-tool (func_usage): Display the --import, --add-import,
48568         --remove-import explanations in bold font.
48570 2010-09-06  Karl Berry  <karl@gnu.org>
48572         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
48574 2010-09-05  Bruno Haible  <bruno@clisp.org>
48576         uniwidth/width: Update comment.
48577         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
48578         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
48580 2010-09-05  Bruno Haible  <bruno@clisp.org>
48582         isinf, isnan: Relax license.
48583         * modules/isinf (License): Change from GPL to LGPL, with consent from
48584         Ben Pfaff.
48585         * modules/isnan (License): Likewise.
48586         Requested by Ludovic Courtès.
48588 2010-09-04  Bruno Haible  <bruno@clisp.org>
48590         gnulib-tool: Help migration from --import to --add-import or --update.
48591         * gnulib-tool: Emit a verbose error message when --import is used
48592         without any module name.
48594 2010-09-04  Bruno Haible  <bruno@clisp.org>
48596         Update doc about gnulib-tool.
48597         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
48598         'gnulib-tool --update' in more detail.
48599         Reported by Eric Blake.
48601 2010-09-04  Bruno Haible  <bruno@clisp.org>
48603         gnulib-tool: Change --import. New options --add/remove-import.
48604         * gnulib-tool: New options --add-import, --remove-import.
48605         (func_usage): Document them.
48606         (have_associative): Define always.
48607         (func_import): In import mode, don't merge the specified settings with
48608         the cached settings. Implement remove-import mode.
48609         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
48610         Explain when to use them versus --import.
48611         (Simple update): Use --add-import instead of --import.
48612         * NEWS: Mention the change.
48614 2010-09-04  Bruno Haible  <bruno@clisp.org>
48616         * doc/gnulib-tool.texi (Initial import): Update paragraph about
48617         separate gnulib.mk.
48619 2010-09-04  Bruno Haible  <bruno@clisp.org>
48621         gnulib-tool: Don't talk about CVS any more.
48622         * gnulib-tool (func_usage, func_import): Write "version control"
48623         instead of CVS.
48625 2010-09-04  Jim Meyering  <meyering@redhat.com>
48627         maint.mk: avoid obscure sc_copyright_check failure in coreutils
48628         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
48629         false positives (whose names may be ill-chosen) when searching
48630         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
48631         would cause a false-positive.
48633         avoid coreutils "make distcheck" failure
48634         Coreutils tests with an absolute build directory name that contains
48635         a space.  Not quoting this directory name caused a failure.
48636         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
48637         * tests/test-vc-list-files-cvs.sh: Likewise.
48639 2010-09-04  Bruno Haible  <bruno@clisp.org>
48641         gnulib-tool: Avoid error when run in a package without Makefile.am.
48642         * gnulib-tool: When collecting the m4dirs in a package that does not
48643         have a Makefile.am, eliminate those directories that contain no
48644         gnulib-cache.m4. Fix expression that counts these directories.
48646 2010-09-04  Bruno Haible  <bruno@clisp.org>
48648         update-copyright test: Improve output when perl is missing or too old.
48649         * tests/test-update-copyright.sh: Move test of Perl version down after
48650         the test whether Perl exists. Provide an explanation relating Perl's
48651         error message to Automake's SKIP: message.
48653 2010-09-04  Bruno Haible  <bruno@clisp.org>
48655         Don't augment PATH in TESTS_ENVIRONMENT.
48656         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
48657         set abs_aux_dir instead of augmenting PATH.
48658         * modules/vc-list-files-tests (Makefile.am): Likewise.
48659         * tests/test-update-copyright.sh: Augment PATH here.
48660         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
48661         path_prepend_.
48662         * tests/test-vc-list-files-git.sh: Likewise.
48664 2010-09-04  Jim Meyering  <meyering@redhat.com>
48666         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
48667         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
48669 2010-09-04  Bruno Haible  <bruno@clisp.org>
48671         strdup: Fix compilation error in C++ mode.
48672         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
48673         the macro.
48675 2010-09-04  Bruno Haible  <bruno@clisp.org>
48677         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
48678         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
48679         macro into a function.
48680         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
48682 2010-09-04  Bruno Haible  <bruno@clisp.org>
48684         Set PATH_SEPARATOR the same way autoconf does.
48685         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
48686         the value of PATH_SEPARATOR the same way autoconf-generated configure
48687         scripts do.
48688         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
48689         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
48691 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
48693         Set PATH_SEPARATOR the same way autoconf does.
48694         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
48695         the same way autoconf-generated configure scripts do.
48696         * posix-modules: Likewise.
48698 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
48700         hash: fix safe_hasher const typo
48701         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
48702         const; otherwise, there is a type error later.
48704 2010-09-02  Jim Meyering  <meyering@redhat.com>
48706         test-update-copyright.sh: require perl 5.8.0
48707         * tests/test-update-copyright.sh: Require 5.8.0,
48708         which Tom G. Christensen has confirmed is adequate,
48709         while 5.6.1 is not.
48711 2010-09-02  Eric Blake  <eblake@redhat.com>
48713         tests: init.sh improvements for re-exec'ing with zsh
48714         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
48715         -vx through shell re-exec.
48716         Reported by Tom G. Christensen.
48718         wctype: fix typo in previous commit
48719         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
48720         Reported by Ludovic Courtès.
48722 2010-09-02  Jim Meyering  <meyering@redhat.com>
48724         test-update-copyright.sh: skip test if Perl is too old
48725         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
48726         Reported by Tom G. Christensen.
48728 2010-09-02  Bruno Haible  <bruno@clisp.org>
48730         wctype: Avoid compilation error on IRIX 6.5.30.
48731         * lib/wctype.in.h (iswblank): Declare with a replacement if
48732         REPLACE_ISWBLANK is set.
48733         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
48734         declared. Set REPLACE_ISWBLANK.
48735         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
48736         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
48737         * doc/posix-headers/wctype.texi: Likewise.
48738         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48740 2010-09-01  Bruno Haible  <bruno@clisp.org>
48742         New module 'socketlib'.
48743         * modules/socketlib: New file.
48744         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
48745         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
48746         * modules/sockets (Depends-on): Add socketlib.
48747         Suggested by Sam Steingold <sds@gnu.org>.
48749 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48751         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
48753         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
48754         when one needs search access to a directory but not read access.
48755         On systems where it is available, it works in some cases where
48756         O_RDONLY does not, namely on directories that are searchable but
48757         not readable, and which need only to be searchable.  If O_SEARCH
48758         is not available, fall back to the traditional method of using
48759         O_RDONLY.
48761         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
48762         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
48763         when opening a directory that needs only to be searchable.
48764         * lib/chdir-safer.c (chdir_no_follow): Likewise.
48765         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
48766         * lib/openat-proc.c (openat_proc_name): Likewise.
48767         * lib/openat.c (openat_needs_fchdir): Likewise.
48768         * lib/save-cwd.c (save_cwd): Likewise.
48769         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
48771 2010-08-28  Bruno Haible  <bruno@clisp.org>
48773         New module 'host-cpu-c-abi'.
48774         * modules/host-cpu-c-abi: New file.
48775         * m4/host-cpu-c-abi.m4: New file, based on part of
48776         clisp/src/m4/general.m4.
48777         Requested by Sam Steingold <sds@gnu.org>.
48779 2010-08-31  Eric Blake  <eblake@redhat.com>
48780         and Jim Meyering  <meyering@redhat.com>
48782         hash: factor, and guard against misbehaving hasher function
48783         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
48784         of table->hasher's return value.  Also protect against a hash value
48785         so large that adding it to table->bucket results in a NULL pointer.
48786         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
48787         Use it in place of open-coded check-and-abort.
48789 2010-08-30  Bruno Haible  <bruno@clisp.org>
48791         hash: silence spurious clang warning
48792         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
48793         Reported by Eric Blake.
48795 2010-08-30  Eric Blake  <eblake@redhat.com>
48797         strstr, memmem, strcasestr: avoid leaked shell message
48798         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
48799         FreeBSD.
48800         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
48801         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
48803         tests: silence clang warning
48804         * tests/test-malloca.c (do_allocation): Avoid dead store.
48806 2010-08-29  Bruno Haible  <bruno@clisp.org>
48808         gettext: Fix recent mistake.
48809         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
48811 2010-08-29  Bruno Haible  <bruno@clisp.org>
48813         selinux-h: Offer a --without-selinux option.
48814         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
48815         --without-selinux was specified, skip all tests and define
48816         HAVE_SELINUX_SELINUX_H to 0.
48817         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
48818         set LIB_SELINUX to empty.
48819         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
48820         gl_LIBSELINUX. If --without-selinux was specified, replace
48821         selinux/context.h.
48822         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
48824 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48825             Bruno Haible  <bruno@clisp.org>
48827         Make the module 'realloc-gnu' work again on AIX and OSF/1.
48828         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
48829         of HAVE_REALLOC.
48830         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
48831         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
48832         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
48833         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48835 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48836             Bruno Haible  <bruno@clisp.org>
48838         Make the module 'calloc-gnu' work again on AIX and OSF/1.
48839         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
48840         HAVE_CALLOC.
48841         * lib/xmalloc.c: Update accordingly.
48842         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
48843         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
48844         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
48846 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48847             Bruno Haible  <bruno@clisp.org>
48849         Make the module 'malloc-gnu' work again on AIX and OSF/1.
48850         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
48851         HAVE_MALLOC.
48852         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
48853         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
48854         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
48856 2010-08-29  Bruno Haible  <bruno@clisp.org>
48858         Update modules list.
48859         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48860         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
48861         (String handling <string.h>): Add astrxfrm.
48862         (File system functions): Add readlinkat.
48864 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48866         Tests for module 'realloc-gnu'.
48867         * modules/realloc-gnu-tests: New file.
48868         * tests/test-realloc-gnu.c: New file.
48870         Tests for module 'calloc-gnu'.
48871         * modules/calloc-gnu-tests: New file.
48872         * tests/test-calloc-gnu.c: New file.
48874         Tests for module 'malloc-gnu'.
48875         * modules/malloc-gnu-tests: New file.
48876         * tests/test-malloc-gnu.c: New file.
48878 2010-08-28  Bruno Haible  <bruno@clisp.org>
48880         Rename module 'realloc' -> 'realloc-gnu'.
48881         * modules/realloc-gnu: New file, copied from modules/realloc.
48882         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
48883         obsolete.
48884         * modules/mgetgroups (Depends-on): Update.
48885         * doc/posix-functions/realloc.texi: Update.
48886         * NEWS: Mention the change.
48888         Rename module 'calloc' -> 'calloc-gnu'.
48889         * modules/calloc-gnu: New file, copied from modules/calloc.
48890         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
48891         obsolete.
48892         * doc/posix-functions/calloc.texi: Update.
48893         * NEWS: Mention the change.
48895         Rename module 'malloc' -> 'malloc-gnu'.
48896         * modules/malloc-gnu: New file, copied from modules/malloc.
48897         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
48898         obsolete.
48899         * modules/argp (Depends-on): Update.
48900         * modules/regex (Depends-on): Update.
48901         * doc/posix-functions/malloc.texi: Update.
48902         * NEWS: Mention the change.
48904 2010-08-28  Eric Blake  <eblake@redhat.com>
48906         pread, pwrite: add missing dependency
48907         * modules/pread (Depends-on): Add extensions.
48908         * modules/pwrite (Depends-on): Likewise.
48910 2010-08-28  Bruno Haible  <bruno@clisp.org>
48912         unistr/u*-strchr: Fix tests dependencies.
48913         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
48914         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
48915         Reported by Ian Beckwith <ianb@erislabs.net>.
48917 2010-08-28  Bruno Haible  <bruno@clisp.org>
48919         read-file: Don't occupy too much unused memory.
48920         * lib/read-file.c (fread_file): Shrink the buffer at the end.
48922 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
48923             Eric Blake  <eblake@redhat.com>
48924             Bruno Haible  <bruno@clisp.org>
48926         read-file: Avoid memory reallocations with regular files.
48927         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
48928         (fread_file): With regular files, use the remaining length as the
48929         initial buffer size.  Check against overflow.
48930         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
48931         sys_stat.
48933 2010-08-28  Bruno Haible  <bruno@clisp.org>
48935         ftello: Relax license.
48936         * modules/ftello (License): Relax to LGPLv2+.
48937         Reported by Eric Blake.
48939 2010-08-28  Bruno Haible  <bruno@clisp.org>
48941         Avoid relocwrapper link errors due to gnulib replacement functions.
48942         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
48943         function.
48944         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48946 2010-08-28  Bruno Haible  <bruno@clisp.org>
48948         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
48949         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
48950         defined.
48951         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
48952         Suggested by Eric Blake.
48954 2010-08-28  Bruno Haible  <bruno@clisp.org>
48956         sys_socket, netdb: Ensure socklen_t gets defined.
48957         * modules/sys_socket (Depends-on): Add socklen.
48958         * modules/netdb (Depends-on): Likewise.
48959         * modules/getaddrinfo (Depends-on): Remove socklen.
48960         * modules/getsockopt (Depends-on): Likewise.
48961         * modules/setsockopt (Depends-on): Likewise.
48962         * tests/test-sys_socket.c: Check that socklen_t is defined.
48963         * tests/test-netdb.c: Likewise.
48964         * m4/socklen.m4: Update comments.
48965         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48967 2010-08-27  Eric Blake  <eblake@redhat.com>
48969         login_tty: add missing dependency
48970         * modules/login_tty (Depends-on): Add pty.
48972 2010-08-26  Eric Blake  <eblake@redhat.com>
48974         lib-symbol-versions: fix m4 quoting
48975         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
48976         format for AC_LINK_IFELSE.
48978         glob: fix compile test
48979         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
48981         btowc: fix missing file
48982         * modules/btowc (Files): Also ship locale-fr.m4.
48984         lseek: fix link test
48985         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
48986         AC_LINK_IFELSE.
48988         include_next: silence autoconf 2.68 warning
48989         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
48990         AC_COMPILE_IFELSE as special.
48991         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
48992         autoconf < 2.68.
48994         acl: fix compilation test
48995         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
48996         AC_COMPILE_IFELSE.
48998 2010-08-26  Bruno Haible  <bruno@clisp.org>
49000         Modernize AC_TRY_RUN invocations.
49001         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
49002         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
49003         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
49004         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
49005         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
49006         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49007         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
49008         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
49009         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49010         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49011         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
49012         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
49013         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
49014         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49015         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
49016         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
49017         gl_MBRLEN_NUL_RETVAL): Likewise.
49018         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49019         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49020         Likewise.
49021         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49022         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
49023         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
49024         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
49025         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
49026         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
49027         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
49028         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49029         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
49030         Likewise.
49031         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
49032         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
49033         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49034         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49035         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49036         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
49037         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
49038         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
49039         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49040         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49042 2010-08-26  Bruno Haible  <bruno@clisp.org>
49044         Modernize AC_TRY_LINK invocations.
49045         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
49046         AC_TRY_LINK.
49047         * m4/argp.m4 (gl_ARGP): Likewise.
49048         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
49049         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
49050         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
49051         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49052         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49053         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
49054         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
49055         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
49056         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49057         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49058         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49059         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
49060         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
49061         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
49062         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
49063         * m4/hostent.m4 (gl_HOSTENT): Likewise.
49064         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
49065         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
49066         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
49067         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
49068         Likewise.
49069         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
49070         Likewise.
49071         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
49072         Likewise.
49073         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
49074         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
49075         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
49076         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
49077         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
49078         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49079         * m4/servent.m4 (gl_SERVENT): Likewise.
49080         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
49081         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
49082         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
49083         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
49084         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
49085         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
49086         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
49087         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
49088         * modules/tsearch-tests (configure.ac): Likewise.
49090 2010-08-26  Bruno Haible  <bruno@clisp.org>
49092         Modernize AC_TRY_COMPILE invocations.
49093         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
49094         AC_TRY_COMPILE.
49095         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
49096         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
49097         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
49098         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
49099         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
49100         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
49101         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
49102         * m4/lock.m4 (gl_LOCK): Likewise.
49103         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
49104         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49105         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
49106         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
49107         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
49108         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
49109         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49110         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
49111         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
49112         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
49113         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
49114         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
49115         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
49116         extraneous semicolon.
49118 2010-08-26  Jim Meyering  <meyering@redhat.com>
49120         stat-time: relax license LGPL
49121         * modules/stat-time (License): Change from GPL to LGPL,
49122         with consent from all contributors, for use in libguile.
49123         Requested by Ludovic Courtès.
49125 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
49127         poll: return immediately on POLLHUP.
49128         * lib/poll.c (poll): Always set timeout before wait_timeout is
49129         computed.
49131 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49133         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
49134         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
49135         rmdir ("dir/.//"), unlinkat.
49137 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
49139         stdbool: avoid spurious failure with modern xlc
49140         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49142 2010-08-24  Bruno Haible  <bruno@clisp.org>
49144         getloadavg: simplify code
49145         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
49146         gl_have_func. Update comments.
49148 2010-08-24  Eric Blake  <eblake@redhat.com>
49150         getloadavg: don't define SVR4 on cygwin
49151         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
49152         only define SVR4 when -lkvm is required.
49153         Reported by Yaakov Selkowitz.
49155 2010-08-24  Bruno Haible  <bruno@clisp.org>
49157         priv-set: fix comment
49158         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
49160 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
49162         priv-set: fix comments
49163         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
49164         to match code, as suggested by David Bartley in:
49165         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
49167 2010-08-23  Eric Blake  <eblake@redhat.com>
49169         stdbool: avoid rejecting clang
49170         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
49171         * tests/test-stdbool.c: Enable more tests if using the system
49172         <stdbool.h> instead of the gnulib replacement.
49173         (main): Move xlc bug test to a runtime test for all compilers.
49174         Reported by Anders Kaseorg.
49176         argz: fix shell quoting issue
49177         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
49178         Reported by Charles Wilson.
49180 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
49181             Erik Faye-Lund <kusmabite@gmail.com>
49183         poll, select: handle ERROR_BROKEN_PIPE.
49184         * lib/poll.c (win32_compute_revents): Return POLLHUP when
49185         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49186         * lib/select.c (win32_compute_revents): Do not mark a pipe
49187         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
49189 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
49191         fts: allow compilation with C++
49192         * lib/fts_.h: Specify extern "C" linkage with C++.
49194 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49196         Fix gnulib-tool sed script de-commentation for AIX sed.
49197         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
49198         sed.
49200 2010-08-17  Eric Blake  <eblake@redhat.com>
49202         test-stddef: test for (some) offsetof bugs
49203         * tests/test-stddef.c: Enhance test to ensure correct type of
49204         offsetof.
49205         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
49206         that we are not fixing at this time.
49208 2010-08-15  Bruno Haible  <bruno@clisp.org>
49210         stpncpy: Allow stpncpy to be defined as a macro.
49211         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
49212         if it's already correctly declared.
49213         * lib/string.in.h (stpncpy): Undefine before redefining.
49214         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
49216 2010-08-14  Bruno Haible  <bruno@clisp.org>
49218         Rename module 'memxfrm' to 'amemxfrm'.
49219         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
49220         (amemxfrm): Renamed from memxfrm.
49221         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
49222         (amemxfrm): Renamed from memxfrm.
49223         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
49224         * NEWS: Mention the change.
49225         * MODULES.html.sh (String handling <string.h>): Update.
49226         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
49227         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
49228         * lib/unicase/u16-casexfrm.c: Likewise.
49229         * lib/unicase/u32-casexfrm.c: Likewise.
49230         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
49231         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
49232         * lib/uninorm/u16-normxfrm.c: Likewise.
49233         * lib/uninorm/u32-normxfrm.c: Likewise.
49234         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
49235         memxfrm.
49236         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
49237         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
49238         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
49239         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
49240         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
49241         Suggested by Paul Eggert.
49243 2010-08-14  Bruno Haible  <bruno@clisp.org>
49245         Tests for module 'astrxfrm'.
49246         * modules/astrxfrm-tests: New file.
49247         * tests/test-astrxfrm.c: New file.
49249         New module 'astrxfrm'.
49250         * lib/astrxfrm.h: New file.
49251         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
49252         * modules/astrxfrm: New file.
49254 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
49256         regex: Tweak doc.
49257         * doc/regex.texi (Overview): Don't mention regex.c.
49258         (GNU Regular Expression Compiling): Likewise.
49259         (Match-end-of-line Operator): Mention 'not_eol'.
49261 2010-08-14  Brian Gough  <bjg@gnu.org>
49262             Bruno Haible  <bruno@clisp.org>
49264         git-merge-changelog: add doc relating to use with bzr and hg.
49265         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
49267 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
49269         pthread: fix pthread.h creation for srcdir != builddir
49270         * modules/pthread (Makefile.am): Fix the rule to work also in a
49271         non-srcdir build.
49273 2010-08-13  Karl Berry  <karl@gnu.org>
49275         * doc/regex.texi (Predefined Syntaxes): @smallexample.
49276         * doc/posix-*/*: force line break before @url of POSIX
49277         specifications.
49278         Suggested by Werner Lemberg.
49280 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49282         strtod: fix const diagnostic
49283         * lib/strtod.c (strtod): Don't assign const char * to char *,
49284         as this elicits a warning from GCC when warnings are enabled.
49286 2010-08-10  Pádraig Brady  <P@draigbrady.com>
49287         and Eric Blake  <eblake@redhat.com>
49289         copy-acl: ignore ENOTSUP on HP-UX
49290         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
49291         so that it is available for HP-UX.
49292         * lib/copy-acl.c (qcopy_acl): Use it.
49293         Reported by Patrick M. Callahan.
49295 2010-08-10  Eric Blake  <eblake@redhat.com>
49297         open, chown: relax license
49298         * modules/open (License): Change to LGPLv2+, with consent by all
49299         authors, for use in augeas.
49300         * modules/chown (License): Likewise.
49301         * modules/lchown (Likewise): Likewise.
49302         Requested by Adam Stokes.
49304 2010-08-09  Karl Berry  <karl@gnu.org>
49306         * build-aux/ar-lib: new file, import from Automake.
49307         * config/srclist.txt: autocheck for updates.
49309 2010-08-09  Eric Blake  <eblake@redhat.com>
49311         readlinkat: adjust client modules
49312         * modules/areadlinkat (Depends-on): Use readlinkat, not
49313         symlinkat.
49314         * modules/areadlinkat-with-size (Depends-on): Likewise.
49316         mknod: be more vocal about danger of running tests as root
49317         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
49318         root, since that is just asking for problems.
49319         Suggested by Bruno Haible, based on a report by Rainer Tammer.
49321         readlinkat: split into its own module
49322         * modules/symlinkat: Split readlinkat...
49323         * modules/readlinkat: ...into separate module.
49324         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
49325         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
49326         * lib/symlinkat.c (readlinkat): Move...
49327         * lib/readlinkat.c: ...into new file.
49328         * modules/symlinkat-tests: Split readlinkat test...
49329         * modules/readlinkat-tests: ...into separate module.
49330         * tests/test-symlinkat.c: Split...
49331         * tests/test-readlinkat.c: ...into new file.
49332         * NEWS: Document the split.
49333         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
49334         * lib/unistd.in.h (readlinkat): Likewise.
49335         Suggested by Bruno Haible.
49337 2010-08-08  Bruno Haible  <bruno@clisp.org>
49339         memxfrm: Speed up.
49340         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
49341         that usually only one call to strxfrm is necessary for each string
49342         part.
49343         Reported by Paul Eggert <eggert@cs.ucla.edu>.
49345 2010-08-07  Karl Berry  <karl@gnu.org>
49347         * doc/posix-headers/limits.texi,
49348         * doc/posix-functions/malloc.texi,
49349         * doc/posix-functions/strsignal.texi: missing @item.
49350         * doc/ld-version-script.texi: spurious leading i.
49351         * doc/regex.texi (Interval Operators): no commas inside @var.
49353 2010-08-01  Bruno Haible  <bruno@clisp.org>
49355         Integrate the regex documentation.
49356         * doc/gnulib.texi: Define 'cn' index.
49357         (Regular expressions): New a chapter that includes regex.texi and
49358         regexprops-generic.texi.
49359         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
49360         syntax.
49362         Whitespace cleanup.
49363         * doc/regex.texi: Remove trailing spaces.
49365         Add regex documentation.
49366         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
49367         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
49368         Written by Kathy A. Hargreaves and Karl Berry.
49370 2010-08-01  Bruno Haible  <bruno@clisp.org>
49372         link: Update documentation.
49373         * doc/posix-functions/link.texi: Update regarding Solaris.
49375 2010-07-31  Bruno Haible  <bruno@clisp.org>
49377         Update modules list.
49378         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
49379         (String handling <string.h>): Add memcmp2, memxfrm.
49380         (Container data structures): Add xlist, xsublist, xoset.
49381         (Core language properties): Add alignof, unused-parameter.
49382         (Process control, Numeric conversion functions <stdlib.h>): Renamed
49383         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
49384         (Unibyte characters <ctype.h>): New section.
49385         (String handling <string.h>): New section.
49386         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
49387         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
49388         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
49389         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
49390         tan, tanh, tanl, y0, y1, yn.
49391         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
49392         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
49393         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
49394         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
49395         unlockpt, vdprintf, vdprintf-posix.
49396         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
49397         (File system functions): Add concat-filename, sys_file, sys_ioctl,
49398         xconcat-filename.
49399         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
49400         getdtablesize, pipe2, pipe2-safer.
49401         (Security): New section.
49402         (Networking functions): Add accept4.
49403         (Signal handling): Add sigpipe.
49404         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
49405         mbmemcasecoll.
49406         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
49407         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
49408         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
49409         pipe-filter-ii.
49410         (Misc): Add argp-version-etc, login_tty, parse-duration.
49412 2010-07-31  Bruno Haible  <bruno@clisp.org>
49414         Improve doc in MODULES.html.
49415         * modules/linkat (Description): Add the word "function".
49416         * modules/mkfifo (Description): Likewise.
49417         * modules/mknod (Description): Likewise.
49418         * modules/remove (Description): Likewise.
49419         * modules/renameat (Description): Likewise.
49420         * modules/stat (Description): Likewise.
49421         * modules/symlink (Description): Likewise.
49422         * modules/unlink (Description): Likewise.
49424 2010-07-31  Bruno Haible  <bruno@clisp.org>
49426         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
49427         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
49428         option --enable/disable-c++ instead of --enable/disable-cxx.
49429         * NEWS: Mention the change.
49431 2010-07-31  Bruno Haible  <bruno@clisp.org>
49433         readlink, areadlink: Relax test a bit.
49434         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
49435         alternative to ENOTDIR.
49436         * tests/test-areadlink.h (test_areadlink): Likewise.
49437         Reported by Rainer Tammer.
49439 2010-07-31  Bruno Haible  <bruno@clisp.org>
49441         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
49442         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
49443         character, perform the search using U_STRCHR.
49444         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
49445         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
49446         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
49447         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
49448         Suggested by Paolo Bonzini.
49450 2010-07-31  Bruno Haible  <bruno@clisp.org>
49452         unistr/u*-strstr: Fix dependencies.
49453         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
49454         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
49455         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
49457 2010-07-31  Bruno Haible  <bruno@clisp.org>
49459         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
49460         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
49461         the beginning of the loop.
49462         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
49463         cases in 'switch' statement.
49465         unistr/u8-strchr: Fix several bugs.
49466         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
49467         the string. When not found, return NULL, not a pointer near the end.
49469         More tests for unistr/u8-strchr.
49470         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
49471         that the function does not read past the first occurrence of the byte
49472         being searched.
49473         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
49474         * tests/unistr/test-u16-strchr.c (main): New function.
49475         * tests/unistr/test-u32-strchr.c (main): New function.
49477 2010-07-31  Bruno Haible  <bruno@clisp.org>
49479         posix-modules: Ignore backup files of documentation files.
49480         * posix-modules: grep only through files named *.texi.
49482 2010-07-31  Bruno Haible  <bruno@clisp.org>
49484         symlinkat: Fix documentation.
49485         * doc/posix-functions/readlinkat.texi: Fix module name.
49487 2010-07-31  Bruno Haible  <bruno@clisp.org>
49489         fchownat: Replace also when chown has the trailing slash bug.
49490         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
49491         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
49492         introduced on 2010-04-10.
49493         Reported by Rainer Tammer.
49495 2010-07-31  Bruno Haible  <bruno@clisp.org>
49497         linkat: Work around AIX 7.1 bug.
49498         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
49499         whether linkat handles trailing slash correctly. If not, replace linkat
49500         and define LINKAT_TRAILING_SLASH_BUG.
49501         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
49502         check whether (fd1,file1) points to a directory if file1 or file2 ends
49503         in a slash. Code taken from lib/link.c.
49504         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
49505         Reported by Rainer Tammer.
49507 2010-07-31  Bruno Haible  <bruno@clisp.org>
49509         Correctly determine whether pow is available in libc on AIX 7 with xlc.
49510         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
49511         This disables an xlc optimization that was causing wrong test results.
49512         Reported by Rainer Tammer.
49514 2010-07-31  Bruno Haible  <bruno@clisp.org>
49516         iconv: Work around AIX 6.1..7.1 bug.
49517         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
49518         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
49519         cross-compiling, guess no on all versions of AIX.
49520         Reported by Rainer Tammer.
49522 2010-07-31  Bruno Haible  <bruno@clisp.org>
49524         readlink: Relax test a bit.
49525         * tests/test-readlink.h (test_readlink): Allow different errno value
49526         when readlink is called with a file name that ends in / and refers to
49527         a file.
49528         Suggested by Eric Blake.
49529         Reported by Rainer Tammer.
49531 2010-07-31  Bruno Haible  <bruno@clisp.org>
49533         copysign: Does not require -lm on glibc systems.
49534         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
49535         gl_COMMON_DOUBLE_MATHFUNC.
49536         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
49538 2010-07-31  Bruno Haible  <bruno@clisp.org>
49540         duplocale: Work around AIX 7.1 bug.
49541         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
49542         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
49543         * lib/duplocale.c (rpl_duplocale): Update comment.
49544         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
49545         Reported by Rainer Tammer.
49547 2010-07-30  Bruno Haible  <bruno@clisp.org>
49549         dirfd: Avoid link error on AIX 7.1.
49550         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
49551         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
49552         exist, set REPLACE_DIRFD.
49553         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
49554         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
49555         * doc/posix-functions/dirfd.texi: Update.
49556         Reported by Rainer Tammer.
49558 2010-07-30  Eric Blake  <eblake@redhat.com>
49560         strtod: next round of AIX fixes
49561         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
49562         exponent.
49563         * tests/test-strtod.c (main): Enhance tests.
49564         * doc/posix-functions/strtod.texi (strtod): Document next bug.
49565         Reported by Rainer Tammer.
49567         futimens: fix configure check
49568         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
49569         Reported by Bruno Haible.
49571 2010-07-30  Bruno Haible  <bruno@clisp.org>
49573         getline: Update regarding AIX.
49574         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
49575         Reported by Rainer Tammer.
49577 2010-07-30  Bruno Haible  <bruno@clisp.org>
49579         wcwidth: Drop replacement on AIX 7.
49580         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
49581         AIX 7.
49582         Reported by Rainer Tammer.
49584 2010-07-30  Bruno Haible  <bruno@clisp.org>
49586         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
49587         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
49588         a 'char *'.
49589         Reported by Rainer Tammer.
49591 2010-07-30  Bruno Haible  <bruno@clisp.org>
49593         unlink: Update regarding AIX.
49594         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
49595         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
49596         Reported by Rainer Tammer.
49598 2010-07-30  Bruno Haible  <bruno@clisp.org>
49600         symlink: Update regarding AIX.
49601         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
49602         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
49603         Reported by Rainer Tammer.
49605 2010-07-30  Bruno Haible  <bruno@clisp.org>
49607         strndup: Update regarding AIX.
49608         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
49609         AIX 7.
49610         Reported by Rainer Tammer.
49612 2010-07-30  Bruno Haible  <bruno@clisp.org>
49614         stat: Update regarding AIX.
49615         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
49616         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
49617         Reported by Rainer Tammer.
49619 2010-07-30  Bruno Haible  <bruno@clisp.org>
49621         truncl: Fix autoconf test.
49622         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
49623         whether truncl works.
49624         Reported by Rainer Tammer.
49626 2010-07-30  Bruno Haible  <bruno@clisp.org>
49628         round: Update regarding AIX.
49629         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
49630         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
49631         Reported by Rainer Tammer.
49633 2010-07-30  Bruno Haible  <bruno@clisp.org>
49635         rename: Update regarding AIX.
49636         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
49637         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
49638         Reported by Rainer Tammer.
49640 2010-07-30  Bruno Haible  <bruno@clisp.org>
49642         printf.m4: Update regarding AIX.
49643         * m4/printf.m4: Update comments regarding AIX.
49644         Reported by Rainer Tammer.
49646 2010-07-30  Bruno Haible  <bruno@clisp.org>
49648         iconv: Update regarding AIX.
49649         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
49650         AIX 7.
49651         Reported by Rainer Tammer.
49653 2010-07-30  Bruno Haible  <bruno@clisp.org>
49655         getopt: Update regarding AIX.
49656         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
49657         no on AIX.
49658         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
49659         Reported by Rainer Tammer.
49661 2010-07-30  Bruno Haible  <bruno@clisp.org>
49663         ldexpl; Update regarding AIX.
49664         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
49665         on AIX 7.
49666         Reported by Rainer Tammer.
49668 2010-07-30  Bruno Haible  <bruno@clisp.org>
49670         frexpl: Update regarding AIX.
49671         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
49672         on AIX 7.
49673         Reported by Rainer Tammer.
49675 2010-07-30  Bruno Haible  <bruno@clisp.org>
49677         open, fopen: Update regarding AIX.
49678         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
49679         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
49680         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
49681         * doc/posix-functions/fopen.texi: Likewise.
49682         Reported by Rainer Tammer.
49684 2010-07-30  Bruno Haible  <bruno@clisp.org>
49686         chown: Update doc regarding AIX.
49687         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
49688         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
49689         Reported by Rainer Tammer.
49691 2010-07-30  Eric Blake  <eblake@redhat.com>
49693         strtod: fix bug in replacement function on AIX
49694         * lib/strtod.c (strtod): Special case broken "0x" parse in
49695         underlying strtod.
49696         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
49697         * doc/posix-functions/strtod.texi (strtod): Likewise.
49698         Reported by Rainer Tammer.
49700 2010-07-30  Bruno Haible  <bruno@clisp.org>
49702         mbrlen: Fix cross-compilation guess for AIX.
49703         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
49704         guess. Leftover from 2008-12-22.
49706 2010-07-30  Bruno Haible  <bruno@clisp.org>
49708         mbrtowc: Fix cross-compilation guess for AIX.
49709         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
49710         guess. Leftover from 2008-12-21.
49712 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
49714         init.sh: work around trap limitation of some shells
49715         * tests/init.sh (setup_): Move exit trap outside of shell function.
49717 2010-07-29  Eric Blake  <eblake@redhat.com>
49719         strtod: aid debugging
49720         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
49721         understanding why strtod is rejected.
49723 2010-07-28  Bruno Haible  <bruno@clisp.org>
49725         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
49726         * lib/unistr/u8-chr.c: Include <string.h>.
49727         * tests/unistr/test-u8-chr.c: Likewise.
49728         * tests/unistr/test-u16-chr.c: Likewise.
49729         * tests/unistr/test-u32-chr.c: Likewise.
49730         * tests/unistr/test-u8-strchr.c: Likewise.
49731         * tests/unistr/test-u16-strchr.c: Likewise.
49732         * tests/unistr/test-u32-strchr.c: Likewise.
49733         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
49734         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
49735         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
49736         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
49738 2010-07-28  Bruno Haible  <bruno@clisp.org>
49740         Use spaces for indentation, not tabs.
49741         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
49743 2010-07-27  Bruno Haible  <bruno@clisp.org>
49745         mbspcasecmp: Fix function specification.
49746         * lib/string.in.h (mbspcasecmp): Fix specification comment.
49747         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
49748         Reported by Eric Blake <eblake@redhat.com>.
49750 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
49752         timespec: use cast and not conditional, as truncation isn't possible
49753         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
49754         instead of a conditional.  Comment about the situation in more detail.
49755         This undoes most of the 2009-10-29 patch.
49757 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
49759         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
49760         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
49761         * lib/unistr/u8-strchr.c: Likewise.
49762         * modules/unistr/u8-chr: Depend on memchr.
49764         unistr/u*-strchr: add tests
49765         * modules/unistr/u8-strchr-tests: New file.
49766         * modules/unistr/u16-strchr-tests: New file.
49767         * modules/unistr/u32-strchr-tests: New file.
49768         * tests/unistr/test-strchr.h: New file.
49769         * tests/unistr/test-u8-strchr.c: New file.
49770         * tests/unistr/test-u16-strchr.c: New file.
49771         * tests/unistr/test-u32-strchr.c: New file.
49773         unistr/u*-chr: test multibyte sequences more
49774         * tests/unistr/test-chr.h: Do complete testing of the characters in the
49775         test vector.
49776         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
49777         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
49778         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
49780         unistr/u*-chr: test multibyte sequences
49781         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
49783         unistr/u*-chr: prepare for multibyte tests
49784         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
49785         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
49786         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
49787         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
49788         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
49789         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
49791 2010-07-18  Bruno Haible  <bruno@clisp.org>
49793         unistr/u8-strchr: Optimize non-ASCII argument case.
49794         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
49795         because the first byte often matches anyway.
49796         Reported by Pádraig Brady <P@draigbrady.com>.
49798 2010-07-15  Karl Berry  <karl@gnu.org>
49800         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
49802 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
49804         getcwd: on Solaris, work better if ancestors are inaccessible
49805         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
49806         buffer and size, try again with a large buffer.  This works better
49807         on Solaris, since its getcwd succeeds even if the path to the root
49808         is inaccessible, and this is helpful in common cases such as .zfs
49809         hidden directories.  Problem reported by J Chapman Flack in
49810         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
49811         Use system getcwd if it's declared, not merely if it's partly
49812         working; use the partly-working test only to avoid needless effort
49813         if the system getcwd fails.
49814         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
49815         comment that was already obsolete and is now even more obsolete.
49816         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
49817         now might call strdup.
49819 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
49821         pthread: Add enough so that coreutils/src/sort.c compiles.
49822         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
49823         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
49824         gnulib. Include <sched.h> and <time.h>, as per POSIX.
49825         Include <sys/types.h>, in case it defines pthread_t.
49826         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
49827         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
49828         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
49829         (pthread_rwlockattr_t, pthread_spinlock_t):
49830         New typedefs, if HAVE_PTHREAD_T is not defined.
49831         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
49832         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
49833         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
49834         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
49835         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
49836         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
49837         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
49838         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
49839         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
49840         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
49841         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
49842         New macros.
49843         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
49844         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
49845         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
49846         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
49847         (pthread_spin_unlock): New dummy functions.
49848         (pthread_create): Return EAGAIN; don't set errno.
49849         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
49850         require AC_C_INLINE.
49851         * modules/pthread (Depends-on): Add sched, time.
49852         (pthread.h): Use AM_V_GEN.
49854 2010-07-13  Bruno Haible  <bruno@clisp.org>
49856         striconveh: Don't malloc memory if the result buffer is sufficient.
49857         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
49858         buffer if its size is sufficient.
49859         Reported by Ludovic Courtès <ludo@gnu.org>.
49861 2010-07-13  Bruno Haible  <bruno@clisp.org>
49863         strtod: Add safety check.
49864         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
49866 2010-07-12  Bruno Haible  <bruno@clisp.org>
49868         Unify tests that set gl_cv_func_ldexpl_no_libm.
49869         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
49870         gl_FUNC_LDEXPL.
49871         (gl_FUNC_LDEXPL): Invoke it.
49872         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49874 2010-07-12  Bruno Haible  <bruno@clisp.org>
49876         Unify tests that set gl_cv_func_ldexp_no_libm.
49877         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
49878         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
49879         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
49880         (configure.ac): Simply invoke gl_FUNC_LDEXP.
49881         * modules/strtod (Files): Add m4/ldexp.m4.
49883 2010-07-12  Bruno Haible  <bruno@clisp.org>
49885         Unify tests that set gl_cv_func_frexpl_no_libm.
49886         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
49887         gl_FUNC_FREXPL_NO_LIBM.
49888         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
49889         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49891 2010-07-12  Bruno Haible  <bruno@clisp.org>
49893         Unify tests that set gl_cv_func_frexp_no_libm.
49894         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
49895         gl_FUNC_FREXP_NO_LIBM.
49896         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
49897         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
49899 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49901         memcoll: clarify sizes versus lengths, document better, and tweak perf
49902         * lib/memcoll.c (strcoll_loop, memcoll0):
49903         Improve quality of descriptive comments.  Name variables
49904         consistently as to whether they are lengths (which do not include
49905         terminating null) versus sizes (which do).
49906         * lib/xmemcoll.c (xmemcoll0): Likewise.
49907         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
49908         returned when s1size == 0; this is easier to compile and saves
49909         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
49911 2010-07-12  Bruno Haible  <bruno@clisp.org>
49913         Tests for module '_Exit'.
49914         * modules/_Exit-tests: New file.
49915         * tests/test-_Exit.sh: New file.
49916         * tests/test-_Exit.c: New file.
49918         New module '_Exit'.
49919         * lib/stdlib.in.h (__attribute__): New macro.
49920         (_Exit): New declaration.
49921         * lib/_Exit.c: New file.
49922         * m4/_Exit.m4: New file.
49923         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
49924         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
49925         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
49926         * modules/_Exit: New file.
49927         * tests/test-stdlib-c++.cc (_Exit): Check signature.
49928         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
49930 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
49932         strtod: make it more-accurate typically, and don't require libm
49933         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
49934         Include limits.h.  Don't include string.h.
49935         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
49936         (locale_isspace): New function, so that no casts are needed to
49937         check whether *s is a space.
49938         (ldexp): Provide an unused dummy if not available.
49939         (scale_radix_exp, parse_number, underlying_strtod): New functions.
49940         (strtod): Use them.  This implementation prefers to use the
49941         underlying strtod if available, falling back on our own code
49942         only to fix known bugs.  This is more likely to produce an
49943         accurate result.  Also, it avoids the use of libm functions.
49944         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
49945         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
49946         was absent, but it caused a test failure with coreutils.
49947         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
49948         with libm.
49949         * modules/strtod (Makefile.am, Link): libm is no longer needed.
49950         * modules/strtod-tests (Makefile.am): Likewise.
49952 2010-07-11  Pádraig Brady  <P@draigBrady.com>
49953             Bruno Haible  <bruno@clisp.org>
49955         unistr/u8-strchr: Optimize ASCII argument case.
49956         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
49958 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
49960         (x)memcoll: minor tweaks
49961         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
49962         is after the type that it qualifies.
49963         (memcoll0): Likewise.
49964         * lib/memcoll.h (memcoll0): Likewise.
49965         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
49966         * lib/xmemcoll.h (xmemcoll0): Likewise.
49967         * lib/memcoll.c (memcoll0): Correct the comment.  This function
49968         differs from memcoll in that the NUL byte is part of the argument.
49969         Omit the abort-checks, as performance is a real issue here.  Plus,
49970         the checks were wrong anyway (an off-by-one error).  Omit local
49971         variable 'diff', as it's a bit clearer that way.
49972         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
49973         no longer needed.
49975 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
49977         (x)memcoll: speedup when input is known to be NUL delimited
49978         * lib/memcoll.c: Include stdlib.
49979         (memcoll0): New function.
49980         (strcoll_loop): New function, refactored for use in both memcoll
49981         and memcoll0.
49982         * lib/memcoll.h (memcoll0): Add prototype.
49983         * lib/xmemcoll.c (xmemcoll0): New function.
49984         (collate_error): New function, refactored for use in both xmemcoll
49985         and xmemcoll0.
49986         * lib/xmemcoll.h (xmemcoll0): Add prototype.
49987         * m4/memcoll.m4: add inline invocation.
49989 2010-07-06  Pádraig Brady  <P@draigBrady.com>
49991         * build-aux/bootstrap: Remove any local translations
49992         from the translation project synchronization directory,
49993         so that local only translations are not distributed.
49995 2010-07-04  Bruno Haible  <bruno@clisp.org>
49997         fsusage: Clarify which code applies to which platforms.
49998         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
49999         platform.
50000         * lib/fsusage.c (get_fs_usage): Likewise.
50002 2010-07-04  Bruno Haible  <bruno@clisp.org>
50004         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
50005         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
50006         Reported by Martin Lambers <marlam@marlam.de>.
50008 2010-07-04  Jim Meyering  <meyering@redhat.com>
50010         hash: once again explicitly disallow insertion of NULL
50011         * lib/hash.c (hash_insert0): Reinstate just-removed test:
50012         inserting a NULL pointer cannot work with these functions.
50013         Add a comment with details.
50014         This reverts part of the 2010-07-01 commit, 5bef1a35
50015         "hash: extend module to deal with non-pointer keys".
50017 2010-07-01  Bruno Haible  <bruno@clisp.org>
50019         stdbool: Update doc.
50020         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
50021         Info from Christian Weisgerber <naddy@mips.inka.de>.
50023 2010-07-01  Jim Meyering  <meyering@redhat.com>
50025         hash: extend module to deal with non-pointer keys
50026         * lib/hash.c (hash_insert0): New interface, much like hash_insert
50027         but that allows insertion of non-pointer entries.
50028         Do not disallow an ENTRY value of NULL.
50029         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
50030         * lib/hash.h (hash_insert0): Declare.
50032 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
50034         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
50035         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
50036         not present (i.e. with autoconf 2.59 and when using gettextize, not
50037         gnulib), require AC_GNU_SOURCE instead.
50039 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
50041         idpriv-drop: Fix tests.
50042         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
50043         not to the test-idpriv-droptemp program.
50045 2010-06-29  Bruno Haible  <bruno@clisp.org>
50047         string: Fix syntax error with g++ 2.96.
50048         * lib/string.in.h (__pure__): Remove definition.
50049         (_GL_ATTRIBUTE_PURE): New macro.
50050         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
50051         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
50052         Reported by Christian Weisgerber <naddy@mips.inka.de>.
50054 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
50056         unitypes: Fix bug introduced on 2010-05-18.
50057         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
50059 2010-06-22  Eric Blake  <eblake@redhat.com>
50061         memmem: slight optimization
50062         * lib/str-two-way.h (critical_factorization): Update comments.
50063         Reduce work during factorization phase.
50064         Reported by Carlos Bueno <carlos@bueno.org>.
50066 2010-06-21  Bruno Haible  <bruno@clisp.org>
50068         Fix HAVE_CALLOC_POSIX misnomer.
50069         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
50070         !HAVE_CALLOC_POSIX.
50071         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
50072         HAVE_CALLOC_POSIX.
50073         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
50074         instead of HAVE_CALLOC_POSIX.
50075         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
50076         HAVE_CALLOC_POSIX.
50078         Use modern idiom for calloc() replacement.
50079         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
50080         AC_FUNC_CALLOC.
50081         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
50082         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
50083         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50084         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
50085         (gl_REPLACE_CALLOC): New macro.
50087 2010-06-21  Bruno Haible  <bruno@clisp.org>
50089         Fix HAVE_REALLOC_POSIX misnomer.
50090         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
50091         !HAVE_REALLOC_POSIX.
50092         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
50093         HAVE_REALLOC_POSIX.
50094         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
50095         instead of HAVE_REALLOC_POSIX.
50096         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
50097         HAVE_REALLOC_POSIX.
50099         Use modern idiom for realloc() replacement.
50100         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
50101         AC_FUNC_REALLOC.
50102         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
50103         Autoconf's AC_FUNC_REALLOC.
50104         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50105         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
50106         (gl_REPLACE_REALLOC): New macro.
50107         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50109 2010-06-21  Bruno Haible  <bruno@clisp.org>
50111         Fix HAVE_MALLOC_POSIX misnomer.
50112         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
50113         !HAVE_MALLOC_POSIX.
50114         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
50115         HAVE_MALLOC_POSIX.
50116         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
50117         instead of HAVE_MALLOC_POSIX.
50118         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
50119         HAVE_MALLOC_POSIX.
50121         Use modern idiom for malloc() replacement.
50122         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
50123         AC_FUNC_MALLOC.
50124         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
50125         Autoconf's AC_FUNC_MALLOC.
50126         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
50127         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
50128         (gl_REPLACE_MALLOC): New macro.
50129         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
50131 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
50133         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
50134         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
50135         This macro takes 3 arguments, not 4.
50137 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
50139         ipv6: fix detection under mingw
50140         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
50141         in6_addr.
50143 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
50145         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
50146         that strtod() works when cross-compiling to a glibc version known
50147         to work.
50149 2010-06-15  Bruno Haible  <bruno@clisp.org>
50151         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
50153 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
50155         select: Correct timeout.
50156         * lib/select.c (rpl_select): Compute wait_timeout correctly.
50158 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
50160         git-version-gen: init shell var to avoid env var influence
50161         * build-aux/git-version-gen (v): Init shell var to empty.
50163 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
50165         priv-set: Don't assume that priv.h exists merely because getppriv does.
50166         See Jan Andersen's bug report about AIX 5L in
50167         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
50168         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
50169         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
50170         * lib/priv-set.h: Likewise.
50171         * tests/test-priv-set.c: Likewise.
50173 2010-06-13  Bruno Haible  <bruno@clisp.org>
50175         relocatable: Make it easier to test whether to install wrappers.
50176         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
50177         RELOCATABLE_VIA_WRAPPER.
50179 2010-06-13  Bruno Haible  <bruno@clisp.org>
50181         gnulib-tool: Display specified modules and dependencies differently.
50182         * gnulib-tool (func_show_module_list): New function.
50183         (func_import, func_create_testdir): Invoke it.
50184         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
50186 2010-06-13  Bruno Haible  <bruno@clisp.org>
50188         gnulib-tool: Align code of func_import and func_create_testdir.
50189         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
50190         specified_modules.
50192 2010-06-12  Jim Meyering  <meyering@redhat.com>
50194         test-inttostr: avoid spurious failure on Solaris 9
50195         * tests/test-inttostr.c (main): Skip the test when snprintf fails
50196         to accept "%ju".  Reported by Bruno Haible.
50198 2010-06-11  Jim Meyering  <meyering@redhat.com>
50200         test-sys_socket: mark variables as used more readably
50201         * tests/test-sys_socket.c (main): Mark otherwise unused variables
50202         as "used" explicitly via (void) statement casts.  This is more
50203         readable than using them in an artificial return expression.
50204         Suggestion from Bruno Haible.
50206 2010-06-11  Bruno Haible  <bruno@clisp.org>
50208         Avoid some more warnings from "gcc -Wwrite-strings".
50209         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
50210         to 'const char *'.
50211         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
50212         * tests/test-c-strcasestr.c (main): Likewise.
50213         * tests/test-mbscasestr1.c (main): Likewise.
50214         * tests/test-mbscasestr2.c (main): Likewise.
50215         * tests/test-memmem.c (main): Likewise.
50216         * tests/test-strstr.c (main): Likewise.
50217         * tests/test-strcasestr.c (main): Likewise.
50219 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50221         init.sh: change framework_failure_ to fail with status 99, not 1
50222         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
50223         automake's parallel-tests rule that this is an unexpected failure,
50224         even if the test is listed in XFAIL_TESTS.
50226 2010-06-11  Jim Meyering  <meyering@redhat.com>
50228         test-inttostr: avoid warnings about 4-6KB literal strings
50229         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
50230         Include "macros.h", for its definition of ASSERT.
50231         (CK): s/assert/ASSERT/
50232         * modules/inttostr-tests (Files): Add macros.h.
50234         init.sh: don't use $ME_ or skip_ before they are defined
50235         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
50236         their first uses.  Also hoist their companions: warn_, fail_,
50237         framework_failure_, $stderr_fileno.  Prompted by a patch from
50238         Stefano Lattarini.
50240         test-sys_socket: avoid set-but-not-used warnings from gcc
50241         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
50242         avoid warning about set-but-not-used variables.
50244         test-xvasprintf: avoid 'const' discard warnings
50245         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
50246         "const" when assigning from literal strings.
50247         (test_xasprintf): Add "void" in function argument list to placate
50248         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
50250         tests: avoid compilation warnings in argmatch and exclude tests...
50251         in packages that define ARGMATCH_DIE_DECL, like coreutils.
50252         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
50253         Since it always exits, declare with the "noreturn" attribute.
50254         * tests/test-argmatch.c: Likewise.
50256         tests: avoid 'const' discard warnings in mbsstr tests
50257         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
50258         * tests/test-mbsstr2.c (main): Likewise.
50260         test-verify: avoid warning from gcc's -Wmissing-declarations
50261         * tests/test-verify.c (function): Declare to be static.
50263         test-inttostr.c: include <string.h> for use of strcmp
50264         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
50266         test-linkat: avoid failed assertion on "other" architectures
50267         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
50268         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
50269         sparc: https://bugs.launchpad.net/bugs/591968
50271 2010-06-11  Jim Meyering  <meyering@redhat.com>
50273         printf.m4: avoid autoconf's "Expanded Before Required" warning
50274         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
50275         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
50276         autoconf warning.
50278 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
50280         Replacement header templates are now named with ".in", not "_".
50281         * doc/gnulib-intro.texi: Correct.
50283 2010-06-10  Jim Meyering  <meyering@redhat.com>
50285         inttostr-tests: depend on snprintf, not snprintf-posix
50286         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
50287         snprintf-posix, to avoid this aclocal failure:
50288           missing file gnulib-tests/vasnprintf.c
50289           configure.ac:45: error: expected source file, required through \
50290           AC_LIBSOURCES, not found
50292 2010-06-10  Jim Meyering  <meyering@redhat.com>
50294         inttostr: add a new function, inttostr, and tests
50295         The namesake function was not available.  The existence of the
50296         template file, inttostr.c makes its addition nontrivial.
50297         * lib/anytostr.c: Rename from inttostr.c.
50298         (anytostr): Rename from inttostr.
50299         * lib/inttostr.c: New file.
50300         * modules/inttostr (Files): Add anytostr.c.
50301         (Makefile.am): Set lib_SOURCES instead of ...
50302         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
50303         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
50304         * lib/offtostr.c: Likewise.
50305         * lib/uinttostr.c: Likewise.
50306         * lib/umaxtostr.c: Likewise.
50307         * modules/inttostr-tests: New file.
50308         * tests/test-inttostr.c: New file.  Test these functions.
50310 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
50311             Bruno Haible  <bruno@clisp.org>
50313         Add "Extending Gnulib" chapter to manual.
50314         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
50315         chapter.
50316         (Extending Gnulib): New chapter.
50317         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
50318         chapter.
50320 2010-06-09  Bruno Haible  <bruno@clisp.org>
50322         Avoid relocwrapper link errors due to gnulib replacement functions.
50323         * lib/areadlink.c: Use the system's malloc, realloc functions.
50324         (areadlink): Set errno to ENOMEM explicitly.
50325         * modules/areadlink (Depends-on): Remove malloc-posix.
50326         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50328 2010-06-09  Bruno Haible  <bruno@clisp.org>
50330         Avoid relocwrapper link errors due to gnulib replacement functions.
50331         * lib/canonicalize-lgpl.c: Use the system's malloc function.
50332         * lib/malloca.c: Likewise.
50333         * lib/relocatable.c: Likewise.
50334         * lib/progreloc.c: Use the system's malloc, sprintf functions.
50335         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
50336         * lib/setenv.c: Use the system's malloc, realloc functions.
50337         * lib/strerror.c: Use the system's sprintf function.
50338         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50340 2010-06-04  Bruno Haible  <bruno@clisp.org>
50342         Prefer documented low-level autoconf macro names.
50343         * m4/lib-link.m4: Use m4_translit instead of translit.
50344         * m4/environ.m4: Likewise.
50345         * m4/mathfunc.m4: Likewise.
50346         * m4/onceonly.m4: Likewise.
50347         * m4/stdint.m4: Likewise.
50348         Suggested by Eric Blake.
50350 2010-06-04  Martin Lambers  <marlam@marlam.de>
50351             Bruno Haible  <bruno@clisp.org>
50353         havelib: Allow library names with '+' characters.
50354         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
50355         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
50357 2010-06-09  Bruno Haible  <bruno@clisp.org>
50359         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
50360         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
50361         realloc failed.
50363 2010-06-08  Peter Simons  <simons@cryp.to>
50365         maint.mk: make the news-check rule more configurable
50366         * top/maint.mk (news-check-lines-spec): New variable.
50367         (news-check): Use "sed -n 1,10p" in place of "head".
50369 2010-06-07  Jim Meyering  <meyering@redhat.com>
50371         do-release-commit-and-tag: fix typo in --help
50372         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
50374         regex: avoid new dead-code warning with gcc-4.6.0
50375         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
50376         if-block containing a while-loop.  It's been unused for at least
50377         5 years.
50379 2010-06-05  Bruno Haible  <bruno@clisp.org>
50381         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
50382         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
50384 2010-06-04  Bruno Haible  <bruno@clisp.org>
50386         Update to GNU gettext 0.18.1.
50387         * modules/gettext (configure.ac): Require gettext infrastructure from
50388         version 0.18.1.
50390 2010-06-03  Bruno Haible  <bruno@clisp.org>
50392         Don't use AC_LIBOBJ with file names in subdirectories.
50393         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
50394         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
50395         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
50396         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
50397         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
50398         gl_LIBUNISTRING_LIBSOURCE.
50399         (Makefile.am): Augment lib_SOURCES here, conditionally.
50400         * NEWS: Drop requirement for Automake option 'subdir-objects'.
50402 2010-06-03  Bruno Haible  <bruno@clisp.org>
50404         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
50405         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
50406         expansion does not end with a newline.
50407         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
50408         unnecessary newline.
50410 2010-06-03  Bruno Haible  <bruno@clisp.org>
50412         Reduce dependencies.
50413         * tests/test-quotearg.h: New file, extracted from
50414         tests/test-quotearg.c.
50415         * tests/test-quotearg-simple.c: New file, extracted from
50416         tests/test-quotearg.c.
50417         * tests/test-quotearg.c: Don't include <ctype.h>.
50418         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
50419         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
50420         use_quote_double_quotes, use_quotearg_colon): Moved to
50421         tests/test-quotearg.h.
50422         (results_g, flag_results, custom_quotes, custom_results): Moved
50423         to tests/test-quotearg-simple.c.
50424         (main): Moved the part that does not depend on gettext to
50425         tests/test-quotearg-simple.c. Return 77 if the test cannot be
50426         performed.
50427         * modules/quotearg-simple: New file.
50428         * modules/quotearg-simple-tests: New file.
50429         * modules/quotearg (Depends-on): Add quotearg-simple.
50430         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
50431         (Files): Add tests/test-quotearg.h.
50432         Reported by Paolo Bonzini.
50434 2010-06-03  Bruno Haible  <bruno@clisp.org>
50436         Reduce dependencies.
50437         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
50439 2010-06-03  Bruno Haible  <bruno@clisp.org>
50441         time: Undefine more broken macros.
50442         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
50443         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
50444         Reported by Eric Blake.
50446 2010-06-03  Bruno Haible  <bruno@clisp.org>
50448         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
50449         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
50450         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
50451         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
50452         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
50453         Reported by Ludovic Courtès <ludo@gnu.org>.
50455 2010-06-02  Eric Blake  <eblake@redhat.com>
50457         time: work with mingw + pthreads-win32 library
50458         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
50459         if timespec is defined only in pthread.h.
50460         * modules/time (Makefile.am): Substitute it.
50461         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
50462         <pthread.h>, when needed.
50463         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
50464         from the library.
50466 2010-05-31  Bruno Haible  <bruno@clisp.org>
50468         Avoid expanding two macros in the wrong order.
50469         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
50470         gl_LIBUNISTRING if it is defined.
50471         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
50472         autoconf >= 2.64.
50473         Reported by Ludovic Courtès <ludo@gnu.org>.
50475 2010-05-27  Jim Meyering  <meyering@redhat.com>
50477         maint.mk: also prohibit "#undef" of always-defined symbols
50478         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
50479         Allow more than one space before the symbol name.
50480         (sc_prohibit_always-defined_macros): Use grep's -E, now that
50481         the regexp uses alternation.
50483 2010-05-26  Eric Blake  <eblake@redhat.com>
50485         maint.mk: avoid echo -e
50486         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
50487         Convert all uses of echo -* to printf.
50488         Reported by Matthias Bolte.
50490 2010-05-25  Bruno Haible  <bruno@clisp.org>
50492         Update to GNU gettext 0.18, part 2.
50493         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
50494         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
50496 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50498         Add missing include in test-pwrite.c.
50499         * tests/test-pwrite.c: Include string.h, for strcmp.
50501 2010-05-24  Bruno Haible  <bruno@clisp.org>
50503         * NEWS: Mention requirement for Automake option 'subdir-objects'.
50505 2010-05-24  Bruno Haible  <bruno@clisp.org>
50507         Don't use conversion with transliteration in u{8,16,32}_strcoll.
50508         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
50509         iconveh_error argument.
50510         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
50511         U_STRCONV_TO_LOCALE.
50512         * lib/unistr/u16-strcoll.c: Likewise.
50513         * lib/unistr/u32-strcoll.c: Likewise.
50514         * modules/unistr/u8-strcoll (Depends-on): Add
50515         uniconv/u8-strconv-to-enc, localcharset. Remove
50516         uniconv/u8-strconv-to-locale.
50517         (configure.ac): Bump version number.
50518         * modules/unistr/u16-strcoll (Depends-on): Add
50519         uniconv/u16-strconv-to-enc, localcharset. Remove
50520         uniconv/u16-strconv-to-locale.
50521         (configure.ac): Bump version number.
50522         * modules/unistr/u32-strcoll (Depends-on): Add
50523         uniconv/u32-strconv-to-enc, localcharset. Remove
50524         uniconv/u32-strconv-to-locale.
50525         (configure.ac): Bump version number.
50527 2010-05-24  Bruno Haible  <bruno@clisp.org>
50529         Avoid a test failure on NetBSD 5.0.
50530         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
50531         an iconv() bug.
50533 2010-05-24  Bruno Haible  <bruno@clisp.org>
50535         Adjust #include directive style.
50536         * modules/regex (Includes): Recommend to write <regex.h>.
50538 2010-05-24  Bruno Haible  <bruno@clisp.org>
50540         regex: Don't require alloca.
50541         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
50542         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
50543         only inside if (0).
50545 2010-05-23  Jim Meyering  <meyering@redhat.com>
50547         test-renameat.c: include <sys/stat.h>
50548         * tests/test-renameat.c: Include <sys/stat.h>; required for
50549         definition of S_IS* macros.
50551 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
50553         Update maintainer documentation for 'relocatable-prog' module.
50554         * doc/relocatable-maint.texi: Update.
50555         Comments by Bruno Haible.
50557 2010-05-23  Bruno Haible  <bruno@clisp.org>
50559         git-merge-changelog: Enable --split-merged-entry by default.
50560         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
50561         (usage): Don't mention this option any more.
50562         Reported by Ralf Wildenhues.
50564 2010-05-23  Jim Meyering  <meyering@redhat.com>
50566         test-pwrite: do not leave behind a test file named "out"
50567         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
50568         The trivial-looking use of init.sh is really necessary.
50569         It ensures that the temporary file, "out", is created in
50570         a temporary directory, and removed upon termination.
50571         * tests/test-pwrite.sh: Re-add file.
50572         * modules/pwrite-tests: Reference it.
50574 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50576         Fix output redirection buglet in init.sh.
50577         * tests/init.sh: Fix redirection of stderr.
50579 2010-05-20  Simon Josefsson  <simon@josefsson.org>
50581         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
50583 2010-05-17  Simon Josefsson  <simon@josefsson.org>
50585         * modules/valgrind-tests: New file.
50586         * m4/valgrind-tests.m4: New file.
50587         * doc/valgrind-tests.texi: New file.
50588         * doc/gnulib.texi (Running self-tests under valgrind): New
50589         section.
50591 2010-05-19  Bruno Haible  <bruno@clisp.org>
50593         Clean up dead code in recent commit.
50594         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
50595         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
50596         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
50597         Suggested by Paolo Bonzini.
50599 2010-05-19  Bruno Haible  <bruno@clisp.org>
50601         Avoid valgrind error reports from libunistring.
50602         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
50603         * modules/libunistring (Files): Add it.
50604         * modules/libunistring-optional (Files): Likewise.
50606 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
50607             Bruno Haible  <bruno@clisp.org>
50609         New module 'libunistring-optional'.
50610         * modules/libunistring-optional: New file.
50611         * m4/libunistring-base.m4: New file.
50612         * m4/libunistring-optional.m4: New file.
50613         * lib/unicase.in.h: Renamed from lib/unicase.h.
50614         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
50615         * lib/unictype.in.h: Renamed from lib/unictype.h.
50616         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
50617         * lib/uniname.in.h: Renamed from lib/uniname.h.
50618         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
50619         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
50620         * lib/unistr.in.h: Renamed from lib/unistr.h.
50621         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
50622         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
50623         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
50624         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
50625         gl_LIBUNISTRING. If the library was found, determine the installed
50626         version and set LIBUNISTRING_VERSION.
50627         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
50628         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
50629         handle a configuration option --with-included-libunistring.
50630         * modules/libunistring (Files): Add m4/absolute-header.m4.
50631         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
50632         Add m4/libunistring-base.m4.
50633         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50634         (Makefile.am): Build unicase.h from unicase.in.h.
50635         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
50636         Add m4/libunistring-base.m4.
50637         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50638         (Makefile.am): Build uniconv.h from uniconv.in.h.
50639         * modules/unictype/base (Files): Use unictype.in.h instead of
50640         unictype.h. Add m4/libunistring-base.m4.
50641         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50642         (Makefile.am): Build unictype.h from unictype.in.h.
50643         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
50644         Add m4/libunistring-base.m4.
50645         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50646         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
50647         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
50648         Add m4/libunistring-base.m4.
50649         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50650         (Makefile.am): Build uniname.h from uniname.in.h.
50651         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
50652         Add m4/libunistring-base.m4.
50653         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50654         (Makefile.am): Build uninorm.h from uninorm.in.h.
50655         * modules/unistdio/base (Files): Use unistdio.in.h instead of
50656         unistdio.h. Add m4/libunistring-base.m4.
50657         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50658         (Makefile.am): Build unistdio.h from unistdio.in.h.
50659         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
50660         Add m4/libunistring-base.m4.
50661         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50662         (Makefile.am): Build unistr.h from unistr.in.h.
50663         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
50664         Add m4/libunistring-base.m4.
50665         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50666         (Makefile.am): Build unitypes.h from unitypes.in.h.
50667         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
50668         Add m4/libunistring-base.m4.
50669         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50670         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
50671         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
50672         uniwidth.h. Add m4/libunistring-base.m4.
50673         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
50674         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
50675         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
50676         instead of augmenting lib_SOURCES.
50677         * modules/unicase/empty-suffix-context: Likewise.
50678         * modules/unicase/locale-language: Likewise.
50679         * modules/unicase/tolower: Likewise.
50680         * modules/unicase/totitle: Likewise.
50681         * modules/unicase/toupper: Likewise.
50682         * modules/unicase/u8-casecmp: Likewise.
50683         * modules/unicase/u8-casecoll: Likewise.
50684         * modules/unicase/u8-casefold: Likewise.
50685         * modules/unicase/u8-casexfrm: Likewise.
50686         * modules/unicase/u8-ct-casefold: Likewise.
50687         * modules/unicase/u8-ct-tolower: Likewise.
50688         * modules/unicase/u8-ct-totitle: Likewise.
50689         * modules/unicase/u8-ct-toupper: Likewise.
50690         * modules/unicase/u8-is-cased: Likewise.
50691         * modules/unicase/u8-is-casefolded: Likewise.
50692         * modules/unicase/u8-is-lowercase: Likewise.
50693         * modules/unicase/u8-is-titlecase: Likewise.
50694         * modules/unicase/u8-is-uppercase: Likewise.
50695         * modules/unicase/u8-prefix-context: Likewise.
50696         * modules/unicase/u8-suffix-context: Likewise.
50697         * modules/unicase/u8-tolower: Likewise.
50698         * modules/unicase/u8-totitle: Likewise.
50699         * modules/unicase/u8-toupper: Likewise.
50700         * modules/unicase/u16-casecmp: Likewise.
50701         * modules/unicase/u16-casecoll: Likewise.
50702         * modules/unicase/u16-casefold: Likewise.
50703         * modules/unicase/u16-casexfrm: Likewise.
50704         * modules/unicase/u16-ct-casefold: Likewise.
50705         * modules/unicase/u16-ct-tolower: Likewise.
50706         * modules/unicase/u16-ct-totitle: Likewise.
50707         * modules/unicase/u16-ct-toupper: Likewise.
50708         * modules/unicase/u16-is-cased: Likewise.
50709         * modules/unicase/u16-is-casefolded: Likewise.
50710         * modules/unicase/u16-is-lowercase: Likewise.
50711         * modules/unicase/u16-is-titlecase: Likewise.
50712         * modules/unicase/u16-is-uppercase: Likewise.
50713         * modules/unicase/u16-prefix-context: Likewise.
50714         * modules/unicase/u16-suffix-context: Likewise.
50715         * modules/unicase/u16-tolower: Likewise.
50716         * modules/unicase/u16-totitle: Likewise.
50717         * modules/unicase/u16-toupper: Likewise.
50718         * modules/unicase/u32-casecmp: Likewise.
50719         * modules/unicase/u32-casecoll: Likewise.
50720         * modules/unicase/u32-casefold: Likewise.
50721         * modules/unicase/u32-casexfrm: Likewise.
50722         * modules/unicase/u32-ct-casefold: Likewise.
50723         * modules/unicase/u32-ct-tolower: Likewise.
50724         * modules/unicase/u32-ct-totitle: Likewise.
50725         * modules/unicase/u32-ct-toupper: Likewise.
50726         * modules/unicase/u32-is-cased: Likewise.
50727         * modules/unicase/u32-is-casefolded: Likewise.
50728         * modules/unicase/u32-is-lowercase: Likewise.
50729         * modules/unicase/u32-is-titlecase: Likewise.
50730         * modules/unicase/u32-is-uppercase: Likewise.
50731         * modules/unicase/u32-prefix-context: Likewise.
50732         * modules/unicase/u32-suffix-context: Likewise.
50733         * modules/unicase/u32-tolower: Likewise.
50734         * modules/unicase/u32-totitle: Likewise.
50735         * modules/unicase/u32-toupper: Likewise.
50736         * modules/unicase/ulc-casecmp: Likewise.
50737         * modules/unicase/ulc-casecoll: Likewise.
50738         * modules/unicase/ulc-casexfrm: Likewise.
50739         * modules/uniconv/u8-conv-from-enc: Likewise.
50740         * modules/uniconv/u8-conv-to-enc: Likewise.
50741         * modules/uniconv/u8-strconv-from-enc: Likewise.
50742         * modules/uniconv/u8-strconv-from-locale: Likewise.
50743         * modules/uniconv/u8-strconv-to-enc: Likewise.
50744         * modules/uniconv/u8-strconv-to-locale: Likewise.
50745         * modules/uniconv/u16-conv-from-enc: Likewise.
50746         * modules/uniconv/u16-conv-to-enc: Likewise.
50747         * modules/uniconv/u16-strconv-from-enc: Likewise.
50748         * modules/uniconv/u16-strconv-from-locale: Likewise.
50749         * modules/uniconv/u16-strconv-to-enc: Likewise.
50750         * modules/uniconv/u16-strconv-to-locale: Likewise.
50751         * modules/uniconv/u32-conv-from-enc: Likewise.
50752         * modules/uniconv/u32-conv-to-enc: Likewise.
50753         * modules/uniconv/u32-strconv-from-enc: Likewise.
50754         * modules/uniconv/u32-strconv-from-locale: Likewise.
50755         * modules/uniconv/u32-strconv-to-enc: Likewise.
50756         * modules/uniconv/u32-strconv-to-locale: Likewise.
50757         * modules/unictype/bidicategory-byname: Likewise.
50758         * modules/unictype/bidicategory-name: Likewise.
50759         * modules/unictype/bidicategory-of: Likewise.
50760         * modules/unictype/bidicategory-test: Likewise.
50761         * modules/unictype/block-list: Likewise.
50762         * modules/unictype/block-test: Likewise.
50763         * modules/unictype/category-C: Likewise.
50764         * modules/unictype/category-Cc: Likewise.
50765         * modules/unictype/category-Cf: Likewise.
50766         * modules/unictype/category-Cn: Likewise.
50767         * modules/unictype/category-Co: Likewise.
50768         * modules/unictype/category-Cs: Likewise.
50769         * modules/unictype/category-L: Likewise.
50770         * modules/unictype/category-Ll: Likewise.
50771         * modules/unictype/category-Lm: Likewise.
50772         * modules/unictype/category-Lo: Likewise.
50773         * modules/unictype/category-Lt: Likewise.
50774         * modules/unictype/category-Lu: Likewise.
50775         * modules/unictype/category-M: Likewise.
50776         * modules/unictype/category-Mc: Likewise.
50777         * modules/unictype/category-Me: Likewise.
50778         * modules/unictype/category-Mn: Likewise.
50779         * modules/unictype/category-N: Likewise.
50780         * modules/unictype/category-Nd: Likewise.
50781         * modules/unictype/category-Nl: Likewise.
50782         * modules/unictype/category-No: Likewise.
50783         * modules/unictype/category-P: Likewise.
50784         * modules/unictype/category-Pc: Likewise.
50785         * modules/unictype/category-Pd: Likewise.
50786         * modules/unictype/category-Pe: Likewise.
50787         * modules/unictype/category-Pf: Likewise.
50788         * modules/unictype/category-Pi: Likewise.
50789         * modules/unictype/category-Po: Likewise.
50790         * modules/unictype/category-Ps: Likewise.
50791         * modules/unictype/category-S: Likewise.
50792         * modules/unictype/category-Sc: Likewise.
50793         * modules/unictype/category-Sk: Likewise.
50794         * modules/unictype/category-Sm: Likewise.
50795         * modules/unictype/category-So: Likewise.
50796         * modules/unictype/category-Z: Likewise.
50797         * modules/unictype/category-Zl: Likewise.
50798         * modules/unictype/category-Zp: Likewise.
50799         * modules/unictype/category-Zs: Likewise.
50800         * modules/unictype/category-and: Likewise.
50801         * modules/unictype/category-and-not: Likewise.
50802         * modules/unictype/category-byname: Likewise.
50803         * modules/unictype/category-name: Likewise.
50804         * modules/unictype/category-none: Likewise.
50805         * modules/unictype/category-of: Likewise.
50806         * modules/unictype/category-or: Likewise.
50807         * modules/unictype/category-test: Likewise.
50808         * modules/unictype/combining-class: Likewise.
50809         * modules/unictype/ctype-alnum: Likewise.
50810         * modules/unictype/ctype-alpha: Likewise.
50811         * modules/unictype/ctype-blank: Likewise.
50812         * modules/unictype/ctype-cntrl: Likewise.
50813         * modules/unictype/ctype-digit: Likewise.
50814         * modules/unictype/ctype-graph: Likewise.
50815         * modules/unictype/ctype-lower: Likewise.
50816         * modules/unictype/ctype-print: Likewise.
50817         * modules/unictype/ctype-punct: Likewise.
50818         * modules/unictype/ctype-space: Likewise.
50819         * modules/unictype/ctype-upper: Likewise.
50820         * modules/unictype/ctype-xdigit: Likewise.
50821         * modules/unictype/decimal-digit: Likewise.
50822         * modules/unictype/digit: Likewise.
50823         * modules/unictype/mirror: Likewise.
50824         * modules/unictype/numeric: Likewise.
50825         * modules/unictype/property-alphabetic: Likewise.
50826         * modules/unictype/property-ascii-hex-digit: Likewise.
50827         * modules/unictype/property-bidi-arabic-digit: Likewise.
50828         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
50829         * modules/unictype/property-bidi-block-separator: Likewise.
50830         * modules/unictype/property-bidi-boundary-neutral: Likewise.
50831         * modules/unictype/property-bidi-common-separator: Likewise.
50832         * modules/unictype/property-bidi-control: Likewise.
50833         * modules/unictype/property-bidi-embedding-or-override: Likewise.
50834         * modules/unictype/property-bidi-eur-num-separator: Likewise.
50835         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
50836         * modules/unictype/property-bidi-european-digit: Likewise.
50837         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
50838         * modules/unictype/property-bidi-left-to-right: Likewise.
50839         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
50840         * modules/unictype/property-bidi-other-neutral: Likewise.
50841         * modules/unictype/property-bidi-pdf: Likewise.
50842         * modules/unictype/property-bidi-segment-separator: Likewise.
50843         * modules/unictype/property-bidi-whitespace: Likewise.
50844         * modules/unictype/property-byname: Likewise.
50845         * modules/unictype/property-combining: Likewise.
50846         * modules/unictype/property-composite: Likewise.
50847         * modules/unictype/property-currency-symbol: Likewise.
50848         * modules/unictype/property-dash: Likewise.
50849         * modules/unictype/property-decimal-digit: Likewise.
50850         * modules/unictype/property-default-ignorable-code-point: Likewise.
50851         * modules/unictype/property-deprecated: Likewise.
50852         * modules/unictype/property-diacritic: Likewise.
50853         * modules/unictype/property-extender: Likewise.
50854         * modules/unictype/property-format-control: Likewise.
50855         * modules/unictype/property-grapheme-base: Likewise.
50856         * modules/unictype/property-grapheme-extend: Likewise.
50857         * modules/unictype/property-grapheme-link: Likewise.
50858         * modules/unictype/property-hex-digit: Likewise.
50859         * modules/unictype/property-hyphen: Likewise.
50860         * modules/unictype/property-id-continue: Likewise.
50861         * modules/unictype/property-id-start: Likewise.
50862         * modules/unictype/property-ideographic: Likewise.
50863         * modules/unictype/property-ids-binary-operator: Likewise.
50864         * modules/unictype/property-ids-trinary-operator: Likewise.
50865         * modules/unictype/property-ignorable-control: Likewise.
50866         * modules/unictype/property-iso-control: Likewise.
50867         * modules/unictype/property-join-control: Likewise.
50868         * modules/unictype/property-left-of-pair: Likewise.
50869         * modules/unictype/property-line-separator: Likewise.
50870         * modules/unictype/property-logical-order-exception: Likewise.
50871         * modules/unictype/property-lowercase: Likewise.
50872         * modules/unictype/property-math: Likewise.
50873         * modules/unictype/property-non-break: Likewise.
50874         * modules/unictype/property-not-a-character: Likewise.
50875         * modules/unictype/property-numeric: Likewise.
50876         * modules/unictype/property-other-alphabetic: Likewise.
50877         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
50878         * modules/unictype/property-other-grapheme-extend: Likewise.
50879         * modules/unictype/property-other-id-continue: Likewise.
50880         * modules/unictype/property-other-id-start: Likewise.
50881         * modules/unictype/property-other-lowercase: Likewise.
50882         * modules/unictype/property-other-math: Likewise.
50883         * modules/unictype/property-other-uppercase: Likewise.
50884         * modules/unictype/property-paired-punctuation: Likewise.
50885         * modules/unictype/property-paragraph-separator: Likewise.
50886         * modules/unictype/property-pattern-syntax: Likewise.
50887         * modules/unictype/property-pattern-white-space: Likewise.
50888         * modules/unictype/property-private-use: Likewise.
50889         * modules/unictype/property-punctuation: Likewise.
50890         * modules/unictype/property-quotation-mark: Likewise.
50891         * modules/unictype/property-radical: Likewise.
50892         * modules/unictype/property-sentence-terminal: Likewise.
50893         * modules/unictype/property-soft-dotted: Likewise.
50894         * modules/unictype/property-space: Likewise.
50895         * modules/unictype/property-terminal-punctuation: Likewise.
50896         * modules/unictype/property-test: Likewise.
50897         * modules/unictype/property-titlecase: Likewise.
50898         * modules/unictype/property-unassigned-code-value: Likewise.
50899         * modules/unictype/property-unified-ideograph: Likewise.
50900         * modules/unictype/property-uppercase: Likewise.
50901         * modules/unictype/property-variation-selector: Likewise.
50902         * modules/unictype/property-white-space: Likewise.
50903         * modules/unictype/property-xid-continue: Likewise.
50904         * modules/unictype/property-xid-start: Likewise.
50905         * modules/unictype/property-zero-width: Likewise.
50906         * modules/unictype/scripts: Likewise.
50907         * modules/unictype/syntax-c-ident: Likewise.
50908         * modules/unictype/syntax-c-whitespace: Likewise.
50909         * modules/unictype/syntax-java-ident: Likewise.
50910         * modules/unictype/syntax-java-whitespace: Likewise.
50911         * modules/unilbrk/u8-possible-linebreaks: Likewise.
50912         * modules/unilbrk/u8-width-linebreaks: Likewise.
50913         * modules/unilbrk/u16-possible-linebreaks: Likewise.
50914         * modules/unilbrk/u16-width-linebreaks: Likewise.
50915         * modules/unilbrk/u32-possible-linebreaks: Likewise.
50916         * modules/unilbrk/u32-width-linebreaks: Likewise.
50917         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
50918         * modules/unilbrk/ulc-width-linebreaks: Likewise.
50919         * modules/uniname/uniname: Likewise.
50920         * modules/uninorm/canonical-decomposition: Likewise.
50921         * modules/uninorm/composition: Likewise.
50922         * modules/uninorm/decomposing-form: Likewise.
50923         * modules/uninorm/decomposition: Likewise.
50924         * modules/uninorm/filter: Likewise.
50925         * modules/uninorm/nfc: Likewise.
50926         * modules/uninorm/nfd: Likewise.
50927         * modules/uninorm/nfkc: Likewise.
50928         * modules/uninorm/nfkd: Likewise.
50929         * modules/uninorm/u8-normalize: Likewise.
50930         * modules/uninorm/u8-normcmp: Likewise.
50931         * modules/uninorm/u8-normcoll: Likewise.
50932         * modules/uninorm/u8-normxfrm: Likewise.
50933         * modules/uninorm/u16-normalize: Likewise.
50934         * modules/uninorm/u16-normcmp: Likewise.
50935         * modules/uninorm/u16-normcoll: Likewise.
50936         * modules/uninorm/u16-normxfrm: Likewise.
50937         * modules/uninorm/u32-normalize: Likewise.
50938         * modules/uninorm/u32-normcmp: Likewise.
50939         * modules/uninorm/u32-normcoll: Likewise.
50940         * modules/uninorm/u32-normxfrm: Likewise.
50941         * modules/unistdio/u8-asnprintf: Likewise.
50942         * modules/unistdio/u8-asprintf: Likewise.
50943         * modules/unistdio/u8-snprintf: Likewise.
50944         * modules/unistdio/u8-sprintf: Likewise.
50945         * modules/unistdio/u8-u8-asnprintf: Likewise.
50946         * modules/unistdio/u8-u8-asprintf: Likewise.
50947         * modules/unistdio/u8-u8-snprintf: Likewise.
50948         * modules/unistdio/u8-u8-sprintf: Likewise.
50949         * modules/unistdio/u8-u8-vasnprintf: Likewise.
50950         * modules/unistdio/u8-u8-vasprintf: Likewise.
50951         * modules/unistdio/u8-u8-vsnprintf: Likewise.
50952         * modules/unistdio/u8-u8-vsprintf: Likewise.
50953         * modules/unistdio/u8-vasnprintf: Likewise.
50954         * modules/unistdio/u8-vasprintf: Likewise.
50955         * modules/unistdio/u8-vsnprintf: Likewise.
50956         * modules/unistdio/u8-vsprintf: Likewise.
50957         * modules/unistdio/u16-asnprintf: Likewise.
50958         * modules/unistdio/u16-asprintf: Likewise.
50959         * modules/unistdio/u16-snprintf: Likewise.
50960         * modules/unistdio/u16-sprintf: Likewise.
50961         * modules/unistdio/u16-u16-asnprintf: Likewise.
50962         * modules/unistdio/u16-u16-asprintf: Likewise.
50963         * modules/unistdio/u16-u16-snprintf: Likewise.
50964         * modules/unistdio/u16-u16-sprintf: Likewise.
50965         * modules/unistdio/u16-u16-vasnprintf: Likewise.
50966         * modules/unistdio/u16-u16-vasprintf: Likewise.
50967         * modules/unistdio/u16-u16-vsnprintf: Likewise.
50968         * modules/unistdio/u16-u16-vsprintf: Likewise.
50969         * modules/unistdio/u16-vasnprintf: Likewise.
50970         * modules/unistdio/u16-vasprintf: Likewise.
50971         * modules/unistdio/u16-vsnprintf: Likewise.
50972         * modules/unistdio/u16-vsprintf: Likewise.
50973         * modules/unistdio/u32-asnprintf: Likewise.
50974         * modules/unistdio/u32-asprintf: Likewise.
50975         * modules/unistdio/u32-snprintf: Likewise.
50976         * modules/unistdio/u32-sprintf: Likewise.
50977         * modules/unistdio/u32-u32-asnprintf: Likewise.
50978         * modules/unistdio/u32-u32-asprintf: Likewise.
50979         * modules/unistdio/u32-u32-snprintf: Likewise.
50980         * modules/unistdio/u32-u32-sprintf: Likewise.
50981         * modules/unistdio/u32-u32-vasnprintf: Likewise.
50982         * modules/unistdio/u32-u32-vasprintf: Likewise.
50983         * modules/unistdio/u32-u32-vsnprintf: Likewise.
50984         * modules/unistdio/u32-u32-vsprintf: Likewise.
50985         * modules/unistdio/u32-vasnprintf: Likewise.
50986         * modules/unistdio/u32-vasprintf: Likewise.
50987         * modules/unistdio/u32-vsnprintf: Likewise.
50988         * modules/unistdio/u32-vsprintf: Likewise.
50989         * modules/unistdio/ulc-asnprintf: Likewise.
50990         * modules/unistdio/ulc-asprintf: Likewise.
50991         * modules/unistdio/ulc-fprintf: Likewise.
50992         * modules/unistdio/ulc-snprintf: Likewise.
50993         * modules/unistdio/ulc-sprintf: Likewise.
50994         * modules/unistdio/ulc-vasnprintf: Likewise.
50995         * modules/unistdio/ulc-vasprintf: Likewise.
50996         * modules/unistdio/ulc-vfprintf: Likewise.
50997         * modules/unistdio/ulc-vsnprintf: Likewise.
50998         * modules/unistdio/ulc-vsprintf: Likewise.
50999         * modules/unistr/u8-check: Likewise.
51000         * modules/unistr/u8-chr: Likewise.
51001         * modules/unistr/u8-cmp: Likewise.
51002         * modules/unistr/u8-cmp2: Likewise.
51003         * modules/unistr/u8-cpy: Likewise.
51004         * modules/unistr/u8-cpy-alloc: Likewise.
51005         * modules/unistr/u8-endswith: Likewise.
51006         * modules/unistr/u8-mblen: Likewise.
51007         * modules/unistr/u8-mbsnlen: Likewise.
51008         * modules/unistr/u8-mbtouc: Likewise.
51009         * modules/unistr/u8-mbtouc-unsafe: Likewise.
51010         * modules/unistr/u8-mbtoucr: Likewise.
51011         * modules/unistr/u8-move: Likewise.
51012         * modules/unistr/u8-next: Likewise.
51013         * modules/unistr/u8-prev: Likewise.
51014         * modules/unistr/u8-set: Likewise.
51015         * modules/unistr/u8-startswith: Likewise.
51016         * modules/unistr/u8-stpcpy: Likewise.
51017         * modules/unistr/u8-stpncpy: Likewise.
51018         * modules/unistr/u8-strcat: Likewise.
51019         * modules/unistr/u8-strchr: Likewise.
51020         * modules/unistr/u8-strcmp: Likewise.
51021         * modules/unistr/u8-strcoll: Likewise.
51022         * modules/unistr/u8-strcpy: Likewise.
51023         * modules/unistr/u8-strcspn: Likewise.
51024         * modules/unistr/u8-strdup: Likewise.
51025         * modules/unistr/u8-strlen: Likewise.
51026         * modules/unistr/u8-strmblen: Likewise.
51027         * modules/unistr/u8-strmbtouc: Likewise.
51028         * modules/unistr/u8-strncat: Likewise.
51029         * modules/unistr/u8-strncmp: Likewise.
51030         * modules/unistr/u8-strncpy: Likewise.
51031         * modules/unistr/u8-strnlen: Likewise.
51032         * modules/unistr/u8-strpbrk: Likewise.
51033         * modules/unistr/u8-strrchr: Likewise.
51034         * modules/unistr/u8-strspn: Likewise.
51035         * modules/unistr/u8-strstr: Likewise.
51036         * modules/unistr/u8-strtok: Likewise.
51037         * modules/unistr/u8-to-u16: Likewise.
51038         * modules/unistr/u8-to-u32: Likewise.
51039         * modules/unistr/u8-uctomb: Likewise.
51040         * modules/unistr/u16-check: Likewise.
51041         * modules/unistr/u16-chr: Likewise.
51042         * modules/unistr/u16-cmp: Likewise.
51043         * modules/unistr/u16-cmp2: Likewise.
51044         * modules/unistr/u16-cpy: Likewise.
51045         * modules/unistr/u16-cpy-alloc: Likewise.
51046         * modules/unistr/u16-endswith: Likewise.
51047         * modules/unistr/u16-mblen: Likewise.
51048         * modules/unistr/u16-mbsnlen: Likewise.
51049         * modules/unistr/u16-mbtouc: Likewise.
51050         * modules/unistr/u16-mbtouc-unsafe: Likewise.
51051         * modules/unistr/u16-mbtoucr: Likewise.
51052         * modules/unistr/u16-move: Likewise.
51053         * modules/unistr/u16-next: Likewise.
51054         * modules/unistr/u16-prev: Likewise.
51055         * modules/unistr/u16-set: Likewise.
51056         * modules/unistr/u16-startswith: Likewise.
51057         * modules/unistr/u16-stpcpy: Likewise.
51058         * modules/unistr/u16-stpncpy: Likewise.
51059         * modules/unistr/u16-strcat: Likewise.
51060         * modules/unistr/u16-strchr: Likewise.
51061         * modules/unistr/u16-strcmp: Likewise.
51062         * modules/unistr/u16-strcoll: Likewise.
51063         * modules/unistr/u16-strcpy: Likewise.
51064         * modules/unistr/u16-strcspn: Likewise.
51065         * modules/unistr/u16-strdup: Likewise.
51066         * modules/unistr/u16-strlen: Likewise.
51067         * modules/unistr/u16-strmblen: Likewise.
51068         * modules/unistr/u16-strmbtouc: Likewise.
51069         * modules/unistr/u16-strncat: Likewise.
51070         * modules/unistr/u16-strncmp: Likewise.
51071         * modules/unistr/u16-strncpy: Likewise.
51072         * modules/unistr/u16-strnlen: Likewise.
51073         * modules/unistr/u16-strpbrk: Likewise.
51074         * modules/unistr/u16-strrchr: Likewise.
51075         * modules/unistr/u16-strspn: Likewise.
51076         * modules/unistr/u16-strstr: Likewise.
51077         * modules/unistr/u16-strtok: Likewise.
51078         * modules/unistr/u16-to-u32: Likewise.
51079         * modules/unistr/u16-to-u8: Likewise.
51080         * modules/unistr/u16-uctomb: Likewise.
51081         * modules/unistr/u32-check: Likewise.
51082         * modules/unistr/u32-chr: Likewise.
51083         * modules/unistr/u32-cmp: Likewise.
51084         * modules/unistr/u32-cmp2: Likewise.
51085         * modules/unistr/u32-cpy: Likewise.
51086         * modules/unistr/u32-cpy-alloc: Likewise.
51087         * modules/unistr/u32-endswith: Likewise.
51088         * modules/unistr/u32-mblen: Likewise.
51089         * modules/unistr/u32-mbsnlen: Likewise.
51090         * modules/unistr/u32-mbtouc: Likewise.
51091         * modules/unistr/u32-mbtouc-unsafe: Likewise.
51092         * modules/unistr/u32-mbtoucr: Likewise.
51093         * modules/unistr/u32-move: Likewise.
51094         * modules/unistr/u32-next: Likewise.
51095         * modules/unistr/u32-prev: Likewise.
51096         * modules/unistr/u32-set: Likewise.
51097         * modules/unistr/u32-startswith: Likewise.
51098         * modules/unistr/u32-stpcpy: Likewise.
51099         * modules/unistr/u32-stpncpy: Likewise.
51100         * modules/unistr/u32-strcat: Likewise.
51101         * modules/unistr/u32-strchr: Likewise.
51102         * modules/unistr/u32-strcmp: Likewise.
51103         * modules/unistr/u32-strcoll: Likewise.
51104         * modules/unistr/u32-strcpy: Likewise.
51105         * modules/unistr/u32-strcspn: Likewise.
51106         * modules/unistr/u32-strdup: Likewise.
51107         * modules/unistr/u32-strlen: Likewise.
51108         * modules/unistr/u32-strmblen: Likewise.
51109         * modules/unistr/u32-strmbtouc: Likewise.
51110         * modules/unistr/u32-strncat: Likewise.
51111         * modules/unistr/u32-strncmp: Likewise.
51112         * modules/unistr/u32-strncpy: Likewise.
51113         * modules/unistr/u32-strnlen: Likewise.
51114         * modules/unistr/u32-strpbrk: Likewise.
51115         * modules/unistr/u32-strrchr: Likewise.
51116         * modules/unistr/u32-strspn: Likewise.
51117         * modules/unistr/u32-strstr: Likewise.
51118         * modules/unistr/u32-strtok: Likewise.
51119         * modules/unistr/u32-to-u16: Likewise.
51120         * modules/unistr/u32-to-u8: Likewise.
51121         * modules/unistr/u32-uctomb: Likewise.
51122         * modules/uniwbrk/u8-wordbreaks: Likewise.
51123         * modules/uniwbrk/u16-wordbreaks: Likewise.
51124         * modules/uniwbrk/u32-wordbreaks: Likewise.
51125         * modules/uniwbrk/ulc-wordbreaks: Likewise.
51126         * modules/uniwbrk/wordbreak-property: Likewise.
51127         * modules/uniwidth/u8-strwidth: Likewise.
51128         * modules/uniwidth/u8-width: Likewise.
51129         * modules/uniwidth/u16-strwidth: Likewise.
51130         * modules/uniwidth/u16-width: Likewise.
51131         * modules/uniwidth/u32-strwidth: Likewise.
51132         * modules/uniwidth/u32-width: Likewise.
51133         * modules/uniwidth/width: Likewise.
51134         * modules/unicase/cased-tests (Makefile.am): Link all test programs
51135         with $(LIBUNISTRING).
51136         * modules/unicase/ignorable-tests: Likewise.
51137         * modules/unicase/locale-language-tests: Likewise.
51138         * modules/unicase/tolower-tests: Likewise.
51139         * modules/unicase/totitle-tests: Likewise.
51140         * modules/unicase/toupper-tests: Likewise.
51141         * modules/unicase/u8-casecmp-tests: Likewise.
51142         * modules/unicase/u8-casecoll-tests: Likewise.
51143         * modules/unicase/u8-casefold-tests: Likewise.
51144         * modules/unicase/u8-is-cased-tests: Likewise.
51145         * modules/unicase/u8-is-casefolded-tests: Likewise.
51146         * modules/unicase/u8-is-lowercase-tests: Likewise.
51147         * modules/unicase/u8-is-titlecase-tests: Likewise.
51148         * modules/unicase/u8-is-uppercase-tests: Likewise.
51149         * modules/unicase/u8-tolower-tests: Likewise.
51150         * modules/unicase/u8-totitle-tests: Likewise.
51151         * modules/unicase/u8-toupper-tests: Likewise.
51152         * modules/unicase/u16-casecmp-tests: Likewise.
51153         * modules/unicase/u16-casecoll-tests: Likewise.
51154         * modules/unicase/u16-casefold-tests: Likewise.
51155         * modules/unicase/u16-is-cased-tests: Likewise.
51156         * modules/unicase/u16-is-casefolded-tests: Likewise.
51157         * modules/unicase/u16-is-lowercase-tests: Likewise.
51158         * modules/unicase/u16-is-titlecase-tests: Likewise.
51159         * modules/unicase/u16-is-uppercase-tests: Likewise.
51160         * modules/unicase/u16-tolower-tests: Likewise.
51161         * modules/unicase/u16-totitle-tests: Likewise.
51162         * modules/unicase/u16-toupper-tests: Likewise.
51163         * modules/unicase/u32-casecmp-tests: Likewise.
51164         * modules/unicase/u32-casecoll-tests: Likewise.
51165         * modules/unicase/u32-casefold-tests: Likewise.
51166         * modules/unicase/u32-is-cased-tests: Likewise.
51167         * modules/unicase/u32-is-casefolded-tests: Likewise.
51168         * modules/unicase/u32-is-lowercase-tests: Likewise.
51169         * modules/unicase/u32-is-titlecase-tests: Likewise.
51170         * modules/unicase/u32-is-uppercase-tests: Likewise.
51171         * modules/unicase/u32-tolower-tests: Likewise.
51172         * modules/unicase/u32-totitle-tests: Likewise.
51173         * modules/unicase/u32-toupper-tests: Likewise.
51174         * modules/unicase/ulc-casecmp-tests: Likewise.
51175         * modules/unicase/ulc-casecoll-tests: Likewise.
51176         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
51177         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
51178         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
51179         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
51180         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
51181         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
51182         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
51183         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
51184         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
51185         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
51186         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
51187         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
51188         * modules/unictype/bidicategory-byname-tests: Likewise.
51189         * modules/unictype/bidicategory-name-tests: Likewise.
51190         * modules/unictype/bidicategory-of-tests: Likewise.
51191         * modules/unictype/bidicategory-test-tests: Likewise.
51192         * modules/unictype/block-list-tests: Likewise.
51193         * modules/unictype/block-of-tests: Likewise.
51194         * modules/unictype/block-test-tests: Likewise.
51195         * modules/unictype/category-C-tests: Likewise.
51196         * modules/unictype/category-Cc-tests: Likewise.
51197         * modules/unictype/category-Cf-tests: Likewise.
51198         * modules/unictype/category-Cn-tests: Likewise.
51199         * modules/unictype/category-Co-tests: Likewise.
51200         * modules/unictype/category-Cs-tests: Likewise.
51201         * modules/unictype/category-L-tests: Likewise.
51202         * modules/unictype/category-Ll-tests: Likewise.
51203         * modules/unictype/category-Lm-tests: Likewise.
51204         * modules/unictype/category-Lo-tests: Likewise.
51205         * modules/unictype/category-Lt-tests: Likewise.
51206         * modules/unictype/category-Lu-tests: Likewise.
51207         * modules/unictype/category-M-tests: Likewise.
51208         * modules/unictype/category-Mc-tests: Likewise.
51209         * modules/unictype/category-Me-tests: Likewise.
51210         * modules/unictype/category-Mn-tests: Likewise.
51211         * modules/unictype/category-N-tests: Likewise.
51212         * modules/unictype/category-Nd-tests: Likewise.
51213         * modules/unictype/category-Nl-tests: Likewise.
51214         * modules/unictype/category-No-tests: Likewise.
51215         * modules/unictype/category-P-tests: Likewise.
51216         * modules/unictype/category-Pc-tests: Likewise.
51217         * modules/unictype/category-Pd-tests: Likewise.
51218         * modules/unictype/category-Pe-tests: Likewise.
51219         * modules/unictype/category-Pf-tests: Likewise.
51220         * modules/unictype/category-Pi-tests: Likewise.
51221         * modules/unictype/category-Po-tests: Likewise.
51222         * modules/unictype/category-Ps-tests: Likewise.
51223         * modules/unictype/category-S-tests: Likewise.
51224         * modules/unictype/category-Sc-tests: Likewise.
51225         * modules/unictype/category-Sk-tests: Likewise.
51226         * modules/unictype/category-Sm-tests: Likewise.
51227         * modules/unictype/category-So-tests: Likewise.
51228         * modules/unictype/category-Z-tests: Likewise.
51229         * modules/unictype/category-Zl-tests: Likewise.
51230         * modules/unictype/category-Zp-tests: Likewise.
51231         * modules/unictype/category-Zs-tests: Likewise.
51232         * modules/unictype/category-and-not-tests: Likewise.
51233         * modules/unictype/category-and-tests: Likewise.
51234         * modules/unictype/category-byname-tests: Likewise.
51235         * modules/unictype/category-name-tests: Likewise.
51236         * modules/unictype/category-none-tests: Likewise.
51237         * modules/unictype/category-of-tests: Likewise.
51238         * modules/unictype/category-or-tests: Likewise.
51239         * modules/unictype/category-test-withtable-tests: Likewise.
51240         * modules/unictype/combining-class-tests: Likewise.
51241         * modules/unictype/ctype-alnum-tests: Likewise.
51242         * modules/unictype/ctype-alpha-tests: Likewise.
51243         * modules/unictype/ctype-blank-tests: Likewise.
51244         * modules/unictype/ctype-cntrl-tests: Likewise.
51245         * modules/unictype/ctype-digit-tests: Likewise.
51246         * modules/unictype/ctype-graph-tests: Likewise.
51247         * modules/unictype/ctype-lower-tests: Likewise.
51248         * modules/unictype/ctype-print-tests: Likewise.
51249         * modules/unictype/ctype-punct-tests: Likewise.
51250         * modules/unictype/ctype-space-tests: Likewise.
51251         * modules/unictype/ctype-upper-tests: Likewise.
51252         * modules/unictype/ctype-xdigit-tests: Likewise.
51253         * modules/unictype/decimal-digit-tests: Likewise.
51254         * modules/unictype/digit-tests: Likewise.
51255         * modules/unictype/mirror-tests: Likewise.
51256         * modules/unictype/numeric-tests: Likewise.
51257         * modules/unictype/property-alphabetic-tests: Likewise.
51258         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
51259         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
51260         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
51261         * modules/unictype/property-bidi-block-separator-tests: Likewise.
51262         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
51263         * modules/unictype/property-bidi-common-separator-tests: Likewise.
51264         * modules/unictype/property-bidi-control-tests: Likewise.
51265         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
51266         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
51267         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
51268         * modules/unictype/property-bidi-european-digit-tests: Likewise.
51269         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
51270         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
51271         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
51272         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
51273         * modules/unictype/property-bidi-pdf-tests: Likewise.
51274         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
51275         * modules/unictype/property-bidi-whitespace-tests: Likewise.
51276         * modules/unictype/property-byname-tests: Likewise.
51277         * modules/unictype/property-combining-tests: Likewise.
51278         * modules/unictype/property-composite-tests: Likewise.
51279         * modules/unictype/property-currency-symbol-tests: Likewise.
51280         * modules/unictype/property-dash-tests: Likewise.
51281         * modules/unictype/property-decimal-digit-tests: Likewise.
51282         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
51283         * modules/unictype/property-deprecated-tests: Likewise.
51284         * modules/unictype/property-diacritic-tests: Likewise.
51285         * modules/unictype/property-extender-tests: Likewise.
51286         * modules/unictype/property-format-control-tests: Likewise.
51287         * modules/unictype/property-grapheme-base-tests: Likewise.
51288         * modules/unictype/property-grapheme-extend-tests: Likewise.
51289         * modules/unictype/property-grapheme-link-tests: Likewise.
51290         * modules/unictype/property-hex-digit-tests: Likewise.
51291         * modules/unictype/property-hyphen-tests: Likewise.
51292         * modules/unictype/property-id-continue-tests: Likewise.
51293         * modules/unictype/property-id-start-tests: Likewise.
51294         * modules/unictype/property-ideographic-tests: Likewise.
51295         * modules/unictype/property-ids-binary-operator-tests: Likewise.
51296         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
51297         * modules/unictype/property-ignorable-control-tests: Likewise.
51298         * modules/unictype/property-iso-control-tests: Likewise.
51299         * modules/unictype/property-join-control-tests: Likewise.
51300         * modules/unictype/property-left-of-pair-tests: Likewise.
51301         * modules/unictype/property-line-separator-tests: Likewise.
51302         * modules/unictype/property-logical-order-exception-tests: Likewise.
51303         * modules/unictype/property-lowercase-tests: Likewise.
51304         * modules/unictype/property-math-tests: Likewise.
51305         * modules/unictype/property-non-break-tests: Likewise.
51306         * modules/unictype/property-not-a-character-tests: Likewise.
51307         * modules/unictype/property-numeric-tests: Likewise.
51308         * modules/unictype/property-other-alphabetic-tests: Likewise.
51309         * modules/unictype/property-other-default-ignorable-code-point-tests:
51310         Likewise.
51311         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
51312         * modules/unictype/property-other-id-continue-tests: Likewise.
51313         * modules/unictype/property-other-id-start-tests: Likewise.
51314         * modules/unictype/property-other-lowercase-tests: Likewise.
51315         * modules/unictype/property-other-math-tests: Likewise.
51316         * modules/unictype/property-other-uppercase-tests: Likewise.
51317         * modules/unictype/property-paired-punctuation-tests: Likewise.
51318         * modules/unictype/property-paragraph-separator-tests: Likewise.
51319         * modules/unictype/property-pattern-syntax-tests: Likewise.
51320         * modules/unictype/property-pattern-white-space-tests: Likewise.
51321         * modules/unictype/property-private-use-tests: Likewise.
51322         * modules/unictype/property-punctuation-tests: Likewise.
51323         * modules/unictype/property-quotation-mark-tests: Likewise.
51324         * modules/unictype/property-radical-tests: Likewise.
51325         * modules/unictype/property-sentence-terminal-tests: Likewise.
51326         * modules/unictype/property-soft-dotted-tests: Likewise.
51327         * modules/unictype/property-space-tests: Likewise.
51328         * modules/unictype/property-terminal-punctuation-tests: Likewise.
51329         * modules/unictype/property-test-tests: Likewise.
51330         * modules/unictype/property-titlecase-tests: Likewise.
51331         * modules/unictype/property-unassigned-code-value-tests: Likewise.
51332         * modules/unictype/property-unified-ideograph-tests: Likewise.
51333         * modules/unictype/property-uppercase-tests: Likewise.
51334         * modules/unictype/property-variation-selector-tests: Likewise.
51335         * modules/unictype/property-white-space-tests: Likewise.
51336         * modules/unictype/property-xid-continue-tests: Likewise.
51337         * modules/unictype/property-xid-start-tests: Likewise.
51338         * modules/unictype/property-zero-width-tests: Likewise.
51339         * modules/unictype/scripts-tests: Likewise.
51340         * modules/unictype/syntax-c-ident-tests: Likewise.
51341         * modules/unictype/syntax-c-whitespace-tests: Likewise.
51342         * modules/unictype/syntax-java-ident-tests: Likewise.
51343         * modules/unictype/syntax-java-whitespace-tests: Likewise.
51344         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
51345         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
51346         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
51347         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
51348         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
51349         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
51350         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
51351         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
51352         * modules/uniname/uniname-tests: Likewise.
51353         * modules/uninorm/canonical-decomposition-tests: Likewise.
51354         * modules/uninorm/compat-decomposition-tests: Likewise.
51355         * modules/uninorm/composition-tests: Likewise.
51356         * modules/uninorm/decomposing-form-tests: Likewise.
51357         * modules/uninorm/decomposition-tests: Likewise.
51358         * modules/uninorm/filter-tests: Likewise.
51359         * modules/uninorm/nfc-tests: Likewise.
51360         * modules/uninorm/nfd-tests: Likewise.
51361         * modules/uninorm/nfkc-tests: Likewise.
51362         * modules/uninorm/nfkd-tests: Likewise.
51363         * modules/uninorm/u8-normcmp-tests: Likewise.
51364         * modules/uninorm/u8-normcoll-tests: Likewise.
51365         * modules/uninorm/u16-normcmp-tests: Likewise.
51366         * modules/uninorm/u16-normcoll-tests: Likewise.
51367         * modules/uninorm/u32-normcmp-tests: Likewise.
51368         * modules/uninorm/u32-normcoll-tests: Likewise.
51369         * modules/unistdio/u8-asnprintf-tests: Likewise.
51370         * modules/unistdio/u8-vasnprintf-tests: Likewise.
51371         * modules/unistdio/u8-vasprintf-tests: Likewise.
51372         * modules/unistdio/u8-vsnprintf-tests: Likewise.
51373         * modules/unistdio/u8-vsprintf-tests: Likewise.
51374         * modules/unistdio/u16-asnprintf-tests: Likewise.
51375         * modules/unistdio/u16-vasnprintf-tests: Likewise.
51376         * modules/unistdio/u16-vasprintf-tests: Likewise.
51377         * modules/unistdio/u16-vsnprintf-tests: Likewise.
51378         * modules/unistdio/u16-vsprintf-tests: Likewise.
51379         * modules/unistdio/u32-asnprintf-tests: Likewise.
51380         * modules/unistdio/u32-vasnprintf-tests: Likewise.
51381         * modules/unistdio/u32-vasprintf-tests: Likewise.
51382         * modules/unistdio/u32-vsnprintf-tests: Likewise.
51383         * modules/unistdio/u32-vsprintf-tests: Likewise.
51384         * modules/unistdio/ulc-asnprintf-tests: Likewise.
51385         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
51386         * modules/unistdio/ulc-vasprintf-tests: Likewise.
51387         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
51388         * modules/unistdio/ulc-vsprintf-tests: Likewise.
51389         * modules/unistr/u8-check-tests: Likewise.
51390         * modules/unistr/u8-chr-tests: Likewise.
51391         * modules/unistr/u8-cmp-tests: Likewise.
51392         * modules/unistr/u8-cmp2-tests: Likewise.
51393         * modules/unistr/u8-cpy-alloc-tests: Likewise.
51394         * modules/unistr/u8-cpy-tests: Likewise.
51395         * modules/unistr/u8-mblen-tests: Likewise.
51396         * modules/unistr/u8-mbsnlen-tests: Likewise.
51397         * modules/unistr/u8-mbtouc-tests: Likewise.
51398         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
51399         * modules/unistr/u8-mbtoucr-tests: Likewise.
51400         * modules/unistr/u8-move-tests: Likewise.
51401         * modules/unistr/u8-next-tests: Likewise.
51402         * modules/unistr/u8-prev-tests: Likewise.
51403         * modules/unistr/u8-set-tests: Likewise.
51404         * modules/unistr/u8-stpcpy-tests: Likewise.
51405         * modules/unistr/u8-stpncpy-tests: Likewise.
51406         * modules/unistr/u8-strcat-tests: Likewise.
51407         * modules/unistr/u8-strcmp-tests: Likewise.
51408         * modules/unistr/u8-strcoll-tests: Likewise.
51409         * modules/unistr/u8-strcpy-tests: Likewise.
51410         * modules/unistr/u8-strdup-tests: Likewise.
51411         * modules/unistr/u8-strlen-tests: Likewise.
51412         * modules/unistr/u8-strmblen-tests: Likewise.
51413         * modules/unistr/u8-strmbtouc-tests: Likewise.
51414         * modules/unistr/u8-strncat-tests: Likewise.
51415         * modules/unistr/u8-strncmp-tests: Likewise.
51416         * modules/unistr/u8-strncpy-tests: Likewise.
51417         * modules/unistr/u8-strnlen-tests: Likewise.
51418         * modules/unistr/u8-to-u16-tests: Likewise.
51419         * modules/unistr/u8-to-u32-tests: Likewise.
51420         * modules/unistr/u8-uctomb-tests: Likewise.
51421         * modules/unistr/u16-check-tests: Likewise.
51422         * modules/unistr/u16-chr-tests: Likewise.
51423         * modules/unistr/u16-cmp-tests: Likewise.
51424         * modules/unistr/u16-cmp2-tests: Likewise.
51425         * modules/unistr/u16-cpy-alloc-tests: Likewise.
51426         * modules/unistr/u16-cpy-tests: Likewise.
51427         * modules/unistr/u16-mblen-tests: Likewise.
51428         * modules/unistr/u16-mbsnlen-tests: Likewise.
51429         * modules/unistr/u16-mbtouc-tests: Likewise.
51430         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
51431         * modules/unistr/u16-mbtoucr-tests: Likewise.
51432         * modules/unistr/u16-move-tests: Likewise.
51433         * modules/unistr/u16-next-tests: Likewise.
51434         * modules/unistr/u16-prev-tests: Likewise.
51435         * modules/unistr/u16-set-tests: Likewise.
51436         * modules/unistr/u16-stpcpy-tests: Likewise.
51437         * modules/unistr/u16-stpncpy-tests: Likewise.
51438         * modules/unistr/u16-strcat-tests: Likewise.
51439         * modules/unistr/u16-strcmp-tests: Likewise.
51440         * modules/unistr/u16-strcoll-tests: Likewise.
51441         * modules/unistr/u16-strcpy-tests: Likewise.
51442         * modules/unistr/u16-strdup-tests: Likewise.
51443         * modules/unistr/u16-strlen-tests: Likewise.
51444         * modules/unistr/u16-strmblen-tests: Likewise.
51445         * modules/unistr/u16-strmbtouc-tests: Likewise.
51446         * modules/unistr/u16-strncat-tests: Likewise.
51447         * modules/unistr/u16-strncmp-tests: Likewise.
51448         * modules/unistr/u16-strncpy-tests: Likewise.
51449         * modules/unistr/u16-strnlen-tests: Likewise.
51450         * modules/unistr/u16-to-u32-tests: Likewise.
51451         * modules/unistr/u16-to-u8-tests: Likewise.
51452         * modules/unistr/u16-uctomb-tests: Likewise.
51453         * modules/unistr/u32-check-tests: Likewise.
51454         * modules/unistr/u32-chr-tests: Likewise.
51455         * modules/unistr/u32-cmp-tests: Likewise.
51456         * modules/unistr/u32-cmp2-tests: Likewise.
51457         * modules/unistr/u32-cpy-alloc-tests: Likewise.
51458         * modules/unistr/u32-cpy-tests: Likewise.
51459         * modules/unistr/u32-mblen-tests: Likewise.
51460         * modules/unistr/u32-mbsnlen-tests: Likewise.
51461         * modules/unistr/u32-mbtouc-tests: Likewise.
51462         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
51463         * modules/unistr/u32-mbtoucr-tests: Likewise.
51464         * modules/unistr/u32-move-tests: Likewise.
51465         * modules/unistr/u32-next-tests: Likewise.
51466         * modules/unistr/u32-prev-tests: Likewise.
51467         * modules/unistr/u32-set-tests: Likewise.
51468         * modules/unistr/u32-stpcpy-tests: Likewise.
51469         * modules/unistr/u32-stpncpy-tests: Likewise.
51470         * modules/unistr/u32-strcat-tests: Likewise.
51471         * modules/unistr/u32-strcmp-tests: Likewise.
51472         * modules/unistr/u32-strcoll-tests: Likewise.
51473         * modules/unistr/u32-strcpy-tests: Likewise.
51474         * modules/unistr/u32-strdup-tests: Likewise.
51475         * modules/unistr/u32-strlen-tests: Likewise.
51476         * modules/unistr/u32-strmblen-tests: Likewise.
51477         * modules/unistr/u32-strmbtouc-tests: Likewise.
51478         * modules/unistr/u32-strncat-tests: Likewise.
51479         * modules/unistr/u32-strncmp-tests: Likewise.
51480         * modules/unistr/u32-strncpy-tests: Likewise.
51481         * modules/unistr/u32-strnlen-tests: Likewise.
51482         * modules/unistr/u32-to-u16-tests: Likewise.
51483         * modules/unistr/u32-to-u8-tests: Likewise.
51484         * modules/unistr/u32-uctomb-tests: Likewise.
51485         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
51486         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
51487         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
51488         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
51489         * modules/uniwidth/u8-strwidth-tests: Likewise.
51490         * modules/uniwidth/u8-width-tests: Likewise.
51491         * modules/uniwidth/u16-strwidth-tests: Likewise.
51492         * modules/uniwidth/u16-width-tests: Likewise.
51493         * modules/uniwidth/u32-strwidth-tests: Likewise.
51494         * modules/uniwidth/u32-width-tests: Likewise.
51495         * modules/uniwidth/width-tests: Likewise.
51497 2010-05-18  Richard Jones  <rjones@redhat.com>
51499         doc: users.txt: list hivex
51500         * users.txt: Add hivex.
51502 2010-05-18  Richard Jones  <rjones@redhat.com>
51504         doc: users.txt: list febootstrap
51505         * users.txt: Add febootstrap.
51507 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
51509         bootstrap: fix an error when gnulib is not used as a git submodule
51510         * build-aux/bootstrap (gnulib_path): If its length is zero then
51511         assign "gnulib" to it.
51512         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
51514 2010-05-16  Bruno Haible  <bruno@clisp.org>
51516         Avoid autoconf warnings about AM_ICONV.
51517         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
51518         2.64.
51520 2010-05-16  Bruno Haible  <bruno@clisp.org>
51522         absolute-header: Make the macro usable in more situations.
51523         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
51524         from gl_ABSOLUTE_HEADER.
51525         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
51527 2010-05-16  James Youngman  <jay@gnu.org>
51529         doc: update users.txt
51530         * users.txt: Add CSSC.
51532 2010-05-16  Jim Meyering  <meyering@redhat.com>
51534         init.sh: fix an error in the previous change; add more comments
51535         * tests/init.sh: Compare exit code in loop against 9, not 2.
51536         Patch by Bruno Haible.
51537         Make the two tests more similar by adding an empty "then" clause.
51538         Add comments.
51540         init.sh: avoid unnecessary shell re-exec
51541         * tests/init.sh: Improve the re-exec-required check to first test the
51542         current shell.  If it passes the test, do not search for a shell that
51543         does pass, and do not re-exec.  This test is particularly contorted to
51544         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
51545         of $(...) evokes a syntax error and causes immediate shell exit with
51546         status 2.  Bruno Haible reported that the re-exec made it impossible
51547         to single-step through any init.sh-using script.
51549 2010-05-16  Bruno Haible  <bruno@clisp.org>
51551         Fix collision between gnulib's and libintl's printf replacements.
51552         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
51553         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
51554         (printf): When using GNU C, map the __printf__ function to rpl_printf
51555         via __asm__. When not using GNU C, define rpl_printf instead of
51556         __printf__.
51557         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
51558         commit.
51559         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
51560         commit.
51561         * m4/asm-underscore.m4: New file.
51562         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
51563         * modules/stdio (Files): Add m4/asm-underscore.m4.
51564         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
51565         Reported by Ben Pfaff.
51567 2010-05-16  Bruno Haible  <bruno@clisp.org>
51569         verify: Avoid skipping the test on openSUSE 11.0.
51570         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
51572 2010-05-13  Bruno Haible  <bruno@clisp.org>
51574         Avoid useless warnings from G++.
51575         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
51576         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
51577         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
51579 2010-05-11  Jim Meyering  <meyering@redhat.com>
51581         maint.mk: tweak preceding change
51582         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
51583         regexps tighter by anchoring at EOL, and make the new group "shy"
51584         for slightly decreased overhead.
51586 2010-05-11  Eric Blake  <eblake@redhat.com>
51588         maint.mk: gnulib doesn't guarantee NSIG
51589         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
51591 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51593         test-pwrite.c: Remove unused variable declaration.
51594         * tests/test-pwrite.c (main): Remove read_buf declaration.
51596         Remove useless test-pwrite.sh file.
51597         * tests/test-pwrite.sh: Delete file.
51598         * modules/pwrite-tests: Remove references.
51599         Reported by Bruno Haible.
51601 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
51603         init.sh: fix a typo
51604         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
51606 2010-05-10  Jim Meyering  <meyering@redhat.com>
51608         maint.mk: avoid using a temporary file in the always-defined-macros check
51609         * top/maint.mk (.re-defmac): Remove rule.
51610         (gl_trap_): Remove definition.
51611         (sc_prohibit_always-defined_macros): Rewrite not to create and
51612         depend on a temporary file.  Instead, depend on GNU grep's ability
51613         to read a list of regular expressions from stdin when given "-f -".
51615 2010-05-09  Bruno Haible  <bruno@clisp.org>
51617         Update to GNU gettext 0.18, part 1.
51618         * m4/gettext.m4: Update to GNU gettext 0.18.
51619         * m4/intl.m4: Likewise.
51620         * m4/po.m4: Likewise.
51621         * modules/gettext (Files): Add m4/fcntl-o.m4.
51622         (configure.ac): Require gettext infrastructure from version 0.18.
51624 2010-05-09  Jim Meyering  <meyering@redhat.com>
51626         init.sh: enable MALLOC_PERTURB_
51627         * tests/init.sh: Enable glibc's malloc-perturbing option.
51629         maint.mk: improve sc_cross_check_PATH_usage_in_tests
51630         With my recent change in init.sh from the two-line form:
51631             -#   : ${srcdir=.}
51632             -#   . "$srcdir/init.sh"; path_prepend_ .
51633             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
51634         I noticed that using the one-line form would cause this test
51635         to fail with a false-positive, or to stop working altogether,
51636         depending on whether help-version changed or all the tests did.
51637         * top/maint.mk (_hv_regex): Remove this definition.
51638         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
51639         (_hv_regex_strong): Use a stronger regex to check for conformance.
51640         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
51641         Give a separate diagnostic for lack of conforming use.
51643         maint.mk: prohibit definition of symbols defined by gnulib
51644         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
51645         definition of symbols defined by gnulib.
51647 2010-05-09  Bruno Haible  <bruno@clisp.org>
51649         acl: Avoid test failure on Cygwin-hosted mingw.
51650         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
51652 2010-05-09  Bruno Haible  <bruno@clisp.org>
51654         error: Use system's fcntl function.
51655         * lib/error.c (fcntl): Undefine.
51657 2010-05-09  Jim Meyering  <meyering@redhat.com>
51659         verify: adjust formatting to be more consistent
51660         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
51661         argument-list '('s, and after one comma.
51663 2010-05-09  Bruno Haible  <bruno@clisp.org>
51665         error: More reliable output on mingw.
51666         * lib/error.c: Include <windows.h>.
51667         (is_open): New function.
51668         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
51669         defined.
51671 2010-05-09  Bruno Haible  <bruno@clisp.org>
51673         vasnprintf: Fix syntax errors in libintl build on mingw.
51674         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
51675         pad_ourselves and prec_ourselves after use.
51677 2010-05-08  Bruno Haible  <bruno@clisp.org>
51679         * lib/config.charset: Update comments for Cygwin 1.7.
51680         * lib/localcharset.c: Likewise.
51682 2010-05-07  Jim Meyering  <meyering@redhat.com>
51684         init.sh: improve comments
51685         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
51686         . "${srcdir=.}/init.sh"; path_prepend_ .
51687         Add a note about path_prepend_ and the alternative of using
51688         TESTS_ENVIRONMENT.
51690 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
51692         exclude: Unescape hashed patterns in wildcard mode.
51693         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
51694         to the hash list.
51695         * tests/test-exclude8.sh: New test case.
51696         * modules/exclude-tests: Add new test.
51698 2010-05-05  Eric Blake  <eblake@redhat.com>
51700         verify: automate tests
51701         * modules/verify-tests: New module.
51702         * tests/test-verify.sh: New file.
51703         * tests/test-verify.c: Guard each negative test with a unique id.
51704         Also avoid warning about unused left hand of comma expressions.
51706 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
51708         Further improvements to verify.h, suggested by Eric Blake.
51709         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
51710         the GL_* versions, to avoid collision with OpenGL.
51711         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
51712         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
51713         than testing merely whether it's defined.
51715         Modify verify.h to pacify gcc -Wredundant_decls.
51716         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
51717         These use the prefix "GL_" since they're likely to be useful elsewhere.
51718         We may need to break them out into a different .h file.
51719         (__COUNTER__): Define to 0 if the compiler doesn't support it.
51720         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
51721         of verify_function__.
51723 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51725         Tests for module pwrite.
51726         * modules/pwrite-tests: New file.
51727         * tests/test-pwrite.sh: New file.
51728         * tests/test-pwrite.c: New file.
51730         New module pwrite.
51731         * lib/unistd.in.h (pwrite): New declaration.
51732         * lib/pwrite.c: New file, from glibc with modifications.
51733         * m4/pwrite.m4: New file.
51734         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
51735         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
51736         REPLACE_PWRITE.
51737         * modules/pwrite: New file.
51738         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
51739         REPLACE_PWRITE.
51740         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
51741         * doc/posix-functions/pwrite.texi: Mention the new module.
51743 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
51745         pread: Update documentation.
51746         * doc/posix-functions/pread.texi: Mention the 'pread' module.
51748 2010-05-04  Eric Blake  <eblake@redhat.com>
51750         docs: update cygwin progress
51751         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
51752         this bug.
51753         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
51754         Added in cygwin 1.7.2.
51755         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
51756         Likewise.
51757         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
51758         Likewise.
51759         * doc/glibc-functions/dup3.texi (dup3): Likewise.
51760         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51761         * doc/glibc-functions/accept4.texi (accept4): Likewise.
51762         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
51763         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
51764         Mention nproc module.
51765         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
51766         bug in cygwin 1.7.5 addition.
51767         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
51768         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
51769         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
51770         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
51771         1.7.5.
51772         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
51773         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
51774         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
51775         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
51776         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
51777         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
51778         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
51779         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
51780         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
51781         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
51782         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
51783         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
51784         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
51785         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
51786         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
51787         Likewise.
51788         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
51789         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
51790         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
51791         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
51792         Likewise.
51793         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
51794         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
51795         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
51796         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
51797         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
51798         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
51799         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
51800         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
51801         Likewise.
51802         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
51803         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
51804         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
51805         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
51806         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
51807         Likewise.
51808         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
51809         Likewise.
51810         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
51811         Likewise.
51812         * doc/glibc-functions/xdrrec_endofrecord.texi
51813         (xdrrec_endofrecord): Likewise.
51814         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
51815         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
51816         Likewise.
51817         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
51818         Likewise.
51820 2010-05-04  Jim Meyering  <meyering@redhat.com>
51822         gendocs.sh: make its "-s FILE" option more useful
51823         * build-aux/gendocs.sh: When honoring the -s FILE option, update
51824         $PACKAGE to reflect the probably-different basename of "FILE".
51826 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
51828         bootstrap: don't ignore download_po_files failure
51829         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
51830         failure.
51832 2010-05-03  Jim Meyering  <meyering@redhat.com>
51834         maint.mk: allow to pass options to gendocs.sh
51835         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
51836         (gendocs_options_): New overridable variable.
51838         gnu-web-doc-update: don't ignore configure or build failure
51839         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
51841         announce-gen: backslash-escape '@'s in --help output
51842         * build-aux/announce-gen: Fix syntax errors.
51844         maint.mk, announce-gen: allow project-specific announcement mail headers
51845         * top/maint.mk (translation_project_): Define default.
51846         (announcement_Cc_, announcement_mail_headers_): Likewise.
51847         (announcement): Invoke announce-gen with new --mail-headers option.
51848         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
51850         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
51851         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
51852         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
51853         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
51854         line in the "err2" output file when running "make check" in verbose
51855         mode (i.e., with set -x enabled).
51857 2010-05-03  Bruno Haible  <bruno@clisp.org>
51859         wctob: Fix for weird platforms.
51860         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
51861         argument value.
51863 2010-05-03  Jim Meyering  <meyering@redhat.com>
51865         maint.mk: prohibit unwarranted use of <strings.h>
51866         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
51867         strings.h in a file that does not also use strcasecmp, strncasecmp,
51868         ffs or ffsll.
51870         maint.mk: remove obsolete comments
51871         * top/maint.mk: Remove stale, commented-out rules.
51873 2010-05-02  Bruno Haible  <bruno@clisp.org>
51875         wcwidth: Declare also when it's aliased.
51876         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
51877         macro.
51879 2010-05-02  Bruno Haible  <bruno@clisp.org>
51881         Fix regression from 2010-04-25.
51882         * gnulib-tool (func_modules_transitive_closure): Check the status of
51883         all modules, not only of the tests that are of the form foo-tests where
51884         foo is a module.
51886 2010-05-02  Bruno Haible  <bruno@clisp.org>
51888         wctob: Work around nasty Cygwin 1.7.2 bug.
51889         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
51890         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
51892 2010-05-01  Bruno Haible  <bruno@clisp.org>
51894         fpurge: Sharper test.
51895         * tests/test-fpurge.c (main): Add one more ftell check.
51896         * modules/fpurge-tests (Depends-on): Add ftell.
51897         Suggested by Eric Blake.
51899 2010-05-01  Bruno Haible  <bruno@clisp.org>
51901         ftello: Another test.
51902         * tests/test-ftello3.c: New file.
51903         * modules/ftello-tests (Files): Add it.
51904         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51905         MOSTLYCLEANFILES.
51907         ftell: Another test.
51908         * tests/test-ftell3.c: New file.
51909         * modules/ftell-tests (Files): Add it.
51910         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
51911         MOSTLYCLEANFILES.
51913 2010-05-01  Bruno Haible  <bruno@clisp.org>
51915         ftell, ftello: Work around Solaris bug.
51916         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
51917         * lib/ftello.c: Include stdio-impl.h.
51918         (ftello): On Solaris, when _IOWRT is set, compute the result without
51919         looking at _IOREAD.
51920         * modules/ftello (Files): Add lib/stdio-impl.h.
51921         * doc/posix-functions/ftell.texi: Mention Solaris bug.
51922         * doc/posix-functions/ftello.texi: Likewise.
51923         Reported by Eric Blake.
51925 2010-05-01  Bruno Haible  <bruno@clisp.org>
51927         freading: Adapt to special meaning of _IOREAD flag on Solaris.
51928         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
51929         the _IOWRT flag is also set.
51931 2010-05-01  Bruno Haible  <bruno@clisp.org>
51933         Fix doc about a HP-UX stdio bug.
51934         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
51935         * doc/posix-functions/ftello.texi: Likewise.
51937 2010-05-01  Bruno Haible  <bruno@clisp.org>
51939         lseek test: Fix failure on Solaris.
51940         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
51941         output.
51943 2010-04-30  Jim Meyering  <meyering@redhat.com>
51945         bootstrap: don't ignore failure to generate po*/Makevars
51946         * build-aux/bootstrap (with_gettext): Don't ignore failure
51947         to create po/Makevars or runtime-po/Makevars.
51949 2010-04-29  Eric Blake  <eblake@redhat.com>
51951         headers: relax license to LGPLv2+
51952         * modules/fcntl-h (License): Relax license.
51953         * modules/getopt-posix (License): Likewise.
51954         * modules/locale (License): Likewise.
51955         * modules/math (License): Likewise.
51956         * modules/pty (License): Likewise.
51957         * modules/sched (License): Likewise.
51958         * modules/search (License): Likewise.
51959         * modules/spawn (License): Likewise.
51960         * modules/stdarg (License): Likewise.
51961         * modules/sysexits (License): Likewise.
51963 2010-04-29  Jim Meyering  <meyering@redhat.com>
51965         inttypes: relax license to LGPLv2+
51966         * modules/inttypes (License): Relax license.
51968 2010-04-29  Simon Josefsson  <simon@josefsson.org>
51970         * top/maint.mk (indent): Run twice to produce idempotent results.
51972 2010-04-28  Bruno Haible  <bruno@clisp.org>
51974         getdate: Generate getdate.c in the source directory.
51975         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
51976         MOSTLYCLEANFILES.
51977         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
51979 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
51981         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
51982         is not declared as a const *; avoid warnings in that case.
51984 2010-04-28  Eric Blake  <eblake@redhat.com>
51986         canonicalize-lgpl: avoid compiler warning
51987         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
51988         declaration' / 'extraneous semicolon' warning with some compilers.
51989         Reported by Andreas Gruenbacher.
51991 2010-04-28  Jim Meyering  <meyering@redhat.com>
51993         init.sh: ensure a more reliable exit status when exiting via trap
51994         * tests/init.sh (setup_): Don't rely on $? in signal handler.
51995         Inspired by patches from Dmitry V. Levin.
51996         Also trap on signal 3 (SIGQUIT).
51998 2010-04-27  Bruno Haible  <bruno@clisp.org>
52000         Update doc about utimes().
52001         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
52002         'utimens' module.
52003         Reported by Andreas Gruenbacher <agruen@suse.de>.
52005 2010-04-27  Eric Blake  <eblake@redhat.com>
52007         full-read, full-write: relax license
52008         * modules/full-read (License): Drop to LGPLv2+.
52009         * modules/full-write (License): Likewise.
52010         * modules/safe-read (License): Likewise.
52011         * modules/safe-write (License): Likewise.
52013         pthread: mention library for linking
52014         * modules/pthread (Link): Mention $(LIB_PTHREAD).
52016 2010-04-27  Jim Meyering  <meyering@redhat.com>
52018         maint.mk: fix a bug introduced in last change
52019         * top/maint.mk (gl_assured_headers_): Now that all names are on
52020         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
52021         is not anchored to end of word, it should be adequate.
52023         maint.mk: avoid side-effect in latest syntax-check
52024         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
52025         to run commands via $(shell...), and hence to incur cost only when
52026         the new rule is actually run.
52028         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
52029         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
52030         and use that to create a regexp used to detect all #if HAVE_..._H uses.
52031         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
52032         (gl_assured_headers_, az_, AZ_): Define.
52033         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
52035 2010-04-26  Jim Meyering  <jim@meyering.net>
52036             Bruno Haible  <bruno@clisp.org>
52038         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
52039         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
52040         Prompted by an exchange with Gilles Espinasse.
52042 2010-04-26  Jim Meyering  <meyering@redhat.com>
52044         git-version-gen: aesthetic tweak
52045         * build-aux/git-version-gen: Use "$nl" rather than a literal,
52046         so that the command remains on a single line.
52048 2010-04-26  Eric Blake  <eblake@redhat.com>
52050         git-version-gen: allow use on EBCDIC hosts
52051         * build-aux/git-version-gen (dirty): Use literal rather than tying
52052         ourselves to ascii.
52053         Reported by Steve Goetze.
52055 2010-04-25  Bruno Haible  <bruno@clisp.org>
52057         netdb: Add support for GNULIB_POSIXCHECK.
52058         * lib/netdb.in.h: Include warn-on-use.h.
52059         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
52060         functions are used when GNULIB_POSIXCHECK is defined and the
52061         getaddrinfo module is not in use.
52062         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
52063         freeaddrinfo, gai_strerror, getnameinfo are declared.
52064         * modules/netdb (Depends-on): Add warn-on-use.
52065         (Makefile.am): Include warn-on-use.h in netdb.h.
52067 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
52069         build: avoid "make check" failure without .git/ directory
52070         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
52071         there is no .git/ directory.
52073 2010-04-25  Bruno Haible  <bruno@clisp.org>
52075         ptsname: Fix misuse of ttyname_r.
52076         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
52077         of errno.
52079 2010-04-25  Bruno Haible  <bruno@clisp.org>
52081         ttyname_r: Make it work on Solaris 10.
52082         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
52083         if the system function has the POSIX declaration. Test whether the
52084         function fails if the buffer is less than 128 bytes large.
52085         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
52086         system's ttyname_r function. Provide a reasonably large buffer.
52087         * modules/ttyname_r (Depends-on): Add extensions.
52088         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
52090 2010-04-25  Bruno Haible  <bruno@clisp.org>
52092         Use the 'extensions' module for some more functions on Solaris.
52093         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
52094         module.
52095         * doc/posix-functions/ctime_r.texi: Likewise.
52096         * doc/posix-functions/getgrgid_r.texi: Likewise.
52097         * doc/posix-functions/getgrnam_r.texi: Likewise.
52098         * doc/posix-functions/getpwnam_r.texi: Likewise.
52099         * doc/posix-functions/getpwuid_r.texi: Likewise.
52100         * doc/posix-functions/readdir_r.texi: Likewise.
52101         * doc/posix-functions/sigwait.texi: Likewise.
52102         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
52103         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
52105 2010-04-25  Bruno Haible  <bruno@clisp.org>
52107         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
52108         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
52109         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
52110         * lib/ttyname_r.c: Include <limits.h>.
52111         (ttyname_r): Define using the system's ttyname_r function, if it exists
52112         and not on Solaris.
52113         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
52114         set.
52115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
52116         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
52117         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
52118         Reported by Simon Josefsson.
52120 2010-04-25  Bruno Haible  <bruno@clisp.org>
52122         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
52123         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
52124         * doc/posix-functions/ctime_r.texi: Likewise.
52125         * doc/posix-functions/getgrgid_r.texi: Likewise.
52126         * doc/posix-functions/getgrnam_r.texi: Likewise.
52127         * doc/posix-functions/getlogin_r.texi: Likewise.
52128         * doc/posix-functions/getpwnam_r.texi: Likewise.
52129         * doc/posix-functions/getpwuid_r.texi: Likewise.
52130         * doc/posix-functions/readdir_r.texi: Likewise.
52131         * doc/posix-functions/sigwait.texi: Likewise.
52132         * doc/posix-functions/ttyname_r.texi: Likewise.
52133         Reported by Simon Josefsson.
52135 2010-04-25  Bruno Haible  <bruno@clisp.org>
52137         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
52138         * gnulib-tool (func_usage): Document that --with-*-tests options apply
52139         also to --create-testdir.
52140         (func_acceptable): Don't consider the status of *-tests modules here.
52141         (func_modules_transitive_closure): Consider it here, before including a
52142         test module.
52143         (func_import, func_create_testdir): Set inc_all_direct_tests,
52144         inc_all_indirect_tests.
52145         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
52146         --create-testdir and --create-megatestdir.
52148 2010-04-25  Bruno Haible  <bruno@clisp.org>
52150         gnulib-tool: Add --without-*-tests options.
52151         * gnulib-tool (func_usage): Document the --without-*-tests options.
52152         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
52153         excl_unportable_tests): New variables.
52154         Fail if they are specified with --import or --update.
52155         (func_acceptable): Respect the excl_*_tests variables.
52156         (func_import): Set the excl_*_tests variables to empty.
52158 2010-04-25  Simon Josefsson  <simon@josefsson.org>
52159             Bruno Haible  <bruno@clisp.org>
52161         Work around a MacOS X 10.4 bug with openpty.
52162         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
52163         * tests/test-openpty.c (main): Close the master side explicitly.
52165 2010-04-25  Bruno Haible  <bruno@clisp.org>
52167         strnlen: Fix a C++ test error on MacOS X and Solaris.
52168         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
52169         the function is not declared.
52170         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
52171         Simon Josefsson.
52173 2010-04-24  Bruno Haible  <bruno@clisp.org>
52175         Avoid a gcc warning.
52176         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
52177         of correct type for %08lx directive.
52178         Reported by Eric Blake.
52180 2010-04-24  Bruno Haible  <bruno@clisp.org>
52182         vasnprintf: Correct errno value in case of out-of-memory.
52183         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
52184         or sprintf. Use the errno value from SNPRINTF or sprintf.
52185         Reported by Ian Beckwith <ianb@erislabs.net>.
52187 2010-04-24  Bruno Haible  <bruno@clisp.org>
52189         ansi-c++-opt: Find correct compiler when cross-compiling.
52190         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
52191         AC_CHECK_PROGS.
52192         Reported by Simon Josefsson.
52194 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
52196         vc-list-files: Add support for subversion
52197         * build-aux/vc-list-files: Use "svn list" to generate the list of
52198         files controlled by subversion.
52200 2010-04-23  Jim Meyering  <meyering@redhat.com>
52202         vc-list-files tests: convert to use init.sh
52203         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
52204         path_prepend_.
52205         Use Exit, not exit.
52206         Use skip_ rather than open coding it.
52207         Remove trap set-up and compare definitions.
52208         * tests/test-vc-list-files-git.sh: Likewise.
52209         * modules/vc-list-files-tests (Files): Add tests/init.sh.
52211 2010-04-22  Simon Josefsson  <simon@josefsson.org>
52213         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
52214         backup files.
52216 2010-04-21  Simon Josefsson  <simon@josefsson.org>
52218         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
52220 2010-04-20  Eric Blake  <eblake@redhat.com>
52222         tests: be robust to ignored SIGPIPE
52223         * tests/test-select-in.sh: Consume all output.
52224         * tests/test-lseek.sh: Check correct exit status, while avoiding
52225         EPIPE.
52227 2010-04-20  Simon Josefsson  <simon@josefsson.org>
52228             Bruno Haible  <bruno@clisp.org>
52230         visibility: Don't use -fvisibility if it leads to a warning.
52231         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
52232         yes, don't pretend that visibility works if it leads to a warning.
52233         Reported by Mike Gran <spk121@yahoo.com>.
52235 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
52237         * build-aux/bootstrap: Use "git -h" for testing for supported options
52238         instead of "git --help".  The short-form option only shows a summary,
52239         and doesn't layout the full man page.  Grep for the full option name
52240         in the summary, too.
52242 2010-04-19  Bruno Haible  <bruno@clisp.org>
52244         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
52245         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
52246         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
52247         mention of RELOCATABLE_STRIP.
52248         Reported by Sylvain Beucler <beuc@beuc.net>.
52250 2010-04-19  Bruno Haible  <bruno@clisp.org>
52252         * lib/diffseq.h: Fix typo in comment.
52253         Reported by Eric Blake.
52255 2010-04-19  Bruno Haible  <bruno@clisp.org>
52257         ioctl: Move autoconf macro to a .m4 file.
52258         * m4/ioctl.m4: New file, extracted from modules/ioctl.
52259         * modules/ioctl (Files): Add it.
52260         (configure.ac): Simply invoke gl_FUNC_IOCTL.
52261         Reported by Ian Beckwith <ianb@erislabs.net>.
52263 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
52264             Bruno Haible  <bruno@clisp.org>
52266         diffseq: Accommodate use-case with abstract arrays.
52267         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
52268         is not defined.
52269         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
52270         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
52272 2010-04-18  Bruno Haible  <bruno@clisp.org>
52274         * doc/posix-headers/stdbool.texi: More precise wording.
52276 2010-04-17  Jim Meyering  <meyering@redhat.com>
52278         maint.mk: use gnu-style indentation in an embedded perl script
52279         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
52280         Rename variable: s/two/last_two_bytes/
52282 2010-04-16  Eric Blake  <eblake@redhat.com>
52284         test-stdbool: skip test that fails with Solaris CC
52285         * tests/test-stdbool.c (f): Skip test that causes compilation
52286         error under buggy C++ compiler.
52287         * lib/stdbool.in.h: Document the limitation.
52288         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
52290         setenv: allow compilation with C++
52291         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
52292         register keyword.
52294         stdint: allow test to pass with C++
52295         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
52297         getopt: allow compilation with C++
52298         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
52299         struct.
52300         * lib/getopt.c (_getopt_internal_r): Use correct type.
52301         Reported by Dagobert Michelson, via Joel E. Denny.
52303 2010-04-16  Bruno Haible  <bruno@clisp.org>
52305         Override netdb.h always.
52306         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
52307         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
52308         Reported by Ludovic Courtès <ludo@gnu.org>.
52310 2010-04-15  Bruno Haible  <bruno@clisp.org>
52312         openpty: Fix mistake from 2010-03-21.
52313         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
52314         Reported by Simon Josefsson.
52316 2010-04-15  Eric Blake  <eblake@redhat.com>
52318         test-forkpty: fix expected signature
52319         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
52320         Reported by Simon Josefsson.
52322 2010-04-15  Jim Meyering  <meyering@redhat.com>
52324         maint.mk: texinfo_suffix_re_: correct the default regexp
52325         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
52327         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
52328         make it configurable via texinfo_suffix_re_.
52330 2010-04-14  Eric Blake  <eblake@redhat.com>
52332         strtok_r: relax license to LGPLv2+
52333         * modules/strtok_r (License): Relax license.
52334         Reported by Matthias Bolte.
52336 2010-04-14  Simon Josefsson  <simon@josefsson.org>
52338         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
52339         version 1.4.4 by default instead of requiring the libgcrypt
52340         version used during build.  This makes it possible to use the
52341         application with older but still binary compatible libgcrypt
52342         versions.
52344 2010-04-13  Eric Blake  <eblake@redhat.com>
52346         getopt-gnu: match recent glibc fixes and posix ruling
52347         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
52348         '+' handling, when requesting extensions.
52349         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
52350         'W;' handling.
52351         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
52352         * doc/posix-functions/getopt.texi (getopt): Document this.
52353         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52354         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52355         Likewise.
52357         getopt: merge bug fixes from glibc
52358         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
52359         diagnostics.  Honor '+:' correctly.  Reject ';'.
52361         getopt-posix: detect MacOS bug
52362         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
52363         optind when missing a required argument.
52364         * doc/posix-functions/getopt.texi (getopt): Document the bug.
52365         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
52366         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
52367         Likewise.
52369         getopt-posix: avoid spurious failure on Solaris
52370         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
52371         an indicator that setting optind=1 is sufficient for reset.
52373         getopt-posix: avoid spurious failure on FreeBSD
52374         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
52375         in POSIX mode, since the m4 test uses it.
52377         gnulib-tool: silence warning on BSD sh
52378         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
52380 2010-04-13  Jim Meyering  <meyering@redhat.com>
52382         doc: users.txt: GNU patch now uses gnulib
52383         * users.txt: Add patch.
52385 2010-04-12  Jim Meyering  <meyering@redhat.com>
52387         maint.mk: generate more concise timing data for syntax-check rules
52388         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
52389         " done" from each line that reports a syntax-check test duration.
52391 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
52393         git-version-gen: use "git update-index..." rather than "git status"
52394         * build-aux/git-version-gen: Use git update-index --refresh, not
52395         "git status".  With some versions of git, "git status" would fail
52396         to update the index and result in an unwarranted "-dirty" suffix.
52398 2010-04-11  Jim Meyering  <meyering@redhat.com>
52400         openat: correct formatting (no semantic change)
52401         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
52402         Suggested by Bruno Haible.
52404 2010-04-11  Bruno Haible  <bruno@clisp.org>
52406         Stricter declaration checking in testdirs.
52407         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52408         If for_tests is true, augment AM_CPPFLAGS to define
52409         GNULIB_STRICT_CHECKING.
52410         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
52411         GNULIB_STRICT_CHECKING is defined, verify that the function is
52412         declared.
52414 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
52415             Bruno Haible  <bruno@clisp.org>
52417         libunistring: Improve configure output.
52418         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
52419         Don't say "consider installing GNU libunistring" when checking again
52420         with libiconv.
52422 2010-04-11  Bruno Haible  <bruno@clisp.org>
52424         libunistring: Correct value of $LTLIBUNISTRING.
52425         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
52426         correct the value of $LTLIBUNISTRING.
52428 2010-04-11  Bruno Haible  <bruno@clisp.org>
52430         havelib: Add static libraries to LIBS in the right order.
52431         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
52432         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
52434 2010-04-11  Bruno Haible  <bruno@clisp.org>
52436         libunistring: Detect libunistring also when it depends on libiconv.
52437         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
52438         the second AC_LIB_HAVE_LINKFLAGS invocation.
52440 2010-04-11  James Youngman  <jay@gnu.org>
52442         close-stream: declare local scalars to be "const"
52443         * lib/close-stream.c (close_stream): Make boolean variables const
52444         to document the fact that we set but do not change them.
52446 2010-04-11  Bruno Haible  <bruno@clisp.org>
52448         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
52450 2010-04-11  Jim Meyering  <meyering@redhat.com>
52452         maint.mk: don't include dist-check.mk
52453         * top/maint.mk: Remove bogus include directive.
52455         maint.mk: improve empty-line-at-EOF check
52456         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
52457         solution, rather than tail+Perl-based one.  The latter would read
52458         a few kilobytes from the end of each file, and did not handle empty
52459         files properly.
52461         maint.mk: print the elapsed time for each syntax-check rule
52462         * top/maint.mk (sc_m_rules_): Save start time in a file.
52463         (sc_z_rules_): New rules: remove temp file and print elapsed time.
52464         (local-check): Interpose the .z rules
52466 2010-04-11  Jim Meyering  <meyering@redhat.com>
52468         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
52469         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
52470         empty file with one that ends in an empty line.
52472 2010-04-10  Bruno Haible  <bruno@clisp.org>
52474         mkdir: Make it work on mingw64.
52475         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
52476         * lib/mkdir.c: Update comment.
52477         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
52479 2010-04-10  Bruno Haible  <bruno@clisp.org>
52481         Don't override improved macro from newer autoconf.
52482         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
52483         autoconf >= 2.62.
52484         Reported by Joel E. Denny <jdenny@clemson.edu>.
52486 2010-04-10  Jim Meyering  <meyering@redhat.com>
52488         maint.mk: new syntax-check rule: prohibit empty lines at end of file
52489         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
52491         maint.mk: correct a diagnostic
52492         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
52493         in diagnostic; now use $prohibit.
52495 2010-04-10  Bruno Haible  <address@hidden>
52497         fchownat: Fix a C++ test error on Solaris 8.
52498         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
52499         the function does not exist.
52501 2010-04-10  Bruno Haible  <bruno@clisp.org>
52503         vasnprintf: Add more tests.
52504         * tests/test-vasnprintf-posix.c: Include <errno.h>.
52505         (test_function): Test converting an invalid wide string.
52507         vasnprintf: Correct handling of unconvertible wide string arguments.
52508         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
52509         VASNPRINTF.
52510         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
52511         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
52512         smaller than the expected maximum need for the directive. Set errno to
52513         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
52514         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
52515         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
52516         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
52517         * modules/vasnprintf (Files): Add m4/printf.m4.
52518         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52520 2010-04-10  Bruno Haible  <bruno@clisp.org>
52522         vasnprintf: Fix crash in %ls directive.
52523         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
52524         string is passed as argument to %ls, with no precision and no width.
52525         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52527 2010-04-10  Bruno Haible  <bruno@clisp.org>
52529         vasnprintf: Fix multiple test failures on mingw.
52530         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
52531         _snprintf, or snwprintf, not _snwprintf.
52533 2010-04-10  Bruno Haible  <bruno@clisp.org>
52535         write: Fix a C++ test error on mingw.
52536         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
52538 2010-04-10  Bruno Haible  <bruno@clisp.org>
52540         vasnprintf test: Reduce code duplication.
52541         * tests/test-vasnprintf.c (test_function): New function, extracted from
52542         test_vasnprintf.
52543         (test_vasnprintf, test_asnprintf): Invoke it.
52545 2010-04-10  Bruno Haible  <bruno@clisp.org>
52547         strnlen: Fix warning in C++ mode on MacOS X.
52548         * lib/string.in.h (strnlen): Use the modern idiom.
52549         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
52550         defining strnlen as a macro already in <config.h>.
52551         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52552         REPLACE_STRNLEN.
52553         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
52554         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52556 2010-04-08  James Youngman  <jay@gnu.org>
52558         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
52559         the example.
52561 2010-04-09  Jim Meyering  <meyering@redhat.com>
52563         maint.mk: print better diagnostic when there is no $(_hv_file)
52564         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
52565         announce that when $(_hv_file) (aka help-version) does not exist.
52567         init.sh: run tr in the "C" locale to avoid multibyte interpretation
52568         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
52569         not try to interpret its random input bytes.  Jarno Rajahalme reported
52570         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
52571         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
52572         (mktempd_): Likewise, just in case.
52574         ftruncate: add two years to projected module removal date: 2012
52575         * m4/ftruncate.m4: Adjust comments.
52577         ftruncate: mark module as obsolete; even MinGW provides it, now
52578         * modules/ftruncate (Status): Obsolete.
52579         (Notice): Say that.
52580         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
52581         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
52583 2010-04-08  Bruno Haible  <bruno@clisp.org>
52585         Fix side effects from tests-related modules.
52586         * modules/dprintf-posix (Comment): New section.
52587         * modules/fprintf-posix (Comment): Likewise.
52588         * modules/obstack-printf-posix (Comment): Likewise.
52589         * modules/printf-posix (Comment): Likewise.
52590         * modules/snprintf-posix (Comment): Likewise.
52591         * modules/sprintf-posix (Comment): Likewise.
52592         * modules/vasnprintf-posix (Comment): Likewise.
52593         * modules/vasprintf-posix (Comment): Likewise.
52594         * modules/vdprintf-posix (Comment): Likewise.
52595         * modules/vfprintf-posix (Comment): Likewise.
52596         * modules/vprintf-posix (Comment): Likewise.
52597         * modules/vsnprintf-posix (Comment): Likewise.
52598         * modules/vsprintf-posix (Comment): Likewise.
52599         * modules/xprintf-posix (Comment): Likewise.
52600         * modules/xvasprintf-posix (Comment): Likewise.
52601         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
52602         * modules/floorf-tests (Depends-on): Likewise.
52603         * modules/round-tests (Depends-on): Likewise.
52604         * modules/roundf-tests (Depends-on): Likewise.
52605         * modules/trunc-tests (Depends-on): Likewise.
52606         * modules/truncf-tests (Depends-on): Likewise.
52607         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
52608         'fprintf-posix' module is not present.
52609         * tests/test-floorf2.c (check): Likewise.
52610         * tests/test-trunc2.c (check): Likewise.
52611         * tests/test-truncf2.c (check): Likewise.
52612         * tests/test-round2.c (equal): Likewise.
52613         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
52615 2010-04-07  Karl Berry  <karl@gnu.org>
52617         * config/srclist.txt,
52618         * config/srclistvars.sh,
52619         * config/srclist-update: doc fixes.
52621 2010-04-07  Jim Meyering  <meyering@redhat.com>
52623         maint.mk: add a PATH crosschecking syntax-check rule
52624         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
52625         Useful if you use a test like the one in help-version (coreutils,
52626         diffutils, grep, gzip) that ensures $(VERSION) matches what is
52627         printed by prog --version.
52629 2010-04-06  Bruno Haible  <bruno@clisp.org>
52631         Fix link error on mingw.
52632         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
52633         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
52635 2010-04-06  Bruno Haible  <bruno@clisp.org>
52637         Assume rmdir exists.
52638         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
52640 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
52642         doc: update users.txt
52643         * users.txt: Add gcal.
52645 2010-04-06  Jim Meyering  <meyering@redhat.com>
52647         init.sh: simply unset TMPDIR rather than risking env -i
52648         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
52649         although it probably works fine on all Unix-based systems, some
52650         systems (Cygwin?) cannot tolerate a totally cleared environment.
52651         Suggestion from Eric Blake.
52653 2010-04-06  Jim Meyering  <meyering@redhat.com>
52655         init.sh: portability fix: use env's POSIX-specified -i option not -u
52656         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
52657         than unportable env -u.  Solaris 5.11's env lacks support for -u.
52659 2010-04-05  Bruno Haible  <bruno@clisp.org>
52661         btowc: Work around Cygwin 1.7.2 bug.
52662         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
52663         does not map NUL to 0.
52664         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
52666 2010-04-05  Bruno Haible  <bruno@clisp.org>
52668         Make the multithread modules work on Cygwin 1.7.2.
52669         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
52670         imported symbols can be declared weak, so that it returns "no" on
52671         Cygwin 1.7.2.
52673 2010-04-05  Bruno Haible  <bruno@clisp.org>
52675         Use the module 'strncat'.
52676         * modules/unistr/u8-strncat (Depends-on): Add strncat.
52678         Tests for module 'strncat'.
52679         * modules/strncat-tests: New file.
52680         * tests/test-strncat.c: New file.
52682         New module 'strncat'.
52683         * lib/string.in.h (strncat): New declaration.
52684         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
52685         * m4/strncat.m4: New file, based on m4/memchr.m4.
52686         * modules/strncat: New file.
52687         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
52688         is declared.
52689         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
52690         REPLACE_STRNCAT.
52691         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
52692         REPLACE_STRNCAT.
52693         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
52694         module.
52695         * tests/test-string-c++.cc: Check signature of strncat.
52697 2010-04-05  Jim Meyering  <meyering@redhat.com>
52699         xstrtoumax-tests: convert to use init.sh
52700         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
52701         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52702         Use Exit, not exit.
52703         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52705         xstrtoimax-tests: convert to use init.sh
52706         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
52707         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52708         Use Exit, not exit.
52709         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52711 2010-04-05  Bruno Haible  <bruno@clisp.org>
52713         sys_socket: Avoid #define replacements in C++ mode.
52714         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
52715         warning to the function if possible, rather than #defining the symbol
52716         to a dysfunctional alias.
52718 2010-04-05  Bruno Haible  <bruno@clisp.org>
52720         fseeko: Fix C++ test error on mingw.
52721         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
52722         gl_FUNC_FSEEKO.
52723         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
52724         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
52725         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
52726         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
52728 2010-04-05  Bruno Haible  <bruno@clisp.org>
52730         duplocale: Improve test output.
52731         * tests/test-duplocale.c (main): Print reason for skipped test.
52733 2010-04-05  Bruno Haible  <bruno@clisp.org>
52735         Assume rmdir exists.
52736         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
52737         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
52739 2010-04-05  Bruno Haible  <bruno@clisp.org>
52741         Fix link error on Solaris 8 with cc.
52742         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
52744 2010-04-05  Bruno Haible  <bruno@clisp.org>
52746         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52747         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
52749 2010-04-05  Bruno Haible  <bruno@clisp.org>
52751         vasprintf: Update documentation.
52752         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
52754 2010-04-05  Bruno Haible  <bruno@clisp.org>
52756         ptsname: Improve test.
52757         * tests/test-ptsname.c (main): Also try the various master names of BSD
52758         systems.
52760 2010-04-05  Bruno Haible  <bruno@clisp.org>
52762         memchr: Avoid a possible C++ test error.
52763         * lib/string.in.h (memchr): Provide declaration if function is missing.
52764         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
52765         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
52766         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
52767         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
52769 2010-04-05  Bruno Haible  <bruno@clisp.org>
52771         strtok_r: Improve idiom.
52772         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
52773         AC_LIBOBJ is used.
52775 2010-04-05  Bruno Haible  <bruno@clisp.org>
52777         strdup: Improve idiom.
52778         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
52779         AC_LIBOBJ is used.
52780         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
52781         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
52782         when AC_LIBOBJ is used.
52784 2010-04-05  Bruno Haible  <bruno@clisp.org>
52786         mbsinit, mbrtowc, wcrtomb: Improve idioms.
52787         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
52788         don't set REPLACE_MBSINIT to 1.
52789         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
52790         don't set REPLACE_MBRTOWC to 1.
52791         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
52792         exist, don't set REPLACE_MBSRTOWCS to 1.
52793         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
52794         exist, don't set REPLACE_MBSNRTOWCS to 1.
52795         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
52796         don't set REPLACE_WCRTOMB to 1.
52797         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
52798         exist, don't set REPLACE_WCSRTOMBS to 1.
52799         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
52800         exist, don't set REPLACE_WCSNRTOMBS to 1.
52802 2010-04-05  Bruno Haible  <bruno@clisp.org>
52804         ldexpl: Improve idiom.
52805         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
52806         make sure to set HAVE_DECL_LDEXPL to 0.
52808 2010-04-05  Jim Meyering  <meyering@redhat.com>
52810         xstrtol-tests: convert to use init.sh
52811         * modules/xstrtol-tests (Files): Add tests/init.sh.
52812         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52813         Use Exit, not exit.
52814         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52816         atexit-tests: convert to use init.sh
52817         * modules/atexit-tests (Files): Add tests/init.sh.
52818         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
52819         Use Exit, not exit.
52820         Remove uses of $EXEEXT and "./" to run a program in the current dir.
52822         init.sh: fix typo
52823         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
52825         init.sh: make it easier for a test script to write to the tty, ...
52826         when using automake's parallel-tests mode.
52827         * tests/init.sh (stderr_fileno_): Define overridable variable.
52828         (warn_): New function, to use it.
52829         (fail_, skip_, framework_failure_): Use warn_.
52831 2010-04-04  Bruno Haible  <bruno@clisp.org>
52833         btowc: Avoid warning.
52834         * lib/btowc.c: Include <stdlib.h>.
52835         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
52837 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52838             Bruno Haible  <bruno@clisp.org>
52840         wchar: Port to NetBSD 1.5.
52841         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
52842         * lib/wctype.in.h (WEOF): Likewise.
52844 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
52845             Bruno Haible  <bruno@clisp.org>
52847         Port extended stdio to NetBSD 1.5.
52848         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
52849         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
52850         older.
52852 2010-04-04  Bruno Haible  <bruno@clisp.org>
52854         string: Remove unused substitution.
52855         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52856         HAVE_DECL_STRERROR.
52857         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
52859 2010-04-04  Bruno Haible  <bruno@clisp.org>
52861         strtod: Avoid a possible C++ test error.
52862         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
52863         set REPLACE_STRTOD.
52865 2010-04-04  Bruno Haible  <bruno@clisp.org>
52867         strerror: Update documentation.
52868         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
52870 2010-04-04  Bruno Haible  <bruno@clisp.org>
52872         stdio: Fix some C++ test errors on Solaris 8 with GCC.
52873         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
52874         _GL_CXXALIAS_SYS_CAST.
52876 2010-04-04  Bruno Haible  <bruno@clisp.org>
52878         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
52879         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
52880         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
52881         REPLACE_FREXPL to 1.
52882         * doc/posix-functions/frexpl.texi: Update documentation.
52884 2010-04-04  Bruno Haible  <bruno@clisp.org>
52886         math: Fix some C++ test errors on Solaris 8 and Cygwin.
52887         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
52889 2010-04-04  Bruno Haible  <bruno@clisp.org>
52891         Implement nanosleep for native Windows.
52892         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
52894 2010-04-04  Bruno Haible  <bruno@clisp.org>
52896         math: Fix some C++ test errors on Solaris 8.
52897         * lib/math.in.h (truncf, trunc): Use simpler idiom.
52899 2010-04-04  Bruno Haible  <bruno@clisp.org>
52901         math: Fix some C++ test errors on Cygwin.
52902         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
52903         truncl): Provide declaration if the system does not have it.
52904         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
52905         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
52906         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
52907         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
52908         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
52909         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
52910         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
52911         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
52912         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
52913         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
52914         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
52915         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
52916         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
52917         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
52918         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
52919         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
52920         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
52921         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52922         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52923         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
52924         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
52925         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
52927 2010-04-04  Bruno Haible  <bruno@clisp.org>
52929         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
52930         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
52931         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
52932         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
52933         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
52934         * m4/isinf.m4 (gl_ISINF): Likewise.
52935         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
52937 2010-04-04  Bruno Haible  <bruno@clisp.org>
52939         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
52940         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
52942 2010-04-04  Bruno Haible  <bruno@clisp.org>
52944         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
52945         * modules/tmpfile (configure.ac): Update.
52947         tmpfile: Fix C++ test error on mingw.
52948         * lib/stdio.in.h (tmpfile): New declaration.
52949         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
52950         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
52951         * modules/tmpfile (Depends-on): Add stdio.
52952         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52953         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
52954         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
52955         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
52956         REPLACE_TMPFILE.
52957         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
52959 2010-04-04  Bruno Haible  <bruno@clisp.org>
52961         ioctl: Fix C++ test error on mingw.
52962         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
52963         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
52964         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
52966 2010-04-03  Bruno Haible  <bruno@clisp.org>
52968         wcwidth: Fix C++ test error on mingw.
52969         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
52970         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
52971         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
52973 2010-04-03  Bruno Haible  <bruno@clisp.org>
52975         nanosleep: Fix C++ test error on mingw.
52976         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
52977         * lib/time.in.h (nanosleep): Use modern idiom.
52978         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
52979         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
52980         REPLACE_NANOSLEEP to 1.
52981         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
52982         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
52984 2010-04-03  Bruno Haible  <bruno@clisp.org>
52986         strptime: Fix C++ test error on mingw.
52987         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
52988         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
52989         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
52990         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
52991         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
52992         not REPLACE_STRPTIME.
52993         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
52994         REPLACE_STRPTIME.
52996 2010-04-03  Bruno Haible  <bruno@clisp.org>
52998         timegm: Fix C++ test error on mingw.
52999         * lib/time.in.h (timegm): Use modern idiom.
53000         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
53001         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
53002         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
53003         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
53005 2010-04-03  Bruno Haible  <bruno@clisp.org>
53007         timegm: Assume declaration if function exists.
53008         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
53009         if it exists. Don't clobber ac_cv_func_timegm.
53011 2010-04-03  Bruno Haible  <bruno@clisp.org>
53013         time_r: Fix C++ test error on mingw.
53014         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
53015         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
53016         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
53017         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
53018         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
53020 2010-04-03  Bruno Haible  <bruno@clisp.org>
53022         time_r: Minor updates.
53023         * modules/time_r (Description): Mention the provided functions.
53024         * lib/time_r.c: Don't include <string.h>.
53025         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
53026         * doc/posix-functions/localtime_r.texi: Likewise.
53028 2010-04-03  Bruno Haible  <bruno@clisp.org>
53030         time: Fix regression introduced on 2010-03-08.
53031         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
53032         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
53034 2010-04-03  Jim Meyering  <meyering@redhat.com>
53036         maint.mk: don't silently disable project-specific syntax-check rules
53037         * top/maint.mk (_prohibit_regexp): Define, to help people realize
53038         that they need to convert their project-specific syntax-check rules
53039         to use the new _sc_search_regexp.
53041 2010-04-03  Bruno Haible  <bruno@clisp.org>
53043         fchdir: Fix regression introduced on 2010-03-08.
53044         * lib/unistd.in.h (fchdir): Fix declaration.
53045         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
53046         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
53047         REPLACE_FCHDIR.
53048         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
53049         REPLACE_FCHDIR.
53051 2010-04-03  Bruno Haible  <bruno@clisp.org>
53053         getpagesize: Fix C++ test error on mingw.
53054         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
53055         system does not declare the function.
53056         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
53057         declared.
53058         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53059         HAVE_DECL_GETPAGESIZE.
53060         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
53062 2010-04-03  Bruno Haible  <bruno@clisp.org>
53064         stdio: Make C++ tests work on mingw.
53065         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
53066         does not declare the function.
53068 2010-04-03  Bruno Haible  <bruno@clisp.org>
53070         ftello: Fix C++ test error on mingw.
53071         * lib/stdio.in.h (ftello): Use modern idiom.
53072         * lib/ftello.c (ftello): Renamed from rpl_ftello.
53073         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
53074         is missing and that it needs to be replaced.
53075         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
53076         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
53077         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
53079 2010-04-03  Bruno Haible  <bruno@clisp.org>
53081         fseeko: Fix C++ test error on mingw.
53082         * lib/stdio.in.h (fseeko): Use modern idiom.
53083         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
53084         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
53085         is missing and that it needs to be replaced.
53086         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
53087         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
53088         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
53090 2010-04-03  Bruno Haible  <bruno@clisp.org>
53092         mkstemp: Fix C++ test error on mingw.
53093         * lib/stdlib.in.h (mkstemp): Use modern idiom.
53094         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
53095         function is missing and that it needs to be replaced.
53096         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
53097         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
53099 2010-04-03  Bruno Haible  <bruno@clisp.org>
53101         stpncpy: Fix C++ test error on mingw.
53102         * lib/string.in.h (stpncpy): Use modern idiom.
53103         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
53104         function is missing and that it needs to be replaced.
53105         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53106         REPLACE_STPNCPY.
53107         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
53109 2010-04-03  Bruno Haible  <bruno@clisp.org>
53111         sys_stat: Fix C++ test error on mingw.
53112         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
53113         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
53115 2010-04-03  Bruno Haible  <bruno@clisp.org>
53117         pty: Update doc.
53118         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
53120 2010-04-03  Bruno Haible  <bruno@clisp.org>
53122         unistd: Fix C++ test error on mingw.
53123         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
53125 2010-04-03  Bruno Haible  <bruno@clisp.org>
53127         Update doc regarding mingw.
53128         * doc/glibc-functions/openpty.texi: Update regarding mingw.
53129         * doc/glibc-functions/login_tty.texi: Likewise.
53130         * doc/glibc-functions/forkpty.texi: Likewise.
53132 2010-04-03  Bruno Haible  <bruno@clisp.org>
53134         stdlib: Avoid compilation failure of c-strtold on mingw.
53135         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
53137 2010-04-03  Bruno Haible  <bruno@clisp.org>
53139         locale: Make C++ tests work on Cygwin and mingw.
53140         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
53141         cannot provide the function.
53142         Reported by Simon Josefsson.
53144 2010-04-03  Bruno Haible  <bruno@clisp.org>
53146         localename: Port to MacOS X 10.6.
53147         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
53148         memory layout of the locales in MacOS X 10.6 as well.
53149         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
53151 2010-04-02  Bruno Haible  <bruno@clisp.org>
53153         gnulib-tool: Ensure that long-running tests are executed last.
53154         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
53155         running tests after the one for the other tests.
53157 2010-04-02  Bruno Haible  <bruno@clisp.org>
53159         gnulib-tool: Ensure the tests in the main directory are executed first.
53160         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
53161         start with the current directory.
53163 2010-04-02  Bruno Haible  <bruno@clisp.org>
53165         Tests for module 'havelib', moved here from GNU gettext.
53166         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
53167         modifications.
53168         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
53169         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
53170         with modifications.
53171         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
53172         modifications.
53173         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
53174         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
53175         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
53176         with modifications.
53177         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
53178         with modifications.
53179         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
53180         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
53181         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
53182         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
53183         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
53184         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
53185         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
53186         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
53187         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
53188         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
53189         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
53190         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
53191         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
53192         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
53193         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
53194         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
53195         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
53196         with modifications.
53197         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
53198         with modifications.
53199         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
53200         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
53201         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
53202         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
53203         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
53204         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
53205         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
53206         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
53207         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
53208         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
53209         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
53210         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
53211         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
53212         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
53213         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
53214         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
53215         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
53216         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
53217         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
53218         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
53219         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
53220         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
53221         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
53222         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
53223         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
53224         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
53225         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
53226         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
53227         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
53228         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
53229         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
53230         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
53231         * tests/havelib/rpathx/rpathx.c: New file, from
53232         gettext/autoconf-lib-link.
53233         * tests/havelib/rpathx/Makefile.am: New file, from
53234         gettext/autoconf-lib-link.
53235         * tests/havelib/rpathx/configure.ac: New file, from
53236         gettext/autoconf-lib-link with modifications.
53237         * tests/havelib/rpathy/rpathy.c: New file, from
53238         gettext/autoconf-lib-link.
53239         * tests/havelib/rpathy/Makefile.am: New file, from
53240         gettext/autoconf-lib-link.
53241         * tests/havelib/rpathy/configure.ac: New file, from
53242         gettext/autoconf-lib-link with modifications.
53243         * tests/havelib/rpathz/rpathz.c: New file, from
53244         gettext/autoconf-lib-link.
53245         * tests/havelib/rpathz/Makefile.am: New file, from
53246         gettext/autoconf-lib-link.
53247         * tests/havelib/rpathz/configure.ac: New file, from
53248         gettext/autoconf-lib-link with modifications.
53249         * tests/havelib/rpathlx/usex.c: New file, from
53250         gettext/autoconf-lib-link.
53251         * tests/havelib/rpathlx/Makefile.am: New file, from
53252         gettext/autoconf-lib-link.
53253         * tests/havelib/rpathlx/configure.ac: New file, from
53254         gettext/autoconf-lib-link with modifications.
53255         * tests/havelib/rpathly/usey.c: New file, from
53256         gettext/autoconf-lib-link.
53257         * tests/havelib/rpathly/Makefile.am: New file, from
53258         gettext/autoconf-lib-link.
53259         * tests/havelib/rpathly/configure.ac: New file, from
53260         gettext/autoconf-lib-link with modifications.
53261         * tests/havelib/rpathlz/usez.c: New file, from
53262         gettext/autoconf-lib-link.
53263         * tests/havelib/rpathlz/Makefile.am: New file, from
53264         gettext/autoconf-lib-link.
53265         * tests/havelib/rpathlz/configure.ac: New file, from
53266         gettext/autoconf-lib-link with modifications.
53267         * tests/havelib/rpathlyx/usey.c: New file, from
53268         gettext/autoconf-lib-link.
53269         * tests/havelib/rpathlyx/Makefile.am: New file, from
53270         gettext/autoconf-lib-link.
53271         * tests/havelib/rpathlyx/configure.ac: New file, from
53272         gettext/autoconf-lib-link with modifications.
53273         * tests/havelib/rpathlzyx/usez.c: New file, from
53274         gettext/autoconf-lib-link.
53275         * tests/havelib/rpathlzyx/Makefile.am: New file, from
53276         gettext/autoconf-lib-link.
53277         * tests/havelib/rpathlzyx/configure.ac: New file, from
53278         gettext/autoconf-lib-link with modifications.
53279         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
53280         with modifications.
53282 2010-04-02  Bruno Haible  <bruno@clisp.org>
53284         gnulib-tool: Create distributed built sources also for the tests.
53285         * gnulib-tool (func_create_testdir): Also generate distributed built
53286         sources in the tests directory.
53288 2010-04-02  Bruno Haible  <bruno@clisp.org>
53290         gnulib-tool: Obey user's environment variables.
53291         * gnulib-tool (func_create_testdir): When creating built sources,
53292         respect the environment variables for autoconf, automake, etc. given by
53293         the user.
53295 2010-04-02  Bruno Haible  <bruno@clisp.org>
53297         gnulib-tool: Provide the value of --m4-base to modules.
53298         * gnulib-tool (func_import, func_create_testdir): Emit a definition
53299         of gl_m4_base.
53301 2010-04-02  Eric Blake  <eblake@redhat.com>
53303         maint.mk: fix some fallout
53304         * NEWS: Document the incompatible change, and its effect on cfg.mk.
53305         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
53307 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53309         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
53310         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
53311         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
53312         (sc_cast_of_x_alloc_return_value): Likewise.
53313         (sc_cast_of_alloca_return_value): Likewise.
53314         (sc_space_tab): Likewise.
53315         (sc_prohibit_atoi_atof): Likewise.
53316         (sc_prohibit_magic_number_exit): Likewise.
53317         (sc_error_exit_success): Likewise.
53318         (sc_file_system): Likewise.
53319         (sc_prohibit_have_config_h): Likewise.
53320         (sc_require_config_h): Likewise.
53321         (sc_prohibit_HAVE_MBRTOWC): Likewise.
53322         (sc_obsolete_symbols): Likewise.
53323         (sc_changelog): Likewise.
53324         (sc_program_name): Likewise.
53325         (sc_the_the): Likewise.
53326         (sc_trailing_blank): Likewise.
53327         (sc_two_space_separator_in_usage): Likewise.
53328         (sc_useless_cpp_parens): Likewise.
53329         (sc_GPL_version): Likewise.
53330         (sc_GFDL_version): Likewise.
53331         (sc_texinfo_acronym): Likewise.
53332         (sc_prohibit_cvs_keyword): Likewise.
53333         (sc_prohibit_stat_st_blocks): Likewise.
53334         (sc_prohibit_S_IS_definition): Likewise.
53335         (sc_redundant_const): Likewise.
53336         (sc_makefile_TAB_only_indentation): Likewise.
53337         (sc_m4_quote_check): Likewise.
53338         (sc_makefile_path_separator_check): Likewise.
53339         (sc_copyright_check): Likewise.
53340         (sc_Wundef_boolean): Likewise.
53341         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
53343         maint.mk: match 0 or more whitespace-before-function-call '('
53344         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
53345         that have zero or two-and-more spaces between the function name
53346         and the open parenthesis.
53347         (sc_error_message_warn_fatal): Likewise.
53348         (sc_error_message_uppercase): Likewise.
53349         (sc_error_message_period): Likewise.
53351 2010-03-31  Eric Blake  <eblake@redhat.com>
53353         maint.mk: check for [ as well as test
53354         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
53355         Based on a libvirt report by Matthias Bolte.
53357         gnumakefile: don't squelch _version output
53358         * top/GNUmakefile (_version): Create one-shot dependency rather
53359         than using $(shell) when version must be regenerated.
53360         (_autoreconf): Run verbosely, by default.
53362         sys_time: avoid compiler warnings
53363         * lib/sys_time.in.h (includes): Ensure gcc pragma is
53364         unconditional, fixing regression from 2010-03-29.
53365         Reported by Simon Josefsson.
53367 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
53369         maint.mk: s/_header_without_use/_sc_header_without_use/
53370         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
53371         (sc_prohibit_assert_without_use): Use the new name.
53372         (sc_prohibit_close_stream_without_use): Likewise.
53373         (sc_prohibit_getopt_without_use): Likewise.
53374         (sc_prohibit_quotearg_without_use): Likewise.
53375         (sc_prohibit_quote_without_use): Likewise.
53376         (sc_prohibit_long_options_without_use): Likewise.
53377         (sc_prohibit_inttostr_without_use): Likewise.
53378         (sc_prohibit_ignore_value_without_use): Likewise.
53379         (sc_prohibit_error_without_use): Likewise.
53380         (sc_prohibit_xalloc_without_use): Likewise.
53381         (sc_prohibit_hash_without_use): Likewise.
53382         (sc_prohibit_hash_pjw_without_use): Likewise.
53383         (sc_prohibit_safe_read_without_use): Likewise.
53384         (sc_prohibit_argmatch_without_use): Likewise.
53385         (sc_prohibit_canonicalize_without_use): Likewise.
53386         (sc_prohibit_root_dev_ino_without_use): Likewise.
53387         (sc_prohibit_openat_without_use): Likewise.
53388         (sc_prohibit_c_ctype_without_use): Likewise.
53389         (sc_prohibit_signal_without_use): Likewise.
53390         (sc_prohibit_intprops_without_use): Likewise.
53392 2010-03-30  Eric Blake  <eblake@redhat.com>
53394         maint: improve module indicators
53395         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
53396         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
53397         columns, and avoid extra macro expansion.
53399         fdopendir: work around FreeBSD bug
53400         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
53401         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
53402         * modules/dirent (Makefile.am): Substitute it.
53403         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
53404         declaration.
53405         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
53406         fix.
53407         Reported by Christian Weisgerber <naddy@mips.inka.de>.
53409 2010-03-29  Bruno Haible  <bruno@clisp.org>
53411         Emit #pragma system_header after the inclusion guard, not before.
53412         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
53413         guard that spans the entire file, not before. This enables an
53414         optimization in GCC's preprocessor.
53415         * lib/ctype.in.h: Likewise.
53416         * lib/dirent.in.h: Likewise.
53417         * lib/errno.in.h: Likewise.
53418         * lib/float.in.h: Likewise.
53419         * lib/getopt.in.h: Likewise.
53420         * lib/iconv.in.h: Likewise.
53421         * lib/langinfo.in.h: Likewise.
53422         * lib/locale.in.h: Likewise.
53423         * lib/math.in.h: Likewise.
53424         * lib/netdb.in.h: Likewise.
53425         * lib/netinet_in.in.h: Likewise.
53426         * lib/pty.in.h: Likewise.
53427         * lib/sched.in.h: Likewise.
53428         * lib/se-selinux.in.h: Likewise.
53429         * lib/search.in.h: Likewise.
53430         * lib/spawn.in.h: Likewise.
53431         * lib/stdarg.in.h: Likewise.
53432         * lib/stdint.in.h: Likewise.
53433         * lib/string.in.h: Likewise.
53434         * lib/strings.in.h: Likewise.
53435         * lib/sys_file.in.h: Likewise.
53436         * lib/sys_ioctl.in.h: Likewise.
53437         * lib/sys_time.in.h: Likewise.
53438         * lib/sys_times.in.h: Likewise.
53439         * lib/sys_utsname.in.h: Likewise.
53440         * lib/sys_wait.in.h: Likewise.
53441         * lib/sysexits.in.h: Likewise.
53442         * lib/wctype.in.h: Likewise.
53444 2010-03-28  James Youngman  <jay@gnu.org>
53446         save-cwd: don't leak a file descriptor when the caller execs.
53447         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
53448         saved file descriptor.
53449         * modules/save-cwd (Depends-on): Depend on cloexec.
53451 2010-03-29  Bruno Haible  <bruno@clisp.org>
53453         Remove vestiges of fts-lgpl module.
53454         * lib/fts_.h: Assume GNULIB_FTS is 1.
53455         * lib/fts.c: Likewise.
53456         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53458 2010-03-28  Bruno Haible  <bruno@clisp.org>
53460         Fix definition of tests witness macro.
53461         * gnulib-tool (func_import): Fix definition of witness macro.
53463 2010-03-28  Bruno Haible  <bruno@clisp.org>
53465         Fix ioctl's protoype on glibc systems.
53466         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
53467         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
53468         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
53469         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
53470         signature. If not, arrange to replace the ioctl function.
53471         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
53472         REPLACE_IOCTL.
53473         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
53474         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
53475         Reported by Ludovic Courtès <ludo@gnu.org>.
53477 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
53479         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
53480         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
53481         made it so grep -r --include=GLOB* ... did not work.
53483 2010-03-26  Jim Meyering  <meyering@redhat.com>
53484             Eric Blake  <eblake@redhat.com>
53486         maint.mk: prohibit use of test's -o and -a operators
53487         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
53489 2010-03-28  Bruno Haible  <bruno@clisp.org>
53491         Remove unused GNULIB_XYZ macro definitions.
53492         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
53493         invocation.
53495 2010-03-28  Bruno Haible  <bruno@clisp.org>
53497         Mark privileged tests modules.
53498         * modules/idpriv-drop-tests (Status): New section.
53499         * modules/idpriv-droptemp-tests (Status): New section.
53501 2010-03-28  Bruno Haible  <bruno@clisp.org>
53503         Split C++ tests into separate tests modules.
53504         * modules/dirent-c++-tests: New file, extracted from
53505         modules/dirent-tests.
53506         * modules/dirent-tests: Depend on it.
53507         * modules/fcntl-h-c++-tests: New file, extracted from
53508         modules/fcntl-h-tests.
53509         * modules/fcntl-h-tests: Depend on it.
53510         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
53511         * modules/glob-tests: Depend on it.
53512         * modules/iconv-h-c++-tests: New file, extracted from
53513         modules/iconv-h-tests.
53514         * modules/iconv-h-tests: Depend on it.
53515         * modules/langinfo-c++-tests: New file, extracted from
53516         modules/langinfo-tests.
53517         * modules/langinfo-tests: Depend on it.
53518         * modules/locale-c++-tests: New file, extracted from
53519         modules/locale-tests.
53520         * modules/locale-tests: Depend on it.
53521         * modules/math-c++-tests: New file, extracted from modules/math-tests.
53522         * modules/math-tests: Depend on it.
53523         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
53524         * modules/pty-tests: Depend on it.
53525         * modules/search-c++-tests: New file, extracted from
53526         modules/search-tests.
53527         * modules/search-tests: Depend on it.
53528         * modules/signal-c++-tests: New file, extracted from
53529         modules/signal-tests.
53530         * modules/signal-tests: Depend on it.
53531         * modules/spawn-c++-tests: New file, extracted from
53532         modules/spawn-tests.
53533         * modules/spawn-tests: Depend on it.
53534         * modules/stdio-c++-tests: New file, extracted from
53535         modules/stdio-tests.
53536         * modules/stdio-tests: Depend on it.
53537         * modules/stdlib-c++-tests: New file, extracted from
53538         modules/stdlib-tests.
53539         * modules/stdlib-tests: Depend on it.
53540         * modules/string-c++-tests: New file, extracted from
53541         modules/string-tests.
53542         * modules/string-tests: Depend on it.
53543         * modules/sys_ioctl-c++-tests: New file, extracted from
53544         modules/sys_ioctl-tests.
53545         * modules/sys_ioctl-tests: Depend on it.
53546         * modules/sys_select-c++-tests: New file, extracted from
53547         modules/sys_select-tests.
53548         * modules/sys_select-tests: Depend on it.
53549         * modules/sys_socket-c++-tests: New file, extracted from
53550         modules/sys_socket-tests.
53551         * modules/sys_socket-tests: Depend on it.
53552         * modules/sys_stat-c++-tests: New file, extracted from
53553         modules/sys_stat-tests.
53554         * modules/sys_stat-tests: Depend on it.
53555         * modules/sys_time-c++-tests: New file, extracted from
53556         modules/sys_time-tests.
53557         * modules/sys_time-tests: Depend on it.
53558         * modules/time-c++-tests: New file, extracted from modules/time-tests.
53559         * modules/time-tests: Depend on it.
53560         * modules/unistd-c++-tests: New file, extracted from
53561         modules/unistd-tests.
53562         * modules/unistd-tests: Depend on it.
53563         * modules/wchar-c++-tests: New file, extracted from
53564         modules/wchar-tests.
53565         * modules/wchar-tests: Depend on it.
53566         * modules/wctype-c++-tests: New file, extracted from
53567         modules/wctype-tests.
53568         * modules/wctype-tests: Depend on it.
53569         Reported by Simon Josefsson.
53571 2010-03-28  Bruno Haible  <bruno@clisp.org>
53573         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
53574         * gnulib-tool (func_exists_module): New function, extracted from
53575         func_verify_module.
53576         (func_verify_module): Use it.
53577         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
53578         'foo' only if 'foo' exists.
53579         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
53580         module.
53582 2010-03-28  Bruno Haible  <bruno@clisp.org>
53584         gnulib-tool: Add support for special categories of tests.
53585         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
53586         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
53587         (func_usage): Document them.
53588         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
53589         inc_unportable_tests, inc_all_tests): New variables.
53590         (func_acceptable): Consider these variables.
53591         (func_modules_transitive_closure): Make it work when the 'Status' field
53592         consists of multiple words.
53593         (func_import): Store and restore the values of inc_cxx_tests,
53594         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
53595         inc_all_tests in gnulib-comp.m4.
53596         (func_create_testdir): Set inc_all_tests to true.
53597         * doc/gnulib.texi (Extra tests modules): New section.
53598         Suggested by Jim Meyering.
53600 2010-03-28  Bruno Haible  <bruno@clisp.org>
53602         ansi-c++-opt: Allow turning off the C++ build by default.
53603         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
53604         gl_CXX_CHOICE_DEFAULT_NO is defined.
53605         Requested by Eric Blake.
53607 2010-03-28  Bruno Haible  <bruno@clisp.org>
53609         unistd: Avoid #define replacements in C++ mode.
53610         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
53611         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
53612         setsockopt, shutdown, select): In C++, attach a warning to the function
53613         if possible, rather than #defining the symbol to a dysfunctional alias.
53614         Reported by John W. Eaton <jwe@gnu.org>.
53616 2010-03-28  Bruno Haible  <bruno@clisp.org>
53618         Fix link errors on mingw.
53619         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
53620         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
53621         $(LIBSOCKET).
53622         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
53623         $(LIBSOCKET).
53625 2010-03-28  Bruno Haible  <bruno@clisp.org>
53626             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53628         lib-ignore: Determine different options for different compilers.
53629         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
53630         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
53631         Add comments.
53632         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
53633         * NEWS: Mention the change.
53635 2010-03-27  Bruno Haible  <bruno@clisp.org>
53637         Remove unused GNULIB_XYZ macro definitions.
53638         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
53639         * modules/fseek (configure.ac): Likewise.
53640         * modules/ioctl (configure.ac): Likewise.
53641         * modules/open (configure.ac): Likewise.
53642         * modules/stdlib-safer (configure.ac): Likewise.
53644 2010-03-27  Bruno Haible  <bruno@clisp.org>
53646         Add a remark about certain modules.
53647         * modules/malloc (Comment): New section.
53648         * modules/realloc (Comment): Likewise.
53649         * modules/sigpipe (Comment): Likewise.
53651 2010-03-27  Bruno Haible  <bruno@clisp.org>
53653         Resolve conflict between the two kinds of module indicators.
53654         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
53655         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
53656         * modules/canonicalize (configure.ac): Invoke
53657         gl_MODULE_INDICATOR_FOR_TESTS.
53658         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
53659         GNULIB_XYZ.
53660         * tests/test-dirent-c++.cc: Likewise.
53661         * tests/test-dirent-safer.c: Likewise.
53662         * tests/test-dup2.c: Likewise.
53663         * tests/test-fchdir.c: Likewise.
53664         * tests/test-fcntl-h-c++.cc: Likewise.
53665         * tests/test-getopt.c: Likewise.
53666         * tests/test-getopt.h: Likewise.
53667         * tests/test-langinfo-c++.cc: Likewise.
53668         * tests/test-locale-c++.cc: Likewise.
53669         * tests/test-math-c++.cc: Likewise.
53670         * tests/test-pty-c++.cc: Likewise.
53671         * tests/test-search-c++.cc: Likewise.
53672         * tests/test-signal-c++.cc: Likewise.
53673         * tests/test-spawn-c++.cc: Likewise.
53674         * tests/test-stdio-c++.cc: Likewise.
53675         * tests/test-stdlib-c++.cc: Likewise.
53676         * tests/test-string-c++.cc: Likewise.
53677         * tests/test-sys_ioctl-c++.cc: Likewise.
53678         * tests/test-sys_select-c++.cc: Likewise.
53679         * tests/test-sys_socket-c++.cc: Likewise.
53680         * tests/test-sys_stat-c++.cc: Likewise.
53681         * tests/test-sys_time-c++.cc: Likewise.
53682         * tests/test-time-c++.cc: Likewise.
53683         * tests/test-unistd-c++.cc: Likewise.
53684         * tests/test-wchar-c++.cc: Likewise.
53685         * tests/uninorm/test-u8-nfc.c: Likewise.
53686         * tests/uninorm/test-u8-nfd.c: Likewise.
53687         * tests/uninorm/test-u8-nfkc.c: Likewise.
53688         * tests/uninorm/test-u8-nfkd.c: Likewise.
53689         * tests/uninorm/test-u16-nfc.c: Likewise.
53690         * tests/uninorm/test-u16-nfd.c: Likewise.
53691         * tests/uninorm/test-u16-nfkc.c: Likewise.
53692         * tests/uninorm/test-u16-nfkd.c: Likewise.
53693         * tests/uninorm/test-u32-nfc.c: Likewise.
53694         * tests/uninorm/test-u32-nfc-big.c: Likewise.
53695         * tests/uninorm/test-u32-nfd.c: Likewise.
53696         * tests/uninorm/test-u32-nfd-big.c: Likewise.
53697         * tests/uninorm/test-u32-nfkc.c: Likewise.
53698         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
53699         * tests/uninorm/test-u32-nfkd.c: Likewise.
53700         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
53701         * tests/uninorm/test-u32-normalize-big.c: Likewise.
53703 2010-03-27  Bruno Haible  <bruno@clisp.org>
53705         Distinguish two kinds of module indicators.
53706         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
53707         gl_MODULE_INDICATOR.
53708         (gl_MODULE_INDICATOR): New macro.
53709         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
53710         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
53711         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53712         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53713         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53714         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53715         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53716         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53717         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53718         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53719         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53720         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53721         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53722         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53723         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53724         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53725         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53726         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53727         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53728         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53729         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53730         * modules/cloexec (configure.ac): Likewise.
53731         * modules/getopt-gnu (configure.ac): Likewise.
53732         * modules/uninorm/u8-normalize (configure.ac): Likewise.
53733         * modules/uninorm/u16-normalize (configure.ac): Likewise.
53734         * modules/uninorm/u32-normalize (configure.ac): Likewise.
53735         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
53737 2010-03-27  Bruno Haible  <bruno@clisp.org>
53739         New module description field 'Comment'.
53740         * gnulib-tool: New option --extract-comment.
53741         (func_usage): Document it.
53742         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
53743         (func_get_comment): New function.
53744         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
53746 2010-03-27  Bruno Haible  <bruno@clisp.org>
53748         Addendum to 2010-02-07 commit.
53749         * gnulib-tool (func_usage): Document --extract-applicability option.
53751 2010-03-27  Bruno Haible  <bruno@clisp.org>
53753         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
53754         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
53755         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
53756         rather than link errors.
53758 2010-03-27  Bruno Haible  <bruno@clisp.org>
53760         Avoid side effects from tests-related modules on the compilation of lib.
53761         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
53762         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
53763         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
53764         parameter. Emit into AM_CPPFLAGS a definition of the designated C
53765         macro.
53766         (func_import): Define a witness macro. Assign it a value that depends
53767         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
53768         tests-related modules.
53769         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
53770         Reported by Jim Meyering.
53772 2010-03-27  Bruno Haible  <bruno@clisp.org>
53774         Factorize common .m4 code.
53775         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
53776         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
53777         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
53778         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
53779         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
53780         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
53781         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
53782         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
53783         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
53784         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
53785         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
53786         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
53787         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
53788         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
53789         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
53790         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
53791         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
53792         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
53793         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
53794         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
53795         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
53796         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
53797         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
53798         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
53799         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
53800         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
53801         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
53802         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
53803         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
53804         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
53805         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
53806         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
53808 2010-03-27  Bruno Haible  <bruno@clisp.org>
53810         Fix a compilation error on Cygwin with g++ >= 4.3.
53811         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
53812         if it is undefined or if we alias it to chmod.
53813         (lstat): Don't warn about the use of this function if it is undefined
53814         or if we alias it to stat.
53815         Reported by Simon Josefsson.
53817 2010-03-27  Bruno Haible  <bruno@clisp.org>
53819         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
53820         * modules/getlogin (configure.ac): Update.
53822         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
53823         * modules/getlogin_r (configure.ac): Update.
53825         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
53826         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
53827         * modules/inet_ntop (configure.ac): Update.
53829         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
53830         * modules/inet_pton (configure.ac): Update.
53832         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
53833         * modules/mbslen (configure.ac): Update.
53835         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
53836         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
53837         * modules/forkpty (configure.ac): Update.
53838         * modules/openpty (configure.ac): Update.
53840 2010-03-26  Simon Josefsson  <simon@josefsson.org>
53842         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
53843         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
53845 2010-03-25  Eric Blake  <eblake@redhat.com>
53847         maint: use pragma consistently across replacement headers
53848         * lib/ctype.in.h (system_header): Hoist for consistent placement.
53849         * lib/dirent.in.h (system_header): Likewise.
53850         * lib/errno.in.h (system_header): Likewise.
53851         * lib/float.in.h (system_header): Likewise.
53852         * lib/getopt.in.h (system_header): Likewise.
53853         * lib/iconv.in.h (system_header): Likewise.
53854         * lib/inttypes.in.h (system_header): Likewise.
53855         * lib/langinfo.in.h (system_header): Likewise.
53856         * lib/locale.in.h (system_header): Likewise.
53857         * lib/math.in.h (system_header): Likewise.
53858         * lib/netdb.in.h (system_header): Likewise.
53859         * lib/netinet_in.in.h (system_header): Likewise.
53860         * lib/pty.in.h (system_header): Likewise.
53861         * lib/sched.in.h (system_header): Likewise.
53862         * lib/se-selinux.in.h (system_header): Likewise.
53863         * lib/search.in.h (system_header): Likewise.
53864         * lib/spawn.in.h (system_header): Likewise.
53865         * lib/stdarg.in.h (system_header): Likewise.
53866         * lib/stdint.in.h (system_header): Likewise.
53867         * lib/string.in.h (system_header): Likewise.
53868         * lib/strings.in.h (system_header): Likewise.
53869         * lib/sys_file.in.h (system_header): Likewise.
53870         * lib/sys_ioctl.in.h (system_header): Likewise.
53871         * lib/sys_socket.in.h (system_header): Likewise.
53872         * lib/sys_times.in.h (system_header): Likewise.
53873         * lib/sys_utsname.in.h (system_header): Likewise.
53874         * lib/sys_wait.in.h (system_header): Likewise.
53875         * lib/sysexits.in.h (system_header): Likewise.
53876         * lib/unistd.in.h (system_header): Likewise.
53877         * lib/wctype.in.h (system_header): Likewise.
53879         arpa/inet: fix mingw compilation warning
53880         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
53881         Reported by Matthew Bolte.
53883 2010-03-25  Bruno Haible  <bruno@clisp.org>
53885         Avoid collision between gnulib wrapper and libintl wrapper.
53886         * lib/printf.c (printf): Don't define if a printf wrapper is already
53887         defined in intl/printf.c.
53888         Reported by Michel Boaventura <michel@michelboaventura.com>.
53890 2010-03-25  Bruno Haible  <bruno@clisp.org>
53892         Use ANSI C.
53893         * lib/readutmp.h (getutent): Provide ANSI C prototype.
53895 2010-03-25  Bruno Haible  <bruno@clisp.org>
53897         Minor formatting changes.
53898         * lib/acosl.c: Insert space before function argument list.
53899         * lib/argz.c: Likewise.
53900         * lib/asinl.c: Likewise.
53901         * lib/expl.c: Likewise.
53902         * lib/gen-uni-tables.c: Likewise.
53903         * lib/gettext.h: Likewise.
53904         * lib/glthread/lock.h: Likewise.
53905         * lib/tanl.c: Likewise.
53906         * lib/uniname/uniname.c: Likewise.
53907         * tests/test-idpriv-drop.c: Likewise.
53908         * tests/test-idpriv-droptemp.c: Likewise.
53909         * tests/test-lock.c: Likewise.
53910         * tests/test-tls.c: Likewise.
53911         * lib/argp-help.c: Insert space before function-like macro argument
53912         list.
53913         * lib/memcmp.c: Likewise.
53914         * tests/test-base64.c: Likewise.
53915         * lib/localename.c: Insert space before sizeof's argument list.
53916         * lib/safe-alloc.h: Likewise.
53917         * lib/file-set.h: Insert space before macro argument list.
53918         * tests/test-argp.c: Likewise.
53919         * lib/argp-namefrob.h: Insert space before function parameter list.
53920         * lib/getaddrinfo.c: Likewise.
53921         * lib/netdb.in.h: Likewise.
53922         * lib/parse-duration.h: Likewise.
53923         * lib/parse-duration.c: Likewise.
53924         * lib/poll.c: Likewise.
53925         * lib/select.c: Likewise.
53926         * lib/trim.h: Likewise.
53927         * tests/test-usleep.c: Likewise.
53928         * lib/ldexpl.c: Insert space before function parameter list and before
53929         function argument list.
53930         * lib/logl.c: Likewise.
53931         * lib/sqrtl.c: Likewise.
53932         * lib/trim.c: Likewise.
53933         * lib/cosl.c: Use GNU style indentation. Insert space before function
53934         argument list.
53935         * lib/sinl.c: Likewise.
53936         * lib/tsearch.c: Insert space after 'for'.
53937         Reported by Jim Meyering.
53939 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
53941         * maint.mk (sc_Wundef_boolean): Check for the presence of the
53942         config header before grepping, as it's not present before
53943         autoreconf/configure are run.  Reported by Simon Josefsson.
53945 2010-03-23  Bruno Haible  <bruno@clisp.org>
53947         pt_chown: Make it work with automake < 1.11.
53948         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
53949         Reported by Simon Josefsson.
53951 2010-03-23  Bruno Haible  <bruno@clisp.org>
53953         pt_chown: Don't depend on GPLed modules.
53954         * lib/pt_chown.c: Don't include idpriv.h.
53955         (main): Don't drop privileges.
53956         * modules/pt_chown (Depends-on): Remove idpriv-drop.
53957         Reported by Simon Josefsson.
53959 2010-03-24  Simon Josefsson  <simon@josefsson.org>
53961         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
53962         suggestions from karl@freefriends.org (Karl Berry).
53964 2010-03-22  Eric Blake  <eblake@redhat.com>
53966         gethostname: further tweaks
53967         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
53968         are overriding gethostname.
53969         Suggested by Bruno Haible.
53971 2010-03-21  Bruno Haible  <bruno@clisp.org>
53973         Fix comments.
53974         * lib/forkpty.c (rpl_forkpty): Fix comment.
53975         * lib/openpty.c (rpl_openpty): Likewise.
53976         Reported by Eric Blake.
53978 2010-03-22  Eric Blake  <eblake@redhat.com>
53980         gethostname: fix build on mingw
53981         * lib/unistd.in.h (includes): Work around fact that mingw
53982         <winsock2.h> re-includes <unistd.h>, by avoiding any
53983         redeclarations if we are being included by <winsock2.h>.
53984         Reported by Matthias Bolte.
53986 2010-03-21  Bruno Haible  <bruno@clisp.org>
53988         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
53989         * lib/forkpty.c (forkpty): New replacement function, from glibc with
53990         modifications.
53991         * lib/pty.in.h (forkpty): Update declaration. Add comments.
53992         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
53993         provide the replacement.
53994         * modules/forkpty (Depends-on): Add openpty, login_tty.
53995         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
53996         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
53997         * doc/glibc-functions/forkpty.texi: More supported platforms.
53998         * config/srclist.txt: Add forkpty.c (commented).
54000 2010-03-21  Bruno Haible  <bruno@clisp.org>
54002         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
54003         (Makefile.am): Verify that PTY_LIB is defined.
54005         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
54007 2010-03-21  Bruno Haible  <bruno@clisp.org>
54009         Tests for module 'login_tty'.
54010         * modules/login_tty-tests: New file.
54011         * tests/test-login_tty.c: New file.
54013         New module 'login_tty'.
54014         * lib/login_tty.c: New file.
54015         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
54016         * modules/login_tty: New file.
54017         * doc/glibc-functions/login_tty.texi: Mention the new module.
54019 2010-03-21  Bruno Haible  <bruno@clisp.org>
54021         login_tty: Documentation.
54022         * doc/glibc-functions/login_tty.texi: New file.
54023         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
54025 2010-03-21  Bruno Haible  <bruno@clisp.org>
54027         pty: Consistent macro naming.
54028         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
54029         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
54030         * modules/pty (configure.ac): Update.
54032 2010-03-21  Bruno Haible  <bruno@clisp.org>
54034         Tests for openpty: Make stricter.
54035         * tests/test-openpty.c (main): Add test of canonical processing and
54036         erase.
54037         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
54039         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
54040         * lib/openpty.c (openpty): New replacement function.
54041         * lib/pty.in.h: Include <termios.h>.
54042         (openpty): Update declaration. Add comments.
54043         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
54044         is not declared, arrange to provide the replacement. Check for _getpty
54045         and posix_openpt.
54046         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
54047         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
54048         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
54049         * modules/pty-tests (test_pty_c___LDADD): New variable.
54050         * doc/glibc-functions/openpty.texi: More supported platforms.
54052 2010-03-21  Bruno Haible  <bruno@clisp.org>
54054         setenv: Tweaks.
54055         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
54056         the test program.
54057         * doc/posix-functions/setenv.texi: Update platforms list.
54059 2010-03-21  Bruno Haible  <bruno@clisp.org>
54061         New module 'unlockpt'.
54062         * lib/unlockpt.c: New file, from glibc with modifications.
54063         * m4/unlockpt.m4: New file.
54064         * modules/unlockpt: New file.
54065         * lib/stdlib.in.h (unlockpt): New declaration.
54066         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
54067         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
54068         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
54069         HAVE_UNLOCKPT.
54070         * doc/posix-functions/unlockpt.texi: Mention the new module.
54071         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
54072         * config/srclist.txt: Add unlockpt.c (commented).
54074 2010-03-21  Jim Meyering  <meyering@redhat.com>
54076         maint.mk: prohibit inclusion of "intprops.h" without use
54077         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
54079 2010-03-21  Bruno Haible  <bruno@clisp.org>
54081         New module 'grantpt'.
54082         * lib/grantpt.c: New file, from glibc with modifications.
54083         * m4/grantpt.m4: New file.
54084         * modules/grantpt: New file.
54085         * lib/stdlib.in.h (grantpt): New declaration.
54086         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
54087         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
54088         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
54089         HAVE_GRANTPT.
54090         * doc/posix-functions/grantpt.texi: Mention the new module.
54091         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
54092         * config/srclist.txt: Add grantpt.c (commented).
54094 2010-03-21  Bruno Haible  <bruno@clisp.org>
54096         New module 'pt_chown'.
54097         * lib/pt_chown.c: New file, from glibc with modifications.
54098         * lib/pty-private.h: New file, from glibc with modifications.
54099         * modules/pt_chown: New file.
54100         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
54102 2010-03-21  Bruno Haible  <bruno@clisp.org>
54104         Tests for module 'ptsname'.
54105         * modules/ptsname-tests: New file.
54106         * tests/test-ptsname.c: New file.
54108         New module 'ptsname'.
54109         * lib/ptsname.c: New file, from glibc with modifications.
54110         * m4/ptsname.m4: New file.
54111         * modules/ptsname: New file.
54112         * lib/stdlib.in.h (ptsname): New declaration.
54113         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
54114         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
54115         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
54116         HAVE_PTSNAME.
54117         * doc/posix-functions/ptsname.texi: Mention the new module.
54118         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
54119         * config/srclist.txt: Add ptsname.c (commented).
54121 2010-03-21  Bruno Haible  <bruno@clisp.org>
54123         Tests for module 'ttyname_r'.
54124         * modules/ttyname_r-tests: New file.
54125         * tests/test-ttyname_r.c: New file.
54127         New module 'ttyname_r'.
54128         * lib/ttyname_r.c: New file.
54129         * m4/ttyname_r.m4: New file.
54130         * modules/ttyname_r: New file.
54131         * lib/unistd.in.h (ttyname_r): New declaration.
54132         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
54133         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
54134         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
54135         HAVE_TTYNAME_R.
54136         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
54137         * doc/posix-functions/ttyname_r.texi: Mention the new module.
54139 2010-03-20  Bruno Haible  <bruno@clisp.org>
54141         signal: Undefine macro definitions in C++ mode.
54142         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
54143         sigfillset): Undefine macro definitions from the system header in C++
54144         mode.
54145         Reported by John W. Eaton <jwe@gnu.org>.
54147 2010-03-20  Bruno Haible  <bruno@clisp.org>
54149         Ensure no #include statements inside extern "C" { ... }.
54150         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
54151         contain #include statements.
54152         * lib/time.in.h: Likewise.
54154 2010-03-20  Bruno Haible  <bruno@clisp.org>
54156         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
54157         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
54158         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
54159         Reported by John W. Eaton <jwe@gnu.org>.
54161 2010-03-20  Bruno Haible  <bruno@clisp.org>
54163         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
54164         Reported by Jim Meyering.
54166 2010-03-20  Bruno Haible  <bruno@clisp.org>
54168         pipe: Set errno upon failure.
54169         * lib/pipe.h: Specify that when -1 is returned, errno is set.
54170         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
54171         errno value in error message.
54173 2010-03-20  Bruno Haible  <bruno@clisp.org>
54174             Jim Meyering  <meyering@redhat.com>
54176         lchown: Avoid "unused variable" warning.
54177         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
54179 2010-03-20  Bruno Haible  <bruno@clisp.org>
54181         Work around unlink() bug on MacOS X 10.5.6.
54182         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
54183         attempting to unlink a parent directory.
54184         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
54185         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
54186         activate for the replacement function.
54187         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
54189 2010-03-20  Bruno Haible  <bruno@clisp.org>
54191         Fix link errors on Solaris 8.
54192         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
54193         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
54195 2010-03-19  Jim Meyering  <meyering@redhat.com>
54197         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
54198         The _LIBC implementation of build_range_exp correctly honors the
54199         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
54200         However, the non-_LIBC implementation would ignore that syntax-bit
54201         flag and return REG_ERANGE unconditionally.
54202         This change makes it honor that flag.
54203         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
54204         Make two pointer parameters "const".
54205         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
54206         (parse_bracket_exp): Update caller.
54208         regex.m4: correct the reversed range endpoint ([b-a]) test
54209         * m4/regex.m4: When requiring that [b-a] evoke failure,
54210         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
54211         test pass once again for x86-based systems.
54213 2010-03-19  Bruno Haible  <bruno@clisp.org>
54215         scandir: Fix link error on Solaris 8.
54216         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
54217         macros.
54219 2010-03-19  Bruno Haible  <bruno@clisp.org>
54221         getusershell: Fix documentation.
54222         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
54223         module.
54224         * doc/glibc-functions/setusershell.texi: Likewise.
54226         getusershell: Provide declaration, missing on Solaris 9.
54227         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
54228         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
54229         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
54230         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
54231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54232         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
54233         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
54234         HAVE_GETUSERSHELL.
54235         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
54237 2010-03-19  Bruno Haible  <bruno@clisp.org>
54239         wctype: Provide iswblank function.
54240         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
54241         exists and is fine.
54242         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
54243         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
54244         * tests/test-wctype.c (main): Re-enable the iswblank tests.
54245         * doc/posix-functions/iswblank.texi: Update.
54247 2010-03-19  Bruno Haible  <bruno@clisp.org>
54249         Tests of module 'pty' in C++ mode.
54250         * modules/pty-tests: New file.
54251         * tests/test-pty-c++.cc: New file.
54252         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54254 2010-03-19  Eric Blake  <eblake@redhat.com>
54256         logb: fix documentation
54257         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
54258         1.5 declaration bug.
54260         forkpty, openpty: prefer glibc's const-safe prototype
54261         * lib/forkpty.c (rpl_forkpty): New file.
54262         * lib/openpty.c (rpl_openpty): Likewise.
54263         * modules/forkpty (Files): Distribute it.
54264         * modules/openpty (Files): Likewise.
54265         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
54266         check...
54267         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
54268         replacement for non-const BSD signature.
54269         * modules/pty (Makefile.am): Substitute witnesses.
54270         * lib/pty.in.h (forkpty, openpty): Declare replacements.
54271         * tests/test-forkpty.c: Update signature check.
54272         * tests/test-openpty.c: Likewise.
54273         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
54274         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54276         forkpty, openpty: split functions into new modules
54277         * modules/pty (Makefile.am): Substitute new witnesses.
54278         (Libraries): Move library detection...
54279         * modules/forkpty: ...into new module.
54280         * modules/openpty: Another new module.
54281         * modules/pty-tests: Rename and split...
54282         * modules/forkpty-tests: ...to this...
54283         * modules/openpty-tests: ...and this.
54284         * tests/test-pty.c: Rename and split...
54285         * tests/test-forkpty.c: ...to this...
54286         * tests/test-openpty.c: ...and this.
54287         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
54288         (gl_PTY): Split library searching...
54289         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
54290         (gl_FORKPTY, gl_OPENPTY): New macros.
54291         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
54292         * NEWS: Mention the split.
54293         * MODULES.html.sh (Misc): Document the modules.
54294         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
54295         * doc/glibc-functions/openpty.texi (openpty): Likewise.
54297         pty: improve replacement header
54298         * lib/pty.in.h: New file.
54299         * modules/pty (Files): Ship it.
54300         (Makefile.am): Always build replacement.
54301         * m4/pty.m4: Rename...
54302         * m4/pty_h.m4: ...to this.
54303         (gl_PTY): Modernize setting of witness macros; update check of
54304         forkpty to take proper advantage of cache.
54305         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
54307         getopt: avoid compiler warning
54308         * lib/getopt.c (attribute_hidden): Remove unused macro.
54310 2010-03-18  Bruno Haible  <bruno@clisp.org>
54312         Fix link errors on Solaris 8.
54313         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
54314         * modules/search-tests (test_search_c___LDADD): Likewise.
54315         * modules/signal-tests (test_signal_c___LDADD): Likewise.
54316         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
54317         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
54318         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
54319         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
54320         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
54321         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
54323 2010-03-18  Bruno Haible  <bruno@clisp.org>
54325         Fix bug introduced on 2010-03-14.
54326         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
54327         (gl_SPAWN_H): Require it.
54328         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
54329         Reported by Simon Josefsson.
54331 2010-03-18  Bruno Haible  <bruno@clisp.org>
54333         Fix typo introduced on 2009-12-31.
54334         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
54335         posix_spawn_file_actions_adddup2.
54337 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
54338         and Eric Blake  <eblake@redhat.com>
54340         test-vc-list-files-git: make more robust
54341         * tests/test-vc-list-files-git.sh: Unset problematic environment
54342         variables.  Chain commands together.
54344 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
54346         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
54347         `AC_CHECK_DECL' invocation.
54349 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
54351         * lib/inttostr.c (inttostr): Make sure the invocation of verify
54352         appears before executable statements. Suggested by Petr Sumbera
54353         <Petr.Sumbera@Sun.COM>.
54355 2010-03-14  Bruno Haible  <bruno@clisp.org>
54357         * tests/test-flock.c (test_exclusive): Comment out a test that causes
54358         portability problems. Instead use a simpler test.
54359         (main): Check that invalid arguments are rejected only on Linux.
54361 2010-03-14  Bruno Haible  <bruno@clisp.org>
54363         Fix bug introduced on 2009-12-31.
54364         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
54365         gl_PREREQ_SYS_H_WINSOCK2 always.
54366         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
54367         SYS_SOCKET_H variable.
54368         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
54369         Update comments.
54370         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
54371         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
54372         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
54373         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
54374         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
54376 2010-03-14  Bruno Haible  <bruno@clisp.org>
54378         Fix values returned by sinl, cosl.
54379         * lib/trigl.h: Add specification comments.
54380         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
54381         that combines the values from the precomputed table with the values of
54382         the Chebyshev polynomials.
54384 2010-03-14  Bruno Haible  <bruno@clisp.org>
54386         Fix compilation error when modules 'posix_spawn[p]' are not used.
54387         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
54388         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
54390 2010-03-14  Bruno Haible  <bruno@clisp.org>
54392         Fix compilation error on mingw when module 'time_r' is not used.
54393         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
54394         is 1.
54395         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
54396         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54397         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
54398         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
54400 2010-03-14  Bruno Haible  <bruno@clisp.org>
54402         Fix compilation error with Sun C.
54403         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
54404         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
54405         instead of GCC specific ULONG_LONG_MAX.
54406         * lib/xstrtoll.c: Likewise.
54407         * lib/xstrtoull.c: Likewise.
54409 2010-03-13  Bruno Haible  <bruno@clisp.org>
54411         Allow the user to disable C++ code and tests.
54412         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
54413         (gl_PROG_ANSI_CXX): Require it.
54415 2010-03-13  Bruno Haible  <bruno@clisp.org>
54417         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
54418         cases.
54420 2010-03-13  Bruno Haible  <bruno@clisp.org>
54422         Test that gnulib does not break the standard C++ headers.
54423         * tests/test-locale-c++2.cc: New file.
54424         * modules/locale-tests (Files): Add it.
54425         (Makefile.am): Compile it for test-locale-c++.
54426         * tests/test-math-c++2.cc: New file.
54427         * modules/math-tests (Files): Add it.
54428         (Makefile.am): Compile it for test-math-c++.
54429         * tests/test-signal-c++2.cc: New file.
54430         * modules/signal-tests (Files): Add it.
54431         (Makefile.am): Compile it for test-signal-c++.
54432         * tests/test-stdio-c++2.cc: New file.
54433         * modules/stdio-tests (Files): Add it.
54434         (Makefile.am): Compile it for test-stdio-c++.
54435         * tests/test-stdlib-c++2.cc: New file.
54436         * modules/stdlib-tests (Files): Add it.
54437         (Makefile.am): Compile it for test-stdlib-c++.
54438         * tests/test-string-c++2.cc: New file.
54439         * modules/string-tests (Files): Add it.
54440         (Makefile.am): Compile it for test-string-c++.
54441         * tests/test-time-c++2.cc: New file.
54442         * modules/time-tests (Files): Add it.
54443         (Makefile.am): Compile it for test-time-c++.
54444         Reported by John W. Eaton <jwe@gnu.org>.
54446 2010-03-13  Bruno Haible  <bruno@clisp.org>
54448         * gnulib-tool (func_usage): Clarify which options are available for
54449         --create-testdir and --create-megatestdir.
54451 2010-03-13  Bruno Haible  <bruno@clisp.org>
54453         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
54454         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
54455         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
54456         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
54457         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
54458         when appropriate.
54459         Reported by Jim Meyering.
54461 2010-03-12  Simon Josefsson  <simon@josefsson.org>
54463         * gnulib-tool (func_import): Explain origin of code.
54465 2010-03-12  Bruno Haible  <bruno@clisp.org>
54467         Fix problem with automake's definition of CXXLINK.
54468         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
54469         Reported by Simon Josefsson and Ludovic Courtès.
54471 2010-03-12  Bruno Haible  <bruno@clisp.org>
54473         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
54474         stable releases.
54476 2010-03-11  Bruno Haible  <bruno@clisp.org>
54478         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
54479         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
54480         whether the system provides one variant or multiple variants of the
54481         function.
54482         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
54483         C++ compilers.
54484         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
54485         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
54486         Reported by Jim Meyering.
54488 2010-03-09  Simon Josefsson  <simon@josefsson.org>
54490         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
54492 2010-03-08  Bruno Haible  <bruno@clisp.org>
54494         gnulib-tool: Add support for --libtool in --create-testdir.
54495         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
54496         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
54498 2010-03-08  Eric Blake  <eblake@redhat.com>
54500         gnulib-tool.texi: mention possibility of git submodule
54501         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
54502         submodules.
54503         * doc/.gitignore: Ignore another generated file.
54505 2010-03-08  Karl Berry  <karl@gnu.org>
54507         * doc/gnulib-tool.texi (VCS Issues): Mention third option
54508         of committing gnulib files while skipping others.
54510 2010-03-07  Bruno Haible  <bruno@clisp.org>
54512         Tests of module 'wctype' in C++ mode.
54513         * tests/test-wctype-c++.cc: New file.
54514         * modules/wctype-tests (Files): Add it and tests/signature.h.
54515         (Depends-on): Add ansi-c++-opt.
54516         (Makefile.am): Arrange to compile and run test-wctype-c++.
54518         Tests of module 'wchar' in C++ mode.
54519         * tests/test-wchar-c++.cc: New file.
54520         * modules/wchar-tests (Files): Add it and tests/signature.h.
54521         (Depends-on): Add ansi-c++-opt.
54522         (Makefile.am): Arrange to compile and run test-wchar-c++.
54523         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
54524         gl_MODULE_INDICATOR.
54526         Tests of module 'unistd' in C++ mode.
54527         * tests/test-unistd-c++.cc: New file.
54528         * modules/unistd-tests (Files): Add it and tests/signature.h.
54529         (Depends-on): Add ansi-c++-opt.
54530         (Makefile.am): Arrange to compile and run test-unistd-c++.
54531         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
54532         gl_MODULE_INDICATOR.
54534         Tests of module 'time' in C++ mode.
54535         * tests/test-time-c++.cc: New file.
54536         * modules/time-tests (Files): Add it and tests/signature.h.
54537         (Depends-on): Add ansi-c++-opt.
54538         (Makefile.am): Arrange to compile and run test-time-c++.
54539         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54541         Tests of module 'sys_time' in C++ mode.
54542         * tests/test-sys_time-c++.cc: New file.
54543         * modules/sys_time-tests (Files): Add it and tests/signature.h.
54544         (Depends-on): Add ansi-c++-opt.
54545         (Makefile.am): Arrange to compile and run test-sys_time-c++.
54546         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
54547         gl_MODULE_INDICATOR.
54549         Tests of module 'sys_stat' in C++ mode.
54550         * tests/test-sys_stat-c++.cc: New file.
54551         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
54552         (Depends-on): Add ansi-c++-opt.
54553         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
54554         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
54555         gl_MODULE_INDICATOR.
54557         Tests of module 'sys_socket' in C++ mode.
54558         * tests/test-sys_socket-c++.cc: New file.
54559         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
54560         (Depends-on): Add ansi-c++-opt.
54561         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
54562         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
54563         gl_MODULE_INDICATOR.
54565         Tests of module 'sys_select' in C++ mode.
54566         * tests/test-sys_select-c++.cc: New file.
54567         * modules/sys_select-tests (Files): Add it and tests/signature.h.
54568         (Depends-on): Add ansi-c++-opt.
54569         (Makefile.am): Arrange to compile and run test-sys_select-c++.
54570         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
54571         gl_MODULE_INDICATOR.
54573         Tests of module 'sys_ioctl' in C++ mode.
54574         * tests/test-sys_ioctl-c++.cc: New file.
54575         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
54576         (Depends-on): Add ansi-c++-opt.
54577         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
54578         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
54579         gl_MODULE_INDICATOR.
54581         Tests of module 'string' in C++ mode.
54582         * tests/test-string-c++.cc: New file.
54583         * modules/string-tests (Files): Add it and tests/signature.h.
54584         (Depends-on): Add ansi-c++-opt.
54585         (Makefile.am): Arrange to compile and run test-string-c++.
54586         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
54587         gl_MODULE_INDICATOR.
54589         Tests of module 'stdlib' in C++ mode.
54590         * tests/test-stdlib-c++.cc: New file.
54591         * modules/stdlib-tests (Files): Add it and tests/signature.h.
54592         (Depends-on): Add ansi-c++-opt.
54593         (Makefile.am): Arrange to compile and run test-stdlib-c++.
54594         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
54595         gl_MODULE_INDICATOR.
54597         Tests of module 'stdio' in C++ mode.
54598         * tests/test-stdio-c++.cc: New file.
54599         * modules/stdio-tests (Files): Add it and tests/signature.h.
54600         (Depends-on): Add ansi-c++-opt.
54601         (Makefile.am): Arrange to compile and run test-stdio-c++.
54602         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
54603         gl_MODULE_INDICATOR.
54605         Tests of module 'spawn' in C++ mode.
54606         * tests/test-spawn-c++.cc: New file.
54607         * modules/spawn-tests (Files): Add it and tests/signature.h.
54608         (Depends-on): Add ansi-c++-opt.
54609         (Makefile.am): Arrange to compile and run test-spawn-c++.
54610         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
54611         gl_MODULE_INDICATOR.
54613         Tests of module 'signal' in C++ mode.
54614         * tests/test-signal-c++.cc: New file.
54615         * modules/signal-tests (Files): Add it and tests/signature.h.
54616         (Depends-on): Add ansi-c++-opt.
54617         (Makefile.am): Arrange to compile and run test-signal-c++.
54618         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
54619         gl_MODULE_INDICATOR.
54621         Tests of module 'search' in C++ mode.
54622         * tests/test-search-c++.cc: New file.
54623         * modules/search-tests (Files): Add it and tests/signature.h.
54624         (Depends-on): Add ansi-c++-opt.
54625         (Makefile.am): Arrange to compile and run test-search-c++.
54626         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
54627         gl_MODULE_INDICATOR.
54629         Tests of module 'math' in C++ mode.
54630         * tests/test-math-c++.cc: New file.
54631         * modules/math-tests (Files): Add it and tests/signature.h.
54632         (Depends-on): Add ansi-c++-opt.
54633         (Makefile.am): Arrange to compile and run test-math-c++.
54634         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
54636         Tests of module 'locale' in C++ mode.
54637         * tests/test-locale-c++.cc: New file.
54638         * modules/locale-tests (Files): Add it and tests/signature.h.
54639         (Depends-on): Add ansi-c++-opt.
54640         (Makefile.am): Arrange to compile and run test-locale-c++.
54641         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
54642         gl_MODULE_INDICATOR.
54644         Tests of module 'langinfo' in C++ mode.
54645         * tests/test-langinfo-c++.cc: New file.
54646         * modules/langinfo-tests (Files): Add it and tests/signature.h.
54647         (Depends-on): Add ansi-c++-opt.
54648         (Makefile.am): Arrange to compile and run test-langinfo-c++.
54649         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
54650         gl_MODULE_INDICATOR.
54652         Tests of module 'iconv-h' in C++ mode.
54653         * tests/test-iconv-h-c++.cc: New file.
54654         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
54655         (Depends-on): Add ansi-c++-opt.
54656         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
54658         Tests of module 'glob' in C++ mode.
54659         * tests/test-glob-c++.cc: New file.
54660         * modules/glob-tests (Files): Add it.
54661         (Depends-on): Add ansi-c++-opt.
54662         (Makefile.am): Arrange to compile and run test-glob-c++.
54664         Tests of module 'fcntl-h' in C++ mode.
54665         * tests/test-fcntl-h-c++.cc: New file.
54666         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
54667         (Depends-on): Add ansi-c++-opt.
54668         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
54669         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
54670         gl_MODULE_INDICATOR.
54672         Tests of module 'dirent' in C++ mode.
54673         * tests/test-dirent-c++.cc: New file.
54674         * modules/dirent-tests (Files): Add it and tests/signature.h.
54675         (Depends-on): Add ansi-c++-opt.
54676         (Makefile.am): Arrange to compile and run test-dirent-c++.
54677         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
54678         gl_MODULE_INDICATOR.
54680         New module 'ansi-c++-opt'.
54681         * modules/ansi-c++-opt: New file.
54682         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
54684         Document C++ namespace mode.
54685         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
54687         wctype: Avoid #define replacements in C++ mode.
54688         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
54689         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
54690         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
54691         In C++, define a namespaced alias symbol.
54692         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
54693         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
54694         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
54695         rule.
54697         wchar: Avoid #define replacements in C++ mode.
54698         * lib/wchar.in.h: Include c++defs.h.
54699         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
54700         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
54701         symbol.
54702         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
54703         * modules/wchar (Depends-on): Add c++defs.
54704         (Makefile.am): Update wchar.h rule.
54706         unistd: Avoid #define replacements in C++ mode.
54707         * lib/unistd.in.h: Include c++defs.h.
54708         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
54709         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
54710         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
54711         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
54712         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
54713         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
54714         symbol.
54715         (environ): Update.
54716         * modules/unistd (Depends-on): Add c++defs.
54717         (Makefile.am): Update unistd.h rule.
54719         time: Avoid #define replacements in C++ mode.
54720         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
54721         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
54722         define a namespaced alias symbol.
54723         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
54724         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
54725         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
54726         * modules/time (Depends-on): Add c++defs, warn-on-use.
54727         (Makefile.am): Update time.h rule.
54728         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
54729         * modules/nanosleep (configure.ac): Likewise.
54730         * modules/strptime (configure.ac): Likewise.
54731         * modules/timegm (configure.ac): Likewise.
54733         sys_time: Avoid #define replacements in C++ mode.
54734         * lib/sys_time.in.h: Include c++defs.h.
54735         (gettimeofday): In C++, define a namespaced alias symbol.
54736         * modules/sys_time (Depends-on): Add c++defs.
54737         (Makefile.am): Update sys/time.h rule.
54739         sys_stat: Avoid #define replacements in C++ mode.
54740         * lib/sys_stat.in.h: Include c++defs.h.
54741         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
54742         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
54743         namespaced alias symbol.
54744         In C++, define a namespaced alias symbol.
54745         * modules/sys_stat (Depends-on): Add c++defs.
54746         (Makefile.am): Update sys/stat.h rule.
54748         sys_socket: Avoid #define replacements in C++ mode.
54749         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
54750         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
54751         definitions also when the system has a <sys/socket.h>.
54752         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54753         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
54754         In C++, define a namespaced alias symbol.
54755         * modules/sys_socket (Depends-on): Add c++defs.
54756         (Makefile.am): Update sys/socket.h rule.
54758         sys_select: Avoid #define replacements in C++ mode.
54759         * lib/sys_select.in.h: Include c++defs.h. Enable the function
54760         definitions also when the system has a <sys/select.h>.
54761         (select): In C++, define a namespaced alias symbol.
54762         * modules/sys_select (Depends-on): Add c++defs.
54763         (Makefile.am): Update sys/select.h rule.
54765         sys_ioctl: Avoid #define replacements in C++ mode.
54766         * lib/sys_ioctl.in.h: Include c++defs.h.
54767         (ioctl): In C++, define a namespaced alias symbol.
54768         * modules/sys_ioctl (Depends-on): Add c++defs.
54769         (Makefile.am): Update sys/ioctl.h rule.
54771         string: Avoid #define replacements in C++ mode.
54772         * lib/string.in.h: Include c++defs.h.
54773         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
54774         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
54775         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
54776         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
54777         strsignal, strverscmp): In C++, define a namespaced alias symbol.
54778         * modules/string (Depends-on): Add c++defs.
54779         (Makefile.am): Update string.h rule.
54781         stdlib: Avoid #define replacements in C++ mode.
54782         * lib/stdlib.in.h: Include c++defs.h.
54783         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
54784         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
54785         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
54786         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
54787         symbol.
54788         * modules/stdlib (Depends-on): Add c++defs.
54789         (Makefile.am): Update stdlib.h rule.
54791         stdio: Avoid #define replacements in C++ mode.
54792         * lib/stdio.in.h: Include c++defs.h.
54793         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
54794         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
54795         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
54796         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
54797         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
54798         namespaced alias symbol.
54799         * modules/stdio (Depends-on): Add c++defs.
54800         (Makefile.am): Update stdio.h rule.
54802         spawn: Avoid #define replacements in C++ mode.
54803         * lib/spawn.in.h: Include c++defs.h.
54804         (posix_spawn, posix_spawnp, posix_spawnattr_init,
54805         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
54806         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
54807         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
54808         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
54809         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
54810         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
54811         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
54812         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
54813         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
54814         In C++, define a namespaced alias symbol.
54815         * modules/spawn (Depends-on): Add c++defs.
54816         (Makefile.am): Update spawn.h rule.
54818         signal: Avoid #define replacements in C++ mode.
54819         * lib/signal.in.h: Include c++defs.h.
54820         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
54821         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
54822         namespaced alias symbol.
54823         * modules/signal (Depends-on): Add c++defs.
54824         (Makefile.am): Update signal.h rule.
54826         search: Avoid #define replacements in C++ mode.
54827         * lib/search.in.h: Include c++defs.h.
54828         (_gl_search_compar_fn, _gl_search_action_fn): New types.
54829         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
54830         symbol.
54831         * modules/search (Depends-on): Add c++defs.
54832         (Makefile.am): Update search.h rule.
54834         math: Avoid #define replacements in C++ mode.
54835         * lib/math.in.h: Include c++defs.h.
54836         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
54837         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
54838         trunc, truncl): In C++, define a namespaced alias symbol.
54839         * modules/math (Depends-on): Add c++defs.
54840         (Makefile.am): Update math.h rule.
54842         locale: Avoid #define replacements in C++ mode.
54843         * lib/locale.in.h: Include c++defs.h.
54844         (duplocale): In C++, define a namespaced alias symbol.
54845         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
54846         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
54847         * modules/locale (Depends-on): Add c++defs.
54848         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
54850         langinfo: Avoid #define replacements in C++ mode.
54851         * lib/langinfo.in.h: Include c++defs.h.
54852         (nl_langinfo): In C++, define a namespaced alias symbol.
54853         * modules/langinfo (Depends-on): Add c++defs.
54854         (Makefile.am): Update langinfo.h rule.
54856         iconv-h: Avoid #define replacements in C++ mode.
54857         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
54858         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
54859         symbol.
54860         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54861         whenever iconv is present.
54862         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
54863         (Makefile.am): Update iconv.h rule.
54865         glob: Avoid #define replacements in C++ mode.
54866         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
54867         (_gl_glob_errfunc_fn): New type.
54868         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
54869         symbol.
54870         * modules/glob (Depends-on): Add c++defs, warn-on-use.
54871         (Makefile.am): Update glob.h rule.
54873         fcntl-h: Avoid #define replacements in C++ mode.
54874         * lib/fcntl.in.h: Include c++defs.h.
54875         (fcntl, open, openat): In C++, define a namespaced alias symbol.
54876         * modules/fcntl-h (Depends-on): Add c++defs.
54877         (Makefile.am): Update fcntl.h rule.
54879         dirent: Avoid #define replacements in C++ mode.
54880         * lib/dirent.in.h: Include c++defs.h.
54881         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
54882         namespaced alias symbol.
54883         (dirfd): Update declaration.
54884         * modules/dirent (Depends-on): Add c++defs.
54885         (Makefile.am): Update dirent.h rule.
54887         ctype: Make it usable in C++ code.
54888         * lib/ctype.in.h: Include c++defs.h.
54889         (isblank): Declare as extern "C".
54890         * modules/ctype (Depends-on): Add c++defs.
54891         (Makefile.am): Update ctype.h rule.
54893         New module 'c++defs'.
54894         * modules/c++defs: New file.
54895         * build-aux/c++defs.h: New file.
54896         Reported by John W. Eaton <jwe@gnu.org>.
54898 2010-03-07  Bruno Haible  <bruno@clisp.org>
54900         logb: Provide missing declaration for Cygwin.
54901         * lib/math.in.h (logb): New declaration.
54902         * m4/logb.m4: New file.
54903         * modules/logb (Files): Add m4/logb.m4.
54904         (Depends-on): Add math.
54905         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
54906         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
54907         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
54908         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
54909         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
54911 2010-03-07  Bruno Haible  <bruno@clisp.org>
54913         Fix test-cond link error.
54914         * tests/test-cond.c: Include <stdio.h>.
54916 2010-03-07  Bruno Haible  <bruno@clisp.org>
54918         Fix test-dirent-safer link error.
54919         * modules/dirent-safer-tests (Makefile.am): Define
54920         test_dirent_safer_LDADD.
54922 2010-03-07  Bruno Haible  <bruno@clisp.org>
54924         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
54925         among default module list.
54927 2010-03-07  Bruno Haible  <bruno@clisp.org>
54929         Fix link error on platforms with GNU libiconv.
54930         * modules/unistr/u8-strcoll-tests (Makefile): Define
54931         test_u8_strcoll_LDADD.
54932         * modules/unistr/u16-strcoll-tests (Makefile): Define
54933         test_u16_strcoll_LDADD.
54934         * modules/unistr/u32-strcoll-tests (Makefile): Define
54935         test_u32_strcoll_LDADD.
54937 2010-03-07  Bruno Haible  <bruno@clisp.org>
54939         Use POSIX declarations for socket functions.
54940         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
54941         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
54942         rpl_sendto): Change declaration to match POSIX.
54943         * lib/connect.c (rpl_connect): Likewise.
54944         * lib/accept.c (rpl_accept): Likewise.
54945         * lib/bind.c (rpl_bind): Likewise.
54946         * lib/getpeername.c (rpl_getpeername): Likewise.
54947         * lib/getsockname.c (rpl_getsockname): Likewise.
54948         * lib/recv.c (rpl_recv): Likewise.
54949         * lib/send.c (rpl_send): Likewise.
54950         * lib/recvfrom.c (rpl_recvfrom): Likewise.
54951         * lib/sendto.c (rpl_sendto): Likewise.
54953 2010-03-06  Bruno Haible  <bruno@clisp.org>
54955         Clarify access, euidaccess, faccessat.
54956         * doc/posix-functions/faccessat.texi: Mention security problem under
54957         "Other problems", not "Portability problems".
54958         * doc/posix-functions/access.texi: Likewise. Mention a related security
54959         problem.
54960         * doc/glibc-functions/euidaccess.texi: Mention security problems.
54961         * lib/euidaccess.c: Add comments about platforms.
54962         * lib/unistd.in.h (access, euidaccess): Add warnings.
54964 2010-03-07  Bruno Haible  <bruno@clisp.org>
54966         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
54967         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
54968         (POSIX_SPAWN_SETSCHEDULER): Likewise.
54969         (POSIX_SPAWN_USEVFORK): Define in a way that works when
54970         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54971         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
54972         declare when POSIX_SPAWN_SETSCHEDULER is zero.
54973         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
54974         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
54975         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
54976         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
54977         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
54978         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
54979         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
54980         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
54981         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
54982         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
54983         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
54984         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
54985         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
54986         Likewise.
54987         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
54988         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
54989         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
54990         Likewise.
54991         * tests/test-spawn.c (main): Make it work when
54992         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
54994 2010-03-07  Bruno Haible  <bruno@clisp.org>
54996         Fix incorrect Makefile.am generation in German locale.
54997         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54998         Execute sed command with character range in C locale.
55000 2010-03-06  Bruno Haible  <bruno@clisp.org>
55002         Tests for module 'iconv-h'.
55003         * modules/iconv-h-tests: New file.
55004         * tests/test-iconv-h.c: New file.
55006         New module 'iconv-h'.
55007         * modules/iconv-h: New file.
55008         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
55009         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
55010         (configure.ac): Remove gl_ICONV_H.
55011         (Makefile.am): Remove rule for iconv.h.
55013 2010-03-06  Bruno Haible  <bruno@clisp.org>
55015         More consistent naming of *.m4 files.
55016         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
55017         * modules/wctype (Files): Update.
55019         More consistent naming of *.m4 files.
55020         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
55021         * modules/wchar (Files): Update.
55023 2010-03-06  Jim Meyering  <meyering@redhat.com>
55025         euidaccess: relax license to LGPLv2+
55026         * modules/euidaccess (License): Relax to LGPLv2+.
55028 2010-03-06  Bruno Haible  <bruno@clisp.org>
55030         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
55031         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
55032         (Makefile.am): Augment lib_SOURCES instead.
55034 2010-03-04  Jim Meyering  <meyering@redhat.com>
55036         utime: remove obsolete module
55037         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
55038         unnecessary for years, and has been marked as obsolete for 10 months.
55039         * modules/utime: Remove file.
55040         * lib/utime.c: Remove file.
55041         * m4/utime.m4: Remove file.
55042         * m4/utimes-null.m4: Remove file.
55043         * doc/posix-functions/utime.texi (utime): Remove reference to
55044         the module.  Move the sole "fixed by gnulib" item into the
55045         "problems not fixed by Gnulib" list.
55046         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
55048 2010-03-05  Simon Josefsson  <simon@josefsson.org>
55050         * modules/exit (License): Relax license to LGPLv2+.
55051         (Status): Mark as obsolete.
55052         * NEWS: Mention deprecated 'exit' module.
55053         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
55054         of now obsolete 'exit'.
55056 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55058         fts-lgpl: remove unused module
55059         * modules/fts-lgpl: Remove.
55060         * MODULES.html.sh (func_all_modules): Adjust.
55061         * check-module (find_included_lib_files): Adjust.
55062         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
55064 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
55066         copy-acl: enhance Solaris ACL error handling
55067         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
55068         * lib/set-mode-acl.c (qset_acl): Likewise.
55070 2010-03-02  Bruno Haible  <bruno@clisp.org>
55072         spawn: Don't override the system defined values on FreeBSD 8.
55073         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
55074         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
55075         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
55076         if HAVE_POSIX_SPAWN is 1.
55077         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
55079 2010-03-01  Bruno Haible  <bruno@clisp.org>
55081         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
55082         regarding Automake.
55084 2010-02-25  Bruno Haible  <bruno@clisp.org>
55086         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
55087         * gnulib-tool: Define 'echo' as a function only before the ksh alias
55088         setting, not afterwards.
55089         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
55091 2010-02-24  Eric Blake  <eblake@redhat.com>
55093         bootstrap, git-version-gen: use timestamp
55094         * build-aux/git-version-gen (scriptversion): Force UTC.
55095         * build-aux/bootstrap (scriptversion): New variable.
55097         bootstrap: allow older git
55098         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
55099         older than 1.6.4.  Requested by the libvirt project.
55101 2010-02-23  Eric Blake  <eblake@redhat.com>
55103         warn-on-use: work with old autoconf
55104         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
55105         AS_VAR semantics of autoconf 2.60.
55106         Reported by Bruno Haible.
55108         bootstrap: improve some comments
55109         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
55110         clarification comments.
55112         gettimeofday: provide correct function
55113         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
55114         when replacement is declared, otherwise provide gettimeofday.
55115         Reported by Michael Goffioul.
55117 2010-02-23  Jim Meyering  <meyering@redhat.com>
55119         lib-ignore: relax license to "unlimited", not LGPLv2+
55120         * modules/lib-ignore (License): Relax to "unlimited".
55122 2010-02-23  Jim Meyering  <meyering@redhat.com>
55124         lib-ignore: relax license to LGPLv2+
55125         * modules/lib-ignore (License): Relax to LGPLv2+.
55127 2010-02-22  Eric Blake  <eblake@redhat.com>
55129         lseek: avoid bash 3.2 broken pipe bug
55130         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
55131         warning from bash 3.2.
55132         Reported by Ben Pfaff, with analysis from Bruno Haible.
55134         bootstrap: support non-FSF copyright holder
55135         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
55136         bootstrap.conf override of COPYRIGHT_HOLDER.
55137         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
55139         bootstrap: interoperate with gettext 0.14.1
55140         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
55142         bootstrap: allow for alternate submodule location
55143         * build-aux/bootstrap (gnulib_path): New variable; use instead of
55144         hardcoding submodule location.
55145         (gnulib_mk): Allow direct use of Makefile.am.
55147         bootstrap: use GNULIB_SRCDIR to reduce disk usage
55148         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
55149         rather than reconfiguring where the submodule points.
55151         gettimeofday: restore support for platforms that lack function
55152         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
55153         replacement if function is missing.
55154         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
55155         * modules/sys_time (Makefile.am): Substitute it.
55156         * lib/sys_time.in.h (gettimeofday): Check it.
55157         Reported by Michael Goffioul.
55159 2010-02-21  Bruno Haible  <bruno@clisp.org>
55161         * lib/stdio.in.h (obstack_printf): Fix typo.
55163 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
55165         vc-list-files: use bzr ls's -R option
55166         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
55167         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
55169 2010-02-21  Jim Meyering  <meyering@redhat.com>
55171         init.sh: fix EXEEXT shims to work also for names like test-prog
55172         * tests/init.sh: Re-exec a better shell, when needed.
55173         If the current shell lacks support for posix $(...), an init.sh-using
55174         test will now try to find a shell that supports that.  If EXEEXT is
55175         nonempty, we also require support for hyphen-in-alias-name and shell
55176         substitutions like ${var#glob}.  Failure to find such a shell results
55177         in a skipped test.
55179 2010-02-21  Bruno Haible  <bruno@clisp.org>
55181         Really work around "broken pipe" error message from bash 3.2.
55182         * gnulib-tool (func_reset_sigpipe): Remove function.
55183         (echo): In bash 3.2, define to a function that uses printf.
55184         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
55186 2010-02-20  Bruno Haible  <bruno@clisp.org>
55188         Restore support for automake 1.9.6 with autoconf 2.61.
55189         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
55190         Reported by James Youngman <jay@gnu.org>.
55192 2010-02-20  Bruno Haible  <bruno@clisp.org>
55194         Improve *printf warning condition.
55195         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
55196         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
55197         and the function is overridden due to SIGPIPE emulation.
55199 2010-02-20  Bruno Haible  <bruno@clisp.org>
55201         * lib/stdio.in.h: Tweak comments.
55203 2010-02-19  Bruno Haible  <bruno@clisp.org>
55205         Make it easier to find modules. New gnulib-tool option '--find'.
55206         * gnulib-tool: New option --find.
55207         (func_usage): Document it.
55208         (func_sanitize_modulelist): New function, extracted from
55209         func_all_modules.
55210         (func_all_modules): Invoke it.
55211         * doc/gnulib-tool.texi (Which modules?): New node.
55213 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
55215         * lib/sys_select.in.h: Provide select replacement even if
55216         sys/select.h exists on a system, for Interix.
55218 2010-02-18  Jim Meyering  <meyering@redhat.com>
55220         init.sh: don't use $(...) just yet
55221         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
55222         to accommodate e.g., Solaris' /bin/sh.
55224 2010-02-17  Bruno Haible  <bruno@clisp.org>
55226         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
55227         Reported by Ludovic Courtès <ludo@gnu.org>.
55229 2010-02-16  Simon Josefsson  <simon@josefsson.org>
55231         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
55232         linking with -lintl.
55234 2010-02-17  Simon Josefsson  <simon@josefsson.org>
55236         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
55237         if not provided by the system's netdb.h.  Reported by
55238         ludo@gnu.org (Ludovic Courtès).
55240 2010-02-15  Jim Meyering  <meyering@redhat.com>
55242         init.sh: improve portability and efficiency
55243         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
55244         "dummy" in a for loop.
55245         Use '!', not '^' to select the complement of a character set used
55246         in a "case" statement.
55247         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
55248         Suggestions from Eric Blake.
55250         init.sh: automatically accommodate programs with the .exe suffix
55251         Automatically arrange for an invocation of "prog" to execute the
55252         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
55253         may use the simpler "prog", yet still work when built on a system
55254         that requires specifying the added suffix.
55255         Do this by constructing a function named "prog" that invokes
55256         "prog.exe" for each .exe file in selected directories.
55257         * tests/init.sh (find_exe_basenames_): New function.
55258         (create_exe_shim_functions_): New function.
55259         (path_prepend_): Use it.
55261         maint.mk: mark syntax-check sc_*.m rules as .PHONY
55262         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
55263         "make -t syntax-check" doesn't create a ton of sc_*.m files.
55265 2010-02-14  Jim Meyering  <meyering@redhat.com>
55267         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
55268         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
55269         (sc_prohibit_hash_pjw_without_use): New rule.
55271         maint.mk: allow the default upload destination dir to be overridden
55272         * top/maint.mk (upload_dest_dir_): Define with a default that
55273         preserves the status quo.
55274         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
55275         Reported by Peter Simons.
55277         maint.mk: prohibit inclusion of "hash.h" without_use
55278         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
55280 2010-02-10  Jim Meyering  <meyering@redhat.com>
55282         maint.mk: prohibit inclusion of "ignore-value.h" without_use
55283         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
55285 2010-02-09  Eric Blake  <ebb9@byu.net>
55286         and Bruno Haible  <bruno@clisp.org>
55288         obstack-printf-posix: ensure declaration
55289         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
55290         extracted from gl_FUNC_OBSTACK_PRINTF.
55291         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
55292         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55293         Likewise.
55294         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
55295         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
55296         0.
55298 2010-02-08  Bruno Haible  <bruno@clisp.org>
55300         gnulib-tool: Fix typo in 2010-02-07 commit.
55301         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
55302         Reported by Eric Blake.
55304 2010-02-07  Bruno Haible  <bruno@clisp.org>
55306         gnulib-tool: Fix up caching patches.
55307         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
55308         option --no-cache. Use associative arrays when supported by the shell.
55309         (sed_comments): New variable.
55310         (modcache): Renamed from do_cache.
55311         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
55312         abbreviate unnecessarily.
55313         (have_associative): New variable.
55314         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
55315         way also for ksh and zsh.
55316         (func_init_sed_convert_to_cache_statements): New function, extracted
55317         from func_cache_lookup_module. Add support for associative arrays.
55318         Don't set the c_MODULE_cached variable here. Ignore all lines before
55319         the first field header. Remove only the final newline, not all trailing
55320         newlines. Support empty fields correctly. Limit the use of 'eval' to
55321         assignments.
55322         (func_get_description, func_get_status, func_get_notice,
55323         func_get_applicability, func_get_filelist, func_get_dependencies,
55324         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
55325         func_get_automake_snippet, func_get_include_directive,
55326         func_get_link_directive, func_get_license, func_get_maintainer):
55327         Update documentation. List the unoptimized code first. Add support for
55328         associative arrays. Limit the use of 'eval' to assignments.
55329         (func_get_applicability): Undo stylistic pessimisations.
55330         (func_get_automake_snippet, func_get_include_directive): Reduce code
55331         duplication.
55332         (func_modules_transitive_closure, func_modules_add_dummy,
55333         func_modules_notice, func_modules_to_filelist, func_add_file,
55334         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
55335         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
55336         func_create_testdir, func_create_megatestdir): Update documentation.
55338 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55340         * gnulib-tool (func_cache_lookup_module): Store the module name
55341         belonging to the cache variable; error out if two different
55342         module names map to the same cache variable name.
55344 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55346         gnulib-tool: Make caching optional.
55347         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
55348         Update matching short versions of --no-changelog.
55349         (func_usage): Update.
55350         (sed_extract_cache_prog): Renamed from ...
55351         (sed_extract_prog): ... this; revert to old extraction script.
55352         (func_get_description, func_get_status)
55353         (func_get_notice, func_get_applicability, func_get_filelist)
55354         (func_get_dependencies, func_get_autoconf_early_snippet)
55355         (func_get_autoconf_snippet, func_get_automake_snippet)
55356         (func_get_include_directive, func_get_link_directive)
55357         (func_get_license, func_get_maintainer): If $do_cache is false,
55358         use old, non-caching extraction scripts.
55359         Suggestion by Bruno Haible.
55361 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55363         gnulib-tool: cache module metainformation.
55364         * gnulib-tool (sed_extract_prog): Match newline before each
55365         header, and rewrite header to a shell variable suffix.
55366         (func_cache_var, func_cache_lookup_module): New functions,
55367         to turn a module name into a cache variable prefix, and to
55368         look up and cache module metainformation.
55369         (func_get_description, func_get_status)
55370         (func_get_notice, func_get_applicability, func_get_filelist)
55371         (func_get_dependencies, func_get_autoconf_early_snippet)
55372         (func_get_autoconf_snippet, func_get_automake_snippet)
55373         (func_get_include_directive, func_get_link_directive)
55374         (func_get_license, func_get_maintainer): Use
55375         func_cache_lookup_module.
55377 2010-02-07  Bruno Haible  <bruno@clisp.org>
55379         fnctl: Fix missing dependency.
55380         * modules/fcntl (Depends-on): Add getdtablesize.
55381         Reported by John W. Eaton <jwe@gnu.org>.
55383 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55385         Argp: fix recognition of short alias options.
55387         * lib/argp-parse.c (convert_options): Fix improper use of
55388         `|' between character values.
55389         * tests/test-argp.c (group1_option): New alias option
55390         --read (-r).
55391         (group1_parser): Special handling for 'r'.
55392         (test15): New test case.
55393         (test_fun): Add test15.
55394         * tests/test-argp-2.sh: Update expected --help and --usage
55395         outputs.
55397 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
55399         * tests/test-argp.c: Fix indentation.
55401 2010-02-04  Eric Blake  <ebb9@byu.net>
55403         gettimeofday: expose type of second argument
55404         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
55405         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
55406         * tests/test-gettimeofday.c: Use it to silence warning.
55407         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
55408         the issue.
55410 2010-02-03  Jim Meyering  <meyering@redhat.com>
55412         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
55413         * lib/regcomp.c (TYPE_SIGNED): Define.
55414         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
55416         regcomp.c: avoid a new -Wshadow warning
55417         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
55419 2010-02-01  Jim Meyering  <meyering@redhat.com>
55421         removing useless parentheses in cpp #define directives
55422         For motivation, see commit c0221df4, "define STREQ(a,b)
55423         consistently, removing useless parentheses"
55424         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
55425         * lib/mountlist.c (MNT_IGNORE): Likewise.
55426         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
55428 2010-02-01  Eric Blake  <ebb9@byu.net>
55430         sys_time: use link-warning
55431         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
55432         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
55433         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
55434         * modules/sys_time (Depends-on): Add warn-on-use.
55435         (Makefile.am): Always build replacement.
55436         (configure.ac): Update substitutions.
55437         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
55438         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
55439         bother with SYS_TIME_H.
55440         * modules/gettimeofday (configure.ac): Declare indicator.
55441         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
55442         in use.
55444         closein-tests: silence compiler warning
55445         * tests/test-closein.c (main): Ignore fread result.
55446         * modules/closein-tests (Depends-on): Add ignore-value.
55448         tests: silence warning about system return
55449         * tests/test-areadlink-with-size.c (main): Ignore system result.
55450         * tests/test-areadlink.c (main): Likewise.
55451         * tests/test-areadlinkat-with-size.c (main): Likewise.
55452         * tests/test-areadlinkat.c (main): Likewise.
55453         * tests/test-canonicalize-lgpl.c (main): Likewise.
55454         * tests/test-canonicalize.c (main): Likewise.
55455         * tests/test-chown.c (main): Likewise.
55456         * tests/test-fchownat.c (main): Likewise.
55457         * tests/test-fdutimensat.c (main): Likewise.
55458         * tests/test-fstatat.c (main): Likewise.
55459         * tests/test-futimens.c (main): Likewise.
55460         * tests/test-lchown.c (main): Likewise.
55461         * tests/test-link.c (main): Likewise.
55462         * tests/test-linkat.c (main): Likewise.
55463         * tests/test-lstat.c (main): Likewise.
55464         * tests/test-mkdir.c (main): Likewise.
55465         * tests/test-mkdirat.c (main): Likewise.
55466         * tests/test-mkfifo.c (main): Likewise.
55467         * tests/test-mkfifoat.c (main): Likewise.
55468         * tests/test-mknod.c (main): Likewise.
55469         * tests/test-readlink.c (main): Likewise.
55470         * tests/test-remove.c (main): Likewise.
55471         * tests/test-rename.c (main): Likewise.
55472         * tests/test-renameat.c (main): Likewise.
55473         * tests/test-rmdir.c (main): Likewise.
55474         * tests/test-symlink.c (main): Likewise.
55475         * tests/test-symlinkat.c (main): Likewise.
55476         * tests/test-unlink.c (main): Likewise.
55477         * tests/test-unlinkat.c (main): Likewise.
55478         * tests/test-utimens.c (main): Likewise.
55479         * tests/test-utimensat.c (main): Likewise.
55480         * modules/areadlink-tests (Depends-on): Add ignore-value.
55481         * modules/areadlink-with-size-tests (Depends-on): Likewise.
55482         * modules/areadlinkat-tests (Depends-on): Likewise.
55483         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
55484         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
55485         * modules/canonicalize-tests (Depends-on): Likewise.
55486         * modules/chown-tests (Depends-on): Likewise.
55487         * modules/fdutimensat-tests (Depends-on): Likewise.
55488         * modules/futimens-tests (Depends-on): Likewise.
55489         * modules/lchown-tests (Depends-on): Likewise.
55490         * modules/link-tests (Depends-on): Likewise.
55491         * modules/linkat-tests (Depends-on): Likewise.
55492         * modules/lstat-tests (Depends-on): Likewise.
55493         * modules/mkdir-tests (Depends-on): Likewise.
55494         * modules/mkfifo-tests (Depends-on): Likewise.
55495         * modules/mkfifoat-tests (Depends-on): Likewise.
55496         * modules/mknod-tests (Depends-on): Likewise.
55497         * modules/openat-tests (Depends-on): Likewise.
55498         * modules/readlink-tests (Depends-on): Likewise.
55499         * modules/remove-tests (Depends-on): Likewise.
55500         * modules/rename-tests (Depends-on): Likewise.
55501         * modules/renameat-tests (Depends-on): Likewise.
55502         * modules/rmdir-tests (Depends-on): Likewise.
55503         * modules/symlink-tests (Depends-on): Likewise.
55504         * modules/symlinkat-tests (Depends-on): Likewise.
55505         * modules/unlink-tests (Depends-on): Likewise.
55506         * modules/utimens-tests (Depends-on): Likewise.
55507         * modules/utimensat-tests (Depends-on): Likewise.
55509 2010-01-31  Bruno Haible  <bruno@clisp.org>
55511         Perform the same test for many <math.h> functions.
55512         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
55513         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
55514         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
55515         of gl_MATHFUNC.
55516         * modules/acos (configure.ac): Likewise.
55517         * modules/asin (configure.ac): Likewise.
55518         * modules/atan (configure.ac): Likewise.
55519         * modules/atan2 (configure.ac): Likewise.
55520         * modules/cbrt (configure.ac): Likewise.
55521         * modules/copysign (configure.ac): Likewise.
55522         * modules/cos (configure.ac): Likewise.
55523         * modules/cosh (configure.ac): Likewise.
55524         * modules/erf (configure.ac): Likewise.
55525         * modules/erfc (configure.ac): Likewise.
55526         * modules/exp (configure.ac): Likewise.
55527         * modules/fmod (configure.ac): Likewise.
55528         * modules/hypot (configure.ac): Likewise.
55529         * modules/j0 (configure.ac): Likewise.
55530         * modules/j1 (configure.ac): Likewise.
55531         * modules/jn (configure.ac): Likewise.
55532         * modules/lgamma (configure.ac): Likewise.
55533         * modules/log (configure.ac): Likewise.
55534         * modules/log10 (configure.ac): Likewise.
55535         * modules/log1p (configure.ac): Likewise.
55536         * modules/pow (configure.ac): Likewise.
55537         * modules/remainder (configure.ac): Likewise.
55538         * modules/sin (configure.ac): Likewise.
55539         * modules/sinh (configure.ac): Likewise.
55540         * modules/tan (configure.ac): Likewise.
55541         * modules/tanh (configure.ac): Likewise.
55542         * modules/y0 (configure.ac): Likewise.
55543         * modules/y1 (configure.ac): Likewise.
55544         * modules/yn (configure.ac): Likewise.
55545         Suggested by Paolo Bonzini.
55547 2010-01-31  Bruno Haible  <bruno@clisp.org>
55549         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
55551 2010-01-31  Bruno Haible  <bruno@clisp.org>
55553         Work around getdelim() bug on FreeBSD 8.0.
55554         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
55555         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
55556         not work.
55557         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
55558         is 1.
55559         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
55560         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
55561         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
55562         a non-zero size.
55563         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
55565 2010-01-31  Bruno Haible  <bruno@clisp.org>
55567         Work around getline() bug on FreeBSD 8.0.
55568         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
55569         and a non-zero size.
55570         * tests/test-getline.c (main): Likewise.
55571         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
55572         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
55574 2010-01-28  Eric Blake  <ebb9@byu.net>
55576         regex: fix build failure
55577         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
55578         platforms.
55580 2010-01-28  Jim Meyering  <meyering@redhat.com>
55582         regex: do not ignore memory allocation failure
55583         * lib/regex_internal.c (create_cd_newstate): Detect
55584         re_node_set_init_copy failure.   Extracted from glibc commit
55585         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55587         regex: sync more white-space changes from libc
55588         * lib/regex_internal.c: White-space only changes.
55589         * lib/regexec.c: Likewise.
55591         regex: add many uses of __attribute_warn_unused_result__
55592         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
55593         * lib/regexec.c: Likewise.
55594         Extracted from a messy glibc commit.
55596         regcomp.c: spelling and merge-artifact from glibc
55597         * lib/regcomp.c: Merge remainder of glibc's
55598         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55600         regcomp.c: sync white-space changes from glibc
55601         * lib/regcomp.c: Merge to accommodate white space
55602         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
55604         regcomp.c: do not ignore internal return values
55605         * lib/regcomp.c: Do not ignore internal return values.
55606         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
55607         but without its white-space changes and spelling fixes.
55609         regex_internal.h: define __attribute_warn_unused_result__
55610         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
55612         maint: add a syntax-check rule to check for vulnerable Makefile.in
55613         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
55615 2010-01-27  Jim Meyering  <meyering@redhat.com>
55617         ncftpput-ftp: clean up spaces
55618         * build-aux/ncftpput-ftp: Make Copyright line consistent.
55619         Remove trailing blanks.
55621 2010-01-27  Simon Josefsson  <simon@josefsson.org>
55623         * build-aux/git-version-gen: Fix copyright statement.
55624         * build-aux/gnupload: Likewise.
55625         * tests/test-arcfour.c: Likewise.
55626         * tests/test-arctwo.c: Likewise.
55627         * tests/test-count-one-bits.c: Likewise.
55628         * tests/test-crc.c: Likewise.
55629         * tests/test-des.c: Likewise.
55630         * tests/test-gc-arcfour.c: Likewise.
55631         * tests/test-gc-arctwo.c: Likewise.
55632         * tests/test-gc-des.c: Likewise.
55633         * tests/test-gc-hmac-md5.c: Likewise.
55634         * tests/test-gc-hmac-sha1.c: Likewise.
55635         * tests/test-gc-md2.c: Likewise.
55636         * tests/test-gc-md4.c: Likewise.
55637         * tests/test-gc-md5.c: Likewise.
55638         * tests/test-gc-pbkdf2-sha1.c: Likewise.
55639         * tests/test-gc-rijndael.c: Likewise.
55640         * tests/test-gc-sha1.c: Likewise.
55641         * tests/test-gc.c: Likewise.
55642         * tests/test-gethostname.c: Likewise.
55643         * tests/test-gettimeofday.c: Likewise.
55644         * tests/test-hash.c: Likewise.
55645         * tests/test-hmac-md5.c: Likewise.
55646         * tests/test-hmac-sha1.c: Likewise.
55647         * tests/test-md2.c: Likewise.
55648         * tests/test-md4.c: Likewise.
55649         * tests/test-md5.c: Likewise.
55650         * tests/test-memchr.c: Likewise.
55651         * tests/test-memchr2.c: Likewise.
55652         * tests/test-memcmp.c: Likewise.
55653         * tests/test-memmem.c: Likewise.
55654         * tests/test-memrchr.c: Likewise.
55655         * tests/test-rawmemchr.c: Likewise.
55656         * tests/test-read-file.c: Likewise.
55657         * tests/test-rijndael.c: Likewise.
55658         * tests/test-sockets.c: Likewise.
55659         * tests/test-strchrnul.c: Likewise.
55660         * tests/test-strstr.c: Likewise.
55661         * tests/test-strtod.c: Likewise.
55662         * build-aux/ncftpput-ftp: Likewise.
55664 2010-01-26  Eric Blake  <ebb9@byu.net>
55666         ignore-value: update recommended header name
55667         * modules/ignore-value (Include): Only use <> for headers that
55668         exist in glibc.
55670 2010-01-26  Jim Meyering  <meyering@redhat.com>
55672         test-userspec.c: avoid compiler warnings
55673         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
55674         and "initialization discards qualifiers..." warnings.
55675         Put the first "uid" in its own scope, and make char* members "const".
55677 2010-01-25  Bruno Haible  <bruno@clisp.org>
55679         gnulib-tool: Make warning diagnostics consistent.
55680         * gnulib-tool (func_warning): New function.
55681         Use it everywhere where gnulib-tool produces output to stderr and it is
55682         not a fatal error.
55684 2010-01-25  Bruno Haible  <bruno@clisp.org>
55686         Fix test dependencies.
55687         * modules/xstrtol-tests (Depends-on): Add inttypes.
55688         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
55690 2010-01-25  Pádraig Brady  <P@draigBrady.com>
55692         syntax-check: detect incorrect boolean macro values in config.h
55693         * modules/maintainer-makefile (configure.ac): Parameterize the location
55694         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
55695         The logic is from Eric Blake and the location indicated by Jim Meyering.
55696         Note the more natural CONFIG_HEADER name is prohibited by automake
55697         for backwards compatibility reasons.
55698         * top/maint.mk (sc_Wundef_boolean): New rule.
55700 2010-01-25  Jim Meyering  <meyering@redhat.com>
55702         bootstrap: detect MacOS 10.6's shasum, too
55703         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
55704         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
55706 2010-01-23  Jim Meyering  <meyering@redhat.com>
55708         xstrtoll: new module
55709         * modules/xstrtoll: New file.
55710         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
55711         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
55712         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
55713         ./configure fails if you use this module and lack "long long".
55714         * modules/xstrtoll-tests: New module.
55715         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
55716         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
55717         new init.sh-based test framework.
55719 2010-01-24  Bruno Haible  <bruno@clisp.org>
55721         Tests for module 'yn'.
55722         * modules/yn-tests: New file.
55723         * tests/test-yn.c: New file.
55725         Tests for module 'y1'.
55726         * modules/y1-tests: New file.
55727         * tests/test-y1.c: New file.
55729         Tests for module 'y0'.
55730         * modules/y0-tests: New file.
55731         * tests/test-y0.c: New file.
55733         Tests for module 'tanh'.
55734         * modules/tanh-tests: New file.
55735         * tests/test-tanh.c: New file.
55737         Tests for module 'tan'.
55738         * modules/tan-tests: New file.
55739         * tests/test-tan.c: New file.
55741         Tests for module 'sqrt'.
55742         * modules/sqrt-tests: New file.
55743         * tests/test-sqrt.c: New file.
55745         Tests for module 'sinh'.
55746         * modules/sinh-tests: New file.
55747         * tests/test-sinh.c: New file.
55749         Tests for module 'sin'.
55750         * modules/sin-tests: New file.
55751         * tests/test-sin.c: New file.
55753         Tests for module 'rint'.
55754         * modules/rint-tests: New file.
55755         * tests/test-rint.c: New file.
55757         Tests for module 'remainder'.
55758         * modules/remainder-tests: New file.
55759         * tests/test-remainder.c: New file.
55761         Tests for module 'pow'.
55762         * modules/pow-tests: New file.
55763         * tests/test-pow.c: New file.
55765         Tests for module 'nextafter'.
55766         * modules/nextafter-tests: New file.
55767         * tests/test-nextafter.c: New file.
55769         Tests for module 'modf'.
55770         * modules/modf-tests: New file.
55771         * tests/test-modf.c: New file.
55773         Tests for module 'logb'.
55774         * modules/logb-tests: New file.
55775         * tests/test-logb.c: New file.
55777         Tests for module 'log1p'.
55778         * modules/log1p-tests: New file.
55779         * tests/test-log1p.c: New file.
55781         Tests for module 'log10'.
55782         * modules/log10-tests: New file.
55783         * tests/test-log10.c: New file.
55785         Tests for module 'log'.
55786         * modules/log-tests: New file.
55787         * tests/test-log.c: New file.
55789         Tests for module 'lgamma'.
55790         * modules/lgamma-tests: New file.
55791         * tests/test-lgamma.c: New file.
55793         Tests for module 'ldexp'.
55794         * modules/ldexp-tests: New file.
55795         * tests/test-ldexp.c: New file.
55797         Tests for module 'jn'.
55798         * modules/jn-tests: New file.
55799         * tests/test-jn.c: New file.
55801         Tests for module 'j1'.
55802         * modules/j1-tests: New file.
55803         * tests/test-j1.c: New file.
55805         Tests for module 'j0'.
55806         * modules/j0-tests: New file.
55807         * tests/test-j0.c: New file.
55809         Tests for module 'hypot'.
55810         * modules/hypot-tests: New file.
55811         * tests/test-hypot.c: New file.
55813         Tests for module 'fmod'.
55814         * modules/fmod-tests: New file.
55815         * tests/test-fmod.c: New file.
55817         Tests for module 'fabs'.
55818         * modules/fabs-tests: New file.
55819         * tests/test-fabs.c: New file.
55821         Tests for module 'exp'.
55822         * modules/exp-tests: New file.
55823         * tests/test-exp.c: New file.
55825         Tests for module 'erfc'.
55826         * modules/erfc-tests: New file.
55827         * tests/test-erfc.c: New file.
55829         Tests for module 'erf'.
55830         * modules/erf-tests: New file.
55831         * tests/test-erf.c: New file.
55833         Tests for module 'cosh'.
55834         * modules/cosh-tests: New file.
55835         * tests/test-cosh.c: New file.
55837         Tests for module 'cos'.
55838         * modules/cos-tests: New file.
55839         * tests/test-cos.c: New file.
55841         Tests for module 'copysign'.
55842         * modules/copysign-tests: New file.
55843         * tests/test-copysign.c: New file.
55845         Tests for module 'cbrt'.
55846         * modules/cbrt-tests: New file.
55847         * tests/test-cbrt.c: New file.
55849         Tests for module 'atan2'.
55850         * modules/atan2-tests: New file.
55851         * tests/test-atan2.c: New file.
55853         Tests for module 'atan'.
55854         * modules/atan-tests: New file.
55855         * tests/test-atan.c: New file.
55857         Tests for module 'asin'.
55858         * modules/asin-tests: New file.
55859         * tests/test-asin.c: New file.
55861         Tests for module 'acos'.
55862         * modules/acos-tests: New file.
55863         * tests/test-acos.c: New file.
55865 2010-01-24  Bruno Haible  <bruno@clisp.org>
55867         Fix tests for common <math.h> functions.
55868         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
55869         code snippet that references the function pointer, rather than merely
55870         calling the function. Substitute the FUNC_LIBM variable.
55871         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
55872         * modules/acos (configure.ac): Likewise.
55873         * modules/asin (configure.ac): Likewise.
55874         * modules/atan (configure.ac): Likewise.
55875         * modules/atan2 (configure.ac): Likewise.
55876         * modules/cbrt (configure.ac): Likewise.
55877         * modules/copysign (configure.ac): Likewise.
55878         * modules/cos (configure.ac): Likewise.
55879         * modules/cosh (configure.ac): Likewise.
55880         * modules/erf (configure.ac): Likewise.
55881         * modules/erfc (configure.ac): Likewise.
55882         * modules/exp (configure.ac): Likewise.
55883         * modules/fabs (configure.ac): Likewise.
55884         * modules/fmod (configure.ac): Likewise.
55885         * modules/hypot (configure.ac): Likewise.
55886         * modules/j0 (configure.ac): Likewise.
55887         * modules/j1 (configure.ac): Likewise.
55888         * modules/jn (configure.ac): Likewise.
55889         * modules/ldexp (configure.ac): Likewise.
55890         * modules/lgamma (configure.ac): Likewise.
55891         * modules/log (configure.ac): Likewise.
55892         * modules/log10 (configure.ac): Likewise.
55893         * modules/log1p (configure.ac): Likewise.
55894         * modules/logb (configure.ac): Likewise.
55895         * modules/modf (configure.ac): Likewise.
55896         * modules/nextafter (configure.ac): Likewise.
55897         * modules/pow (configure.ac): Likewise.
55898         * modules/remainder (configure.ac): Likewise.
55899         * modules/rint (configure.ac): Likewise.
55900         * modules/sin (configure.ac): Likewise.
55901         * modules/sinh (configure.ac): Likewise.
55902         * modules/tan (configure.ac): Likewise.
55903         * modules/tanh (configure.ac): Likewise.
55904         * modules/y0 (configure.ac): Likewise.
55905         * modules/y1 (configure.ac): Likewise.
55906         * modules/yn (configure.ac): Likewise.
55908 2010-01-24  Bruno Haible  <bruno@clisp.org>
55910         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
55911         * tests/test-acosl.c (x): New variable.
55912         (main): Store argument in x and fetch it from x.
55913         * tests/test-asinl.c (x): New variable.
55914         (main): Store argument in x and fetch it from x.
55915         * tests/test-atanl.c (x): New variable.
55916         (main): Store argument in x and fetch it from x.
55917         * tests/test-cosl.c (x): New variable.
55918         (main): Store argument in x and fetch it from x.
55919         * tests/test-expl.c (x): New variable.
55920         (main): Store argument in x and fetch it from x.
55921         * tests/test-logl.c (x): New variable.
55922         (main): Store argument in x and fetch it from x.
55923         * tests/test-sinl.c (x): New variable.
55924         (main): Store argument in x and fetch it from x.
55925         * tests/test-sqrtl.c (x): New variable.
55926         (main): Store argument in x and fetch it from x.
55927         * tests/test-tanl.c (x): New variable.
55928         (main): Store argument in x and fetch it from x.
55930 2010-01-24  Bruno Haible  <bruno@clisp.org>
55932         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
55933         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
55934         assignments to the initial TESTS_ENVIRONMENT.
55935         * doc/gnulib.texi (Unit test modules): Document it.
55936         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
55937         TESTS_ENVIRONMENT.
55938         * modules/btowc-tests (Makefile.am): Likewise.
55939         * modules/c-stack-tests (Makefile.am): Likewise.
55940         * modules/c-strcase-tests (Makefile.am): Likewise.
55941         * modules/copy-file-tests (Makefile.am): Likewise.
55942         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
55943         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
55944         * modules/mbrtowc-tests (Makefile.am): Likewise.
55945         * modules/mbscasecmp-tests (Makefile.am): Likewise.
55946         * modules/mbscasestr-tests (Makefile.am): Likewise.
55947         * modules/mbschr-tests (Makefile.am): Likewise.
55948         * modules/mbscspn-tests (Makefile.am): Likewise.
55949         * modules/mbsinit-tests (Makefile.am): Likewise.
55950         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
55951         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
55952         * modules/mbspbrk-tests (Makefile.am): Likewise.
55953         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
55954         * modules/mbsrchr-tests (Makefile.am): Likewise.
55955         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
55956         * modules/mbsspn-tests (Makefile.am): Likewise.
55957         * modules/mbsstr-tests (Makefile.am): Likewise.
55958         * modules/nl_langinfo-tests (Makefile.am): Likewise.
55959         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
55960         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
55961         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
55962         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
55963         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
55964         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
55965         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
55966         * modules/wcrtomb-tests (Makefile.am): Likewise.
55967         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
55968         * modules/wcsrtombs-tests (Makefile.am): Likewise.
55969         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
55970         assignments from TESTS_ENVIRONMENT.
55971         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
55972         augmentation.
55973         * modules/argp-version-etc-tests (Makefile.am): Likewise.
55974         * modules/atexit-tests (Makefile.am): Likewise.
55975         * modules/binary-io-tests (Makefile.am): Likewise.
55976         * modules/closein-tests (Makefile.am): Likewise.
55977         * modules/dprintf-posix-tests (Makefile.am): Likewise.
55978         * modules/exclude-tests (Makefile.am): Likewise.
55979         * modules/fflush-tests (Makefile.am): Likewise.
55980         * modules/fpending-tests (Makefile.am): Likewise.
55981         * modules/fprintf-posix-tests (Makefile.am): Likewise.
55982         * modules/freadahead-tests (Makefile.am): Likewise.
55983         * modules/freadptr-tests (Makefile.am): Likewise.
55984         * modules/freadseek-tests (Makefile.am): Likewise.
55985         * modules/fseek-tests (Makefile.am): Likewise.
55986         * modules/fseeko-tests (Makefile.am): Likewise.
55987         * modules/ftell-tests (Makefile.am): Likewise.
55988         * modules/ftello-tests (Makefile.am): Likewise.
55989         * modules/idpriv-drop-tests (Makefile.am): Likewise.
55990         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
55991         * modules/lseek-tests (Makefile.am): Likewise.
55992         * modules/parse-duration-tests (Makefile.am): Likewise.
55993         * modules/perror-tests (Makefile.am): Likewise.
55994         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
55995         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
55996         * modules/pipe-tests (Makefile.am): Likewise.
55997         * modules/pread-tests (Makefile.am): Likewise.
55998         * modules/printf-posix-tests (Makefile.am): Likewise.
55999         * modules/select-tests (Makefile.am): Likewise.
56000         * modules/sigpipe-tests (Makefile.am): Likewise.
56001         * modules/tsearch-tests (Makefile.am): Likewise.
56002         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
56003         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
56004         * modules/uniname/uniname-tests (Makefile.am): Likewise.
56005         * modules/uniwidth/width-tests (Makefile.am): Likewise.
56006         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
56007         * modules/version-etc-tests (Makefile.am): Likewise.
56008         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
56009         * modules/vprintf-posix-tests (Makefile.am): Likewise.
56010         * modules/xalloc-die-tests (Makefile.am): Likewise.
56011         * modules/xprintf-posix-tests (Makefile.am): Likewise.
56012         * modules/xstrtoimax-tests (Makefile.am): Likewise.
56013         * modules/xstrtol-tests (Makefile.am): Likewise.
56014         * modules/xstrtoumax-tests (Makefile.am): Likewise.
56015         * modules/yesno-tests (Makefile.am): Likewise.
56016         Suggested by Jim Meyering.
56018 2010-01-24  Bruno Haible  <bruno@clisp.org>
56020         More documentation.
56021         * doc/gnulib.texi (Writing modules): New chapter.
56022         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
56023         the new chapter.
56025 2010-01-24  Jim Meyering  <meyering@redhat.com>
56027         maint.mk: do not prepend "./" after filtering
56028         * top/maint.mk (_prepend_srcdir_prefix): New variable
56029         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
56030         "./" when $(srcdir) is ".".
56032         define STREQ(a,b) consistently, removing useless parentheses
56033         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
56034         since the only risk is that "a" or "b" contains an unparenthesized
56035         comma, but if either did that, STREQ would have 3 or more arguments.
56036         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
56037         * lib/fts.c (STREQ): Remove unnecessary parentheses.
56038         * lib/hash-triple.c (STREQ): Likewise.
56039         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
56040         * lib/getugroups.c (STREQ): Likewise.
56042 2010-01-23  Jim Meyering  <meyering@redhat.com>
56044         maint.mk: fix syntax-check in a non-srcdir build directory
56045         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
56046         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
56048 2010-01-22  Jim Meyering  <meyering@redhat.com>
56050         userspec: add unit tests
56051         * tests/test-userspec.c: New file.
56052         * modules/userspec-tests: Likewise.
56054 2010-01-21  Jim Meyering  <meyering@redhat.com>
56056         maint.mk: handle source file names containing "." robustly
56057         * top/maint.mk (_dot_escaped_srcdir): Define.
56058         (VC_LIST): Use it in LHS of sed substitution.
56060 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
56062         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
56063         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
56064         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
56065         from a non-srcdir build.
56067 2010-01-20  Eric Blake  <ebb9@byu.net>
56069         warn-on-use: use instead of link-warning
56070         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
56071         * modules/unistd (Depends-on, Makefile.am): Likewise.
56072         * modules/arpa_inet (Depends-on): Replace link-warning with
56073         warn-on-use.
56074         (Makefile.am): Update rules accordingly.
56075         * modules/ctype (Depends-on, Makefile.am): Likewise.
56076         * modules/dirent (Depends-on, Makefile.am): Likewise.
56077         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
56078         * modules/inttypes (Depends-on, Makefile.am): Likewise.
56079         * modules/langinfo (Depends-on, Makefile.am): Likewise.
56080         * modules/locale (Depends-on, Makefile.am): Likewise.
56081         * modules/math (Depends-on, Makefile.am): Likewise.
56082         * modules/search (Depends-on, Makefile.am): Likewise.
56083         * modules/signal (Depends-on, Makefile.am): Likewise.
56084         * modules/spawn (Depends-on, Makefile.am): Likewise.
56085         * modules/stdlib (Depends-on, Makefile.am): Likewise.
56086         * modules/string (Depends-on, Makefile.am): Likewise.
56087         * modules/strings (Depends-on, Makefile.am): Likewise.
56088         * modules/sys_file (Depends-on, Makefile.am): Likewise.
56089         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
56090         * modules/sys_select (Depends-on, Makefile.am): Likewise.
56091         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
56092         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
56093         * modules/sys_times (Depends-on, Makefile.am): Likewise.
56094         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
56095         * modules/wchar (Depends-on, Makefile.am): Likewise.
56096         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
56097         should be poisoned.
56098         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
56099         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
56100         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
56101         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
56102         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
56103         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
56104         * m4/math_h.m4 (gl_MATH_H): Likewise.
56105         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
56106         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
56107         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
56108         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
56109         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
56110         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
56111         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
56112         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
56113         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
56114         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56115         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
56116         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
56117         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
56118         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
56119         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
56120         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
56121         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
56122         GL_LINK_WARNING.
56123         * lib/ctype.in.h: Likewise.
56124         * lib/dirent.in.h: Likewise.
56125         * lib/fcntl.in.h: Likewise.
56126         * lib/inttypes.in.h: Likewise.
56127         * lib/langinfo.in.h: Likewise.
56128         * lib/locale.in.h: Likewise.
56129         * lib/math.in.h: Likewise.
56130         * lib/search.in.h: Likewise.
56131         * lib/signal.in.h: Likewise.
56132         * lib/spawn.in.h: Likewise.
56133         * lib/stdio.in.h: Likewise.
56134         * lib/stdlib.in.h: Likewise.
56135         * lib/string.in.h: Likewise.
56136         * lib/strings.in.h: Likewise.
56137         * lib/sys_file.in.h: Likewise.
56138         * lib/sys_ioctl.in.h: Likewise.
56139         * lib/sys_select.in.h: Likewise.
56140         * lib/sys_socket.in.h: Likewise.
56141         * lib/sys_stat.in.h: Likewise.
56142         * lib/sys_times.in.h: Likewise.
56143         * lib/sys_utsname.in.h: Likewise.
56144         * lib/unistd.in.h: Likewise.
56145         * lib/wchar.in.h: Likewise.
56147 2010-01-20  Bruno Haible  <bruno@clisp.org>
56149         Avoid duplicate -lm.
56150         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
56151         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
56152         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
56153         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
56154         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
56155         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
56156         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
56157         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
56158         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
56159         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
56160         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
56161         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
56162         Reported by Paolo Bonzini.
56164 2010-01-19  Bruno Haible  <bruno@clisp.org>
56166         langinfo, nl_langinfo: Relicense under LGPLv2+.
56167         * modules/langinfo (License): Change to LGPLv2+.
56168         * modules/nl_langinfo (License): Likewise.
56169         Patch by David Lutterkort <lutter@redhat.com>.
56171 2010-01-19  Bruno Haible  <bruno@clisp.org>
56173         Avoid compilation error with cc on OSF/1 5.1.
56174         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
56175         statement, not before.
56176         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56178 2010-01-18  Bruno Haible  <bruno@clisp.org>
56180         Avoid a link error due to the __printf__ symbol.
56181         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
56182         and 2.6.x.
56183         (__format__, __printf__): Remove definitions.
56184         * lib/argp-fmtstream.h: Likewise.
56185         * lib/argp.h: Likewise.
56186         * lib/error.h: Likewise.
56187         * lib/vasnprintf.h: Likewise.
56188         * lib/xprintf.h: Likewise.
56189         * lib/xvasprintf.h: Likewise.
56190         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56192 2010-01-18  Bruno Haible  <bruno@clisp.org>
56194         Tests for module 'tanl'.
56195         * modules/tanl-tests: New file.
56196         * tests/test-tanl.c: New file.
56198         Tests for module 'sqrtl'.
56199         * modules/sqrtl-tests: New file.
56200         * tests/test-sqrtl.c: New file.
56202         Tests for module 'sinl'.
56203         * modules/sinl-tests: New file.
56204         * tests/test-sinl.c: New file.
56206         Tests for module 'logl'.
56207         * modules/logl-tests: New file.
56208         * tests/test-logl.c: New file.
56210         Tests for module 'expl'.
56211         * modules/expl-tests: New file.
56212         * tests/test-expl.c: New file.
56214         Tests for module 'cosl'.
56215         * modules/cosl-tests: New file.
56216         * tests/test-cosl.c: New file.
56218         Tests for module 'atanl'.
56219         * modules/atanl-tests: New file.
56220         * tests/test-atanl.c: New file.
56222         Tests for module 'asinl'.
56223         * modules/asinl-tests: New file.
56224         * tests/test-asinl.c: New file.
56226         Tests for module 'acosl'.
56227         * modules/acosl-tests: New file.
56228         * tests/test-acosl.c: New file.
56230         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56231         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
56232         tanl): Use the standard gnulib idiom.
56233         * lib/cosl.c: Don't include trigl.c and sincosl.c.
56234         * lib/sinl.c: Likewise.
56235         * lib/tanl.c: Don't include trigl.c.
56236         (kernel_tanl): Make static.
56237         * lib/sincosl.c: Include trigl.h first.
56238         * lib/trigl.c: Likewise.
56239         * m4/acosl.m4: New file.
56240         * m4/asinl.m4: New file.
56241         * m4/atanl.m4: New file.
56242         * m4/cosl.m4: New file.
56243         * m4/expl.m4: New file.
56244         * m4/logl.m4: New file.
56245         * m4/sinl.m4: New file.
56246         * m4/sqrtl.m4: New file.
56247         * m4/tanl.m4: New file.
56248         * m4/mathl.m4: Remove file.
56249         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
56250         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
56251         Don't initialize GNULIB_MATHL.
56252         * modules/acosl: New file.
56253         * modules/asinl: New file.
56254         * modules/atanl: New file.
56255         * modules/cosl: New file.
56256         * modules/expl: New file.
56257         * modules/logl: New file.
56258         * modules/sinl: New file.
56259         * modules/sqrtl: New file.
56260         * modules/tanl: New file.
56261         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
56262         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
56263         substitute GNULIB_MATHL.
56264         * modules/mathl: Rewritten.
56265         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
56266         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
56267         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
56268         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
56269         * doc/posix-functions/expl.texi: Mention the 'expl' module.
56270         * doc/posix-functions/logl.texi: Mention the 'logl' module.
56271         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
56272         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
56273         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
56275 2010-01-18  Bruno Haible  <bruno@clisp.org>
56277         sqrt: Make gl_FUNC_SQRT requirable.
56278         * m4/sqrt.m4: New file.
56279         * modules/sqrt (Files): Add it.
56280         (configure.ac): Invoke gl_FUNC_SQRT.
56282 2010-01-18  Bruno Haible  <bruno@clisp.org>
56284         New modules for common <math.h> functions.
56285         * m4/mathfunc.m4: New file.
56286         * modules/acos: New file.
56287         * modules/asin: New file.
56288         * modules/atan: New file.
56289         * modules/atan2: New file.
56290         * modules/cbrt: New file.
56291         * modules/copysign: New file.
56292         * modules/cos: New file.
56293         * modules/cosh: New file.
56294         * modules/erf: New file.
56295         * modules/erfc: New file.
56296         * modules/exp: New file.
56297         * modules/fabs: New file.
56298         * modules/fmod: New file.
56299         * modules/hypot: New file.
56300         * modules/j0: New file.
56301         * modules/j1: New file.
56302         * modules/jn: New file.
56303         * modules/ldexp: New file.
56304         * modules/lgamma: New file.
56305         * modules/log: New file.
56306         * modules/log10: New file.
56307         * modules/log1p: New file.
56308         * modules/logb: New file.
56309         * modules/modf: New file.
56310         * modules/nextafter: New file.
56311         * modules/pow: New file.
56312         * modules/remainder: New file.
56313         * modules/rint: New file.
56314         * modules/sin: New file.
56315         * modules/sinh: New file.
56316         * modules/sqrt: New file.
56317         * modules/tan: New file.
56318         * modules/tanh: New file.
56319         * modules/y0: New file.
56320         * modules/y1: New file.
56321         * modules/yn: New file.
56322         * doc/posix-functions/acos.texi: Mention the 'acos' module.
56323         * doc/posix-functions/asin.texi: Mention the 'asin' module.
56324         * doc/posix-functions/atan.texi: Mention the 'atan' module.
56325         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
56326         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
56327         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
56328         * doc/posix-functions/cos.texi: Mention the 'cos' module.
56329         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
56330         * doc/posix-functions/erf.texi: Mention the 'erf' module.
56331         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
56332         * doc/posix-functions/exp.texi: Mention the 'exp' module.
56333         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
56334         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
56335         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
56336         * doc/posix-functions/j0.texi: Mention the 'j0' module.
56337         * doc/posix-functions/j1.texi: Mention the 'j1' module.
56338         * doc/posix-functions/jn.texi: Mention the 'jn' module.
56339         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
56340         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
56341         * doc/posix-functions/log.texi: Mention the 'log' module.
56342         * doc/posix-functions/log10.texi: Mention the 'log10' module.
56343         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
56344         * doc/posix-functions/logb.texi: Mention the 'logb' module.
56345         * doc/posix-functions/modf.texi: Mention the 'modf' module.
56346         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
56347         * doc/posix-functions/pow.texi: Mention the 'pow' module.
56348         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
56349         * doc/posix-functions/rint.texi: Mention the 'rint' module.
56350         * doc/posix-functions/sin.texi: Mention the 'sin' module.
56351         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
56352         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
56353         * doc/posix-functions/tan.texi: Mention the 'tan' module.
56354         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
56355         * doc/posix-functions/y0.texi: Mention the 'y0' module.
56356         * doc/posix-functions/y1.texi: Mention the 'y1' module.
56357         * doc/posix-functions/yn.texi: Mention the 'yn' module.
56359 2010-01-18  Jim Meyering  <meyering@redhat.com>
56361         ignore-value: relax license to LGPLv2+
56362         * modules/ignore-value (License): Relax to LGPLv2+.
56364         getdate: don't leak when TZ contains two or more '"'s
56365         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
56366         double quote in TZ after the first one.
56368         readtokens: do not leak internal token_lengths buffer
56369         * lib/readtokens.c (readtokens): Free the local, lengths,
56370         when the supplied "token_lengths" parameter is NULL.
56372 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56374         Fix a couple of missing LIBTHREAD link failures on AIX.
56375         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
56376         $(LIBTHREAD).
56377         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
56379         Link test-poll against INET_PTON_LIB.
56380         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
56381         for inet_pton on Solaris 10.
56383 2010-01-17  Bruno Haible  <bruno@clisp.org>
56385         unistdio/*-sprintf: Fix typo in module description.
56386         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
56387         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
56388         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
56389         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
56390         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
56391         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
56392         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
56393         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56395 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56397         gnulib-tool: fix filelist for AIX, HP-UX ksh.
56398         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
56399         variables in shell case patterns, for AIX and HP-UX ksh.
56401         Split large sed scripts, for HP-UX sed.
56402         * modules/stdio: Split sed scripts around 50 sed commands,
56403         to avoid HP-UX limit of 99 commands, in the near future.
56404         * modules/string: Likewise.
56405         * modules/unistd: Likewise.
56407         gnulib-tool: avoid writing in the current directory.
56408         * gnulib-tool (func_emit_lib_Makefile_am)
56409         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
56410         not in the current directory, so concurrent gnulib-tool
56411         instances do not interfere.
56413 2010-01-16  Jim Meyering  <meyering@redhat.com>
56415         doc: update users.txt
56416         * users.txt: Add grep.
56417         (diffutils, gzip): Update URLs.
56419 2010-01-12  Bruno Haible  <bruno@clisp.org>
56421         posix_spawn: Avoid test failure on Cygwin.
56422         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
56423         characters.
56424         Reported by Simon Josefsson.
56426 2010-01-12  Bruno Haible  <bruno@clisp.org>
56428         * tests/test-cond.c (main): When skipping the test, show the reason.
56430 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56432         * lib/striconv.c (str_cd_iconv): Avoid if before free.
56434 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56436         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
56437         VC_LIST_ALWAYS_EXCLUDE_REGEX.
56439 2010-01-12  Eric Blake  <ebb9@byu.net>
56441         build: guarantee AS_VAR_IF
56442         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
56443         (gl_AS_VAR_IF): Move...
56444         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
56445         Reported by Simon Josefsson.
56447 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56449         * lib/stdio.in.h: Fix typo.
56451 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56453         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
56454         libgpg-error.
56456 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56458         * tests/test-xalloc-die.sh: Use $EXEEXT.
56460 2010-01-12  Simon Josefsson  <simon@josefsson.org>
56461             Bruno Haible  <bruno@clisp.org>
56463         getlogin, getlogin_r: Avoid test failure.
56464         * tests/test-getlogin.c: Include <stdio.h>.
56465         (main): Skip the test when the function fails because stdin is not a
56466         tty.
56467         * tests/test-getlogin_r.c: Include <stdio.h>.
56468         (main): Skip the test when the function fails because stdin is not a
56469         tty.
56471 2010-01-11  Eric Blake  <ebb9@byu.net>
56473         tests: avoid more large file warnings
56474         * tests/test-fflush.c: Avoid warning about ftell use.
56475         * tests/test-fseek.c: Avoid warning about fseek use.
56477 2010-01-10  Bruno Haible  <bruno@clisp.org>
56479         nproc: Work better on Linux when /proc and /sys are not mounted.
56480         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
56481         as lower bound when, on glibc/Linux systems,
56482         sysconf (_SC_NPROCESSORS_CONF) returns 1.
56483         Suggested by Pádraig Brady <P@draigbrady.com>.
56484         Reported by Dmitry V. Levin <ldv@altlinux.org>.
56486         nproc: Refactor.
56487         * lib/nproc.c (num_processors_via_affinity_mask): New function,
56488         extracted from num_processors.
56489         (num_processors): Call it.
56491 2010-01-11  Jim Meyering  <meyering@redhat.com>
56493         utimecmp: avoid new warning from upcoming gcc-4.5.0
56494         * lib/utimecmp.c (BILLION): Define using #define rather than an
56495         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
56497 2010-01-11  Eric Blake  <ebb9@byu.net>
56499         math: add portability warnings for classification macros
56500         * modules/math (Depends-on): Add warn-on-use.
56501         (Makefile.am): Provide new substitutions.
56502         * m4/math_h.m4 (gl_MATH_H): Require inline.
56503         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
56504         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
56505         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
56506         implement warnings.
56508         unistd: warn on use of environ without module
56509         * modules/unistd (Depends-on): Add warn-on-use.
56510         (Makefile.am): Provide new substitutions.
56511         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
56512         * lib/unistd.in.h (environ): Wrap with a warning helper function.
56514         stdio: warn on suspicious uses
56515         * modules/stdio (Depends-on): Add warn-on-use.
56516         (Makefile.am): Provide new substitutions.
56517         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
56518         fseeko.
56519         * lib/stdio.in.h (gets): Always warn on use.
56520         (fseek, ftell): Adjust when warnings are issued, and honor
56521         _GL_NO_LARGE_FILES as a way to silence the warning.
56522         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
56523         any warning about large file offsets.
56524         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
56525         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
56526         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
56527         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
56528         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
56529         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
56530         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
56531         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
56533         warn-on-use: new module
56534         * modules/warn-on-use: New file.
56535         * build-aux/warn-on-use.h: Likewise.
56536         * m4/warn-on-use.m4: Likewise.
56537         * MODULES.html.sh (Support for building): Mention it.
56539 2010-01-10  Bruno Haible  <bruno@clisp.org>
56541         Tests for module 'unistr/u32-strdup'.
56542         * modules/unistr/u32-strdup-tests: New file.
56543         * tests/unistr/test-u32-strdup.c: New file.
56545         Tests for module 'unistr/u16-strdup'.
56546         * modules/unistr/u16-strdup-tests: New file.
56547         * tests/unistr/test-u16-strdup.c: New file.
56549         Tests for module 'unistr/u8-strdup'.
56550         * modules/unistr/u8-strdup-tests: New file.
56551         * tests/unistr/test-u8-strdup.c: New file.
56552         * tests/unistr/test-strdup.h: New file.
56554         Tests for module 'unistr/u32-strncmp'.
56555         * modules/unistr/u32-strncmp-tests: New file.
56556         * tests/unistr/test-u32-strncmp.c: New file.
56558         Tests for module 'unistr/u16-strncmp'.
56559         * modules/unistr/u16-strncmp-tests: New file.
56560         * tests/unistr/test-u16-strncmp.c: New file.
56562         Tests for module 'unistr/u8-strncmp'.
56563         * modules/unistr/u8-strncmp-tests: New file.
56564         * tests/unistr/test-u8-strncmp.c: New file.
56565         * tests/unistr/test-strncmp.h: New file.
56567         Tests for module 'unistr/u32-strcoll'.
56568         * modules/unistr/u32-strcoll-tests: New file.
56569         * tests/unistr/test-u32-strcoll.c: New file.
56571         Tests for module 'unistr/u16-strcoll'.
56572         * modules/unistr/u16-strcoll-tests: New file.
56573         * tests/unistr/test-u16-strcoll.c: New file.
56575         Tests for module 'unistr/u8-strcoll'.
56576         * modules/unistr/u8-strcoll-tests: New file.
56577         * tests/unistr/test-u8-strcoll.c: New file.
56579         Tests for module 'unistr/u32-strcmp'.
56580         * modules/unistr/u32-strcmp-tests: New file.
56581         * tests/unistr/test-u32-strcmp.c: New file.
56582         * tests/unistr/test-u32-strcmp.h: New file.
56584         Tests for module 'unistr/u16-strcmp'.
56585         * modules/unistr/u16-strcmp-tests: New file.
56586         * tests/unistr/test-u16-strcmp.c: New file.
56587         * tests/unistr/test-u16-strcmp.h: New file.
56589         Tests for module 'unistr/u8-strcmp'.
56590         * modules/unistr/u8-strcmp-tests: New file.
56591         * tests/unistr/test-u8-strcmp.c: New file.
56592         * tests/unistr/test-u8-strcmp.h: New file.
56593         * tests/unistr/test-strcmp.h: New file.
56595         Tests for module 'unistr/u32-strncat'.
56596         * modules/unistr/u32-strncat-tests: New file.
56597         * tests/unistr/test-u32-strncat.c: New file.
56599         Tests for module 'unistr/u16-strncat'.
56600         * modules/unistr/u16-strncat-tests: New file.
56601         * tests/unistr/test-u16-strncat.c: New file.
56603         Tests for module 'unistr/u8-strncat'.
56604         * modules/unistr/u8-strncat-tests: New file.
56605         * tests/unistr/test-u8-strncat.c: New file.
56606         * tests/unistr/test-strncat.h: New file.
56608         Tests for module 'unistr/u32-strcat'.
56609         * modules/unistr/u32-strcat-tests: New file.
56610         * tests/unistr/test-u32-strcat.c: New file.
56612         Tests for module 'unistr/u16-strcat'.
56613         * modules/unistr/u16-strcat-tests: New file.
56614         * tests/unistr/test-u16-strcat.c: New file.
56616         Tests for module 'unistr/u8-strcat'.
56617         * modules/unistr/u8-strcat-tests: New file.
56618         * tests/unistr/test-u8-strcat.c: New file.
56619         * tests/unistr/test-strcat.h: New file.
56621         Tests for module 'unistr/u32-stpncpy'.
56622         * modules/unistr/u32-stpncpy-tests: New file.
56623         * tests/unistr/test-u32-stpncpy.c: New file.
56625         Tests for module 'unistr/u16-stpncpy'.
56626         * modules/unistr/u16-stpncpy-tests: New file.
56627         * tests/unistr/test-u16-stpncpy.c: New file.
56629         Tests for module 'unistr/u8-stpncpy'.
56630         * modules/unistr/u8-stpncpy-tests: New file.
56631         * tests/unistr/test-u8-stpncpy.c: New file.
56632         * tests/unistr/test-stpncpy.h: New file.
56634         Tests for module 'unistr/u32-strncpy'.
56635         * modules/unistr/u32-strncpy-tests: New file.
56636         * tests/unistr/test-u32-strncpy.c: New file.
56638         Tests for module 'unistr/u16-strncpy'.
56639         * modules/unistr/u16-strncpy-tests: New file.
56640         * tests/unistr/test-u16-strncpy.c: New file.
56642         Tests for module 'unistr/u8-strncpy'.
56643         * modules/unistr/u8-strncpy-tests: New file.
56644         * tests/unistr/test-u8-strncpy.c: New file.
56645         * tests/unistr/test-strncpy.h: New file.
56647         Tests for module 'unistr/u32-stpcpy'.
56648         * modules/unistr/u32-stpcpy-tests: New file.
56649         * tests/unistr/test-u32-stpcpy.c: New file.
56651         Tests for module 'unistr/u16-stpcpy'.
56652         * modules/unistr/u16-stpcpy-tests: New file.
56653         * tests/unistr/test-u16-stpcpy.c: New file.
56655         Tests for module 'unistr/u8-stpcpy'.
56656         * modules/unistr/u8-stpcpy-tests: New file.
56657         * tests/unistr/test-u8-stpcpy.c: New file.
56658         * tests/unistr/test-stpcpy.h: New file.
56660         Tests for module 'unistr/u32-strcpy'.
56661         * modules/unistr/u32-strcpy-tests: New file.
56662         * tests/unistr/test-u32-strcpy.c: New file.
56664         Tests for module 'unistr/u16-strcpy'.
56665         * modules/unistr/u16-strcpy-tests: New file.
56666         * tests/unistr/test-u16-strcpy.c: New file.
56668         Tests for module 'unistr/u8-strcpy'.
56669         * modules/unistr/u8-strcpy-tests: New file.
56670         * tests/unistr/test-u8-strcpy.c: New file.
56671         * tests/unistr/test-strcpy.h: New file.
56673         Tests for module 'unistr/u32-strnlen'.
56674         * modules/unistr/u32-strnlen-tests: New file.
56675         * tests/unistr/test-u32-strnlen.c: New file.
56677         Tests for module 'unistr/u16-strnlen'.
56678         * modules/unistr/u16-strnlen-tests: New file.
56679         * tests/unistr/test-u16-strnlen.c: New file.
56681         Tests for module 'unistr/u8-strnlen'.
56682         * modules/unistr/u8-strnlen-tests: New file.
56683         * tests/unistr/test-u8-strnlen.c: New file.
56684         * tests/unistr/test-strnlen.h: New file.
56686         Tests for module 'unistr/u32-strlen'.
56687         * modules/unistr/u32-strlen-tests: New file.
56688         * tests/unistr/test-u32-strlen.c: New file.
56690         Tests for module 'unistr/u16-strlen'.
56691         * modules/unistr/u16-strlen-tests: New file.
56692         * tests/unistr/test-u16-strlen.c: New file.
56694         Tests for module 'unistr/u8-strlen'.
56695         * modules/unistr/u8-strlen-tests: New file.
56696         * tests/unistr/test-u8-strlen.c: New file.
56698         Tests for module 'unistr/u32-prev'.
56699         * modules/unistr/u32-prev-tests: New file.
56700         * tests/unistr/test-u32-prev.c: New file.
56702         Tests for module 'unistr/u16-prev'.
56703         * modules/unistr/u16-prev-tests: New file.
56704         * tests/unistr/test-u16-prev.c: New file.
56706         Tests for module 'unistr/u8-prev'.
56707         * modules/unistr/u8-prev-tests: New file.
56708         * tests/unistr/test-u8-prev.c: New file.
56710         Tests for module 'unistr/u32-next'.
56711         * modules/unistr/u32-next-tests: New file.
56712         * tests/unistr/test-u32-next.c: New file.
56714         Tests for module 'unistr/u16-next'.
56715         * modules/unistr/u16-next-tests: New file.
56716         * tests/unistr/test-u16-next.c: New file.
56718         Tests for module 'unistr/u8-next'.
56719         * modules/unistr/u8-next-tests: New file.
56720         * tests/unistr/test-u8-next.c: New file.
56722         Tests for module 'unistr/u32-strmbtouc'.
56723         * modules/unistr/u32-strmbtouc-tests: New file.
56724         * tests/unistr/test-u32-strmbtouc.c: New file.
56726         Tests for module 'unistr/u16-strmbtouc'.
56727         * modules/unistr/u16-strmbtouc-tests: New file.
56728         * tests/unistr/test-u16-strmbtouc.c: New file.
56730         Tests for module 'unistr/u8-strmbtouc'.
56731         * modules/unistr/u8-strmbtouc-tests: New file.
56732         * tests/unistr/test-u8-strmbtouc.c: New file.
56734         Tests for module 'unistr/u32-strmblen'.
56735         * modules/unistr/u32-strmblen-tests: New file.
56736         * tests/unistr/test-u32-strmblen.c: New file.
56738         Tests for module 'unistr/u16-strmblen'.
56739         * modules/unistr/u16-strmblen-tests: New file.
56740         * tests/unistr/test-u16-strmblen.c: New file.
56742         Tests for module 'unistr/u8-strmblen'.
56743         * modules/unistr/u8-strmblen-tests: New file.
56744         * tests/unistr/test-u8-strmblen.c: New file.
56746         Tests for module 'unistr/u32-cpy-alloc'.
56747         * modules/unistr/u32-cpy-alloc-tests: New file.
56748         * tests/unistr/test-u32-cpy-alloc.c: New file.
56750         Tests for module 'unistr/u16-cpy-alloc'.
56751         * modules/unistr/u16-cpy-alloc-tests: New file.
56752         * tests/unistr/test-u16-cpy-alloc.c: New file.
56754         Tests for module 'unistr/u8-cpy-alloc'.
56755         * modules/unistr/u8-cpy-alloc-tests: New file.
56756         * tests/unistr/test-u8-cpy-alloc.c: New file.
56757         * tests/unistr/test-cpy-alloc.h: New file.
56759         Tests for module 'unistr/u32-mbsnlen'.
56760         * modules/unistr/u32-mbsnlen-tests: New file.
56761         * tests/unistr/test-u32-mbsnlen.c: New file.
56763         Tests for module 'unistr/u16-mbsnlen'.
56764         * modules/unistr/u16-mbsnlen-tests: New file.
56765         * tests/unistr/test-u16-mbsnlen.c: New file.
56767         Tests for module 'unistr/u8-mbsnlen'.
56768         * modules/unistr/u8-mbsnlen-tests: New file.
56769         * tests/unistr/test-u8-mbsnlen.c: New file.
56771         Tests for module 'unistr/u32-chr'.
56772         * modules/unistr/u32-chr-tests: New file.
56773         * tests/unistr/test-u32-chr.c: New file.
56775         Tests for module 'unistr/u16-chr'.
56776         * modules/unistr/u16-chr-tests: New file.
56777         * tests/unistr/test-u16-chr.c: New file.
56779         Tests for module 'unistr/u8-chr'.
56780         * modules/unistr/u8-chr-tests: New file.
56781         * tests/unistr/test-u8-chr.c: New file.
56782         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
56784         Tests for module 'unistr/u32-cmp2'.
56785         * modules/unistr/u32-cmp2-tests: New file.
56786         * tests/unistr/test-u32-cmp2.c: New file.
56788         Tests for module 'unistr/u16-cmp2'.
56789         * modules/unistr/u16-cmp2-tests: New file.
56790         * tests/unistr/test-u16-cmp2.c: New file.
56792         Tests for module 'unistr/u8-cmp2'.
56793         * modules/unistr/u8-cmp2-tests: New file.
56794         * tests/unistr/test-u8-cmp2.c: New file.
56795         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
56797         Tests for module 'unistr/u32-cmp'.
56798         * modules/unistr/u32-cmp-tests: New file.
56799         * tests/unistr/test-u32-cmp.c: New file.
56801         Tests for module 'unistr/u16-cmp'.
56802         * modules/unistr/u16-cmp-tests: New file.
56803         * tests/unistr/test-u16-cmp.c: New file.
56805         Tests for module 'unistr/u8-cmp'.
56806         * modules/unistr/u8-cmp-tests: New file.
56807         * tests/unistr/test-u8-cmp.c: New file.
56808         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
56810         Tests for module 'unistr/u32-set'.
56811         * modules/unistr/u32-set-tests: New file.
56812         * tests/unistr/test-u32-set.c: New file.
56814         Tests for module 'unistr/u16-set'.
56815         * modules/unistr/u16-set-tests: New file.
56816         * tests/unistr/test-u16-set.c: New file.
56818         Tests for module 'unistr/u8-set'.
56819         * modules/unistr/u8-set-tests: New file.
56820         * tests/unistr/test-u8-set.c: New file.
56821         * tests/unistr/test-set.h: New file.
56823         Tests for module 'unistr/u32-move'.
56824         * modules/unistr/u32-move-tests: New file.
56825         * tests/unistr/test-u32-move.c: New file.
56827         Tests for module 'unistr/u16-move'.
56828         * modules/unistr/u16-move-tests: New file.
56829         * tests/unistr/test-u16-move.c: New file.
56831         Tests for module 'unistr/u8-move'.
56832         * modules/unistr/u8-move-tests: New file.
56833         * tests/unistr/test-u8-move.c: New file.
56834         * tests/unistr/test-move.h: New file.
56836         Tests for module 'unistr/u32-cpy'.
56837         * modules/unistr/u32-cpy-tests: New file.
56838         * tests/unistr/test-u32-cpy.c: New file.
56840         Tests for module 'unistr/u16-cpy'.
56841         * modules/unistr/u16-cpy-tests: New file.
56842         * tests/unistr/test-u16-cpy.c: New file.
56844         Tests for module 'unistr/u8-cpy'.
56845         * modules/unistr/u8-cpy-tests: New file.
56846         * tests/unistr/test-u8-cpy.c: New file.
56847         * tests/unistr/test-cpy.h: New file.
56849 2010-01-09  Bruno Haible  <bruno@clisp.org>
56851         Tests for module 'unistr/u32-uctomb'.
56852         * modules/unistr/u32-uctomb-tests: New file.
56853         * tests/unistr/test-u32-uctomb.c: New file.
56855         Tests for module 'unistr/u16-uctomb'.
56856         * modules/unistr/u16-uctomb-tests: New file.
56857         * tests/unistr/test-u16-uctomb.c: New file.
56859         Tests for module 'unistr/u8-uctomb'.
56860         * modules/unistr/u8-uctomb-tests: New file.
56861         * tests/unistr/test-u8-uctomb.c: New file.
56863         Tests for module 'unistr/u32-mbtoucr'.
56864         * modules/unistr/u32-mbtoucr-tests: New file.
56865         * tests/unistr/test-u32-mbtoucr.c: New file.
56867         Tests for module 'unistr/u16-mbtoucr'.
56868         * modules/unistr/u16-mbtoucr-tests: New file.
56869         * tests/unistr/test-u16-mbtoucr.c: New file.
56871         Tests for module 'unistr/u8-mbtoucr'.
56872         * modules/unistr/u8-mbtoucr-tests: New file.
56873         * tests/unistr/test-u8-mbtoucr.c: New file.
56875         Tests for module 'unistr/u32-mbtouc'.
56876         * modules/unistr/u32-mbtouc-tests: New file.
56877         * tests/unistr/test-u32-mbtouc.c: New file.
56879         Tests for module 'unistr/u16-mbtouc'.
56880         * modules/unistr/u16-mbtouc-tests: New file.
56881         * tests/unistr/test-u16-mbtouc.c: New file.
56883         Tests for module 'unistr/u8-mbtouc'.
56884         * modules/unistr/u8-mbtouc-tests: New file.
56885         * tests/unistr/test-u8-mbtouc.c: New file.
56887         Tests for module 'unistr/u32-mbtouc-unsafe'.
56888         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
56889         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
56890         * tests/unistr/test-u32-mbtouc.h: New file.
56892         Tests for module 'unistr/u16-mbtouc-unsafe'.
56893         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
56894         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
56895         * tests/unistr/test-u16-mbtouc.h: New file.
56897         Tests for module 'unistr/u8-mbtouc-unsafe'.
56898         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
56899         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
56900         * tests/unistr/test-u8-mbtouc.h: New file.
56902         Tests for module 'unistr/u32-mblen'.
56903         * modules/unistr/u32-mblen-tests: New file.
56904         * tests/unistr/test-u32-mblen.c: New file.
56906         Tests for module 'unistr/u16-mblen'.
56907         * modules/unistr/u16-mblen-tests: New file.
56908         * tests/unistr/test-u16-mblen.c: New file.
56910         Tests for module 'unistr/u8-mblen'.
56911         * modules/unistr/u8-mblen-tests: New file.
56912         * tests/unistr/test-u8-mblen.c: New file.
56914         Tests for module 'unistr/u32-to-u16'.
56915         * modules/unistr/u32-to-u16-tests: New file.
56916         * tests/unistr/test-u32-to-u16.c: New file.
56918         Tests for module 'unistr/u32-to-u8'.
56919         * modules/unistr/u32-to-u8-tests: New file.
56920         * tests/unistr/test-u32-to-u8.c: New file.
56922         Tests for module 'unistr/u16-to-u32'.
56923         * modules/unistr/u16-to-u32-tests: New file.
56924         * tests/unistr/test-u16-to-u32.c: New file.
56926         Tests for module 'unistr/u16-to-u8'.
56927         * modules/unistr/u16-to-u8-tests: New file.
56928         * tests/unistr/test-u16-to-u8.c: New file.
56930         Tests for module 'unistr/u8-to-u32'.
56931         * modules/unistr/u8-to-u32-tests: New file.
56932         * tests/unistr/test-u8-to-u32.c: New file.
56934         Tests for module 'unistr/u8-to-u16'.
56935         * modules/unistr/u8-to-u16-tests: New file.
56936         * tests/unistr/test-u8-to-u16.c: New file.
56938         Tests for module 'unistr/u32-check'.
56939         * modules/unistr/u32-check-tests: New file.
56940         * tests/unistr/test-u32-check.c: New file.
56942         Tests for module 'unistr/u16-check'.
56943         * modules/unistr/u16-check-tests: New file.
56944         * tests/unistr/test-u16-check.c: New file.
56946         Tests for module 'unistr/u8-check'.
56947         * modules/unistr/u8-check-tests: New file.
56948         * tests/unistr/test-u8-check.c: New file.
56950         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
56951         (category_equals): New function.
56952         (main): Add more tests.
56953         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
56955         * tests/unictype/test-bidi_byname.c (main): Add more tests.
56957 2010-01-10  Bruno Haible  <bruno@clisp.org>
56959         unistr/u*-strcoll: Try harder to distinguish different strings.
56960         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
56961         compare s1 and s2 to see if they are different.
56963 2010-01-10  Bruno Haible  <bruno@clisp.org>
56965         unistr/u*-stpncpy: Fix the return value.
56966         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
56967         description of the return value consistent with stpncpy in glibc.
56968         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
56969         written non-NUL unit.
56971 2010-01-10  Bruno Haible  <bruno@clisp.org>
56973         unistr/u*-next: Add missing dependencies.
56974         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
56975         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
56976         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
56978 2010-01-10  Bruno Haible  <bruno@clisp.org>
56980         unistr/u8-mbsnlen: Fix return value for incomplete character.
56981         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
56982         u8_mblen.
56983         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
56984         Remove unistr/u8-mblen.
56985         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
56986         u16_mblen.
56987         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
56988         Remove unistr/u16-mblen.
56990 2010-01-10  Bruno Haible  <bruno@clisp.org>
56992         wchar: Fix compilation error when <wchar.h> is used from coreutils.
56993         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
56994         Reported by Brian Gough <bjg@gnu.org> and
56995         Chris Clayton <chris2553@googlemail.com> via
56996         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
56998 2010-01-09  Bruno Haible  <bruno@clisp.org>
57000         unistr/u16-to-u32: Reject invalid input.
57001         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
57002         u16_mbtouc.
57003         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
57004         Remove unistr/u16-mbtouc.
57006         unistr/u16-to-u8: Reject invalid input.
57007         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
57008         u16_mbtouc.
57009         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
57010         Remove unistr/u16-mbtouc.
57012         unistr/u8-to-u32: Reject invalid input.
57013         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
57014         u8_mbtouc.
57015         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
57016         Remove unistr/u8-mbtouc.
57018         unistr/u8-to-u16: Reject invalid input.
57019         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
57020         u8_mbtouc.
57021         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
57022         Remove unistr/u8-mbtouc.
57024 2010-01-09  Bruno Haible  <bruno@clisp.org>
57026         Tests for module 'getlogin'.
57027         * modules/getlogin-tests: New file.
57028         * tests/test-getlogin.c: New file.
57030         New module 'getlogin'.
57031         * lib/unistd.in.h (getlogin): New declaration.
57032         * lib/getlogin.c: New file.
57033         * m4/getlogin.m4: New file.
57034         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
57035         HAVE_GETLOGIN.
57036         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
57037         HAVE_GETLOGIN.
57038         * modules/getlogin: New file.
57039         * doc/posix-functions/getlogin.texi: Mention the new module.
57040         Reported by John W. Eaton <jwe@gnu.org>.
57042 2010-01-09  Bruno Haible  <bruno@clisp.org>
57044         getlogin_r: Support for native Windows.
57045         * lib/getlogin_r.c: Include <windows.h>
57046         (getlogin_r): Implement for native Windows.
57047         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
57048         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
57049         via John W. Eaton <jwe@gnu.org>.
57051 2010-01-09  Bruno Haible  <bruno@clisp.org>
57053         getlogin_r: Small fixes.
57054         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
57055         succeeds.
57056         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
57057         before testing whether getlogin_r is declared. No need to set
57058         HAVE_DECL_GETLOGIN_R to 1.
57059         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
57061 2010-01-09  Bruno Haible  <bruno@clisp.org>
57063         * lib/unistd.in.h (getlogin_r): Add comment.
57065 2010-01-09  Bruno Haible  <bruno@clisp.org>
57067         Tests for module 'getlogin_r'.
57068         * modules/getlogin_r-tests: New file.
57069         * tests/test-getlogin_r.c: New file.
57071 2010-01-09  Jim Meyering  <meyering@redhat.com>
57073         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
57074         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
57075         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
57077 2010-01-08  Simon Josefsson  <simon@josefsson.org>
57079         * lib/dup2.c (rpl_dup2): Improve comment.
57081 2010-01-08  Eric Blake  <ebb9@byu.net>
57083         maint.mk: allow packages to add makefile @@ exceptions
57084         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
57085         (sc_makefile_check): Rename...
57086         (sc_makefile_at_at_check): ...to this, and use hook.
57088         dup2: work around mingw bug
57089         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
57090         Reported by Simon Josefsson.
57092 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
57094         glob: Fix C++ compilation.
57095         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
57096         C++.
57098 2010-01-07  Bruno Haible  <bruno@clisp.org>
57100         Fix indentation of wctype.in.h, broken since 2007-01-06.
57101         * lib/wctype.in.h: Fix indentation of preprocessor directives.
57103 2010-01-07  Bruno Haible  <bruno@clisp.org>
57105         mbslen: Avoid collision with system function.
57106         * lib/string.in.h [MirBSD]: Include <wchar.h>.
57107         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
57108         * m4/mbslen.m4: New file.
57109         * modules/mbslen (Files): Add it.
57110         (configure.ac): Invoke gl_MBSLEN.
57111         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
57112         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
57113         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
57114         via Ian Beckwith <ianb@erislabs.net>.
57116 2010-01-07  Bruno Haible  <bruno@clisp.org>
57118         dirent: Document the last fix.
57119         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
57121 2010-01-07  Bruno Haible  <bruno@clisp.org>
57123         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
57124         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
57125         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
57126         va_list are defined.
57127         * doc/posix-headers/stdio.texi: Document the bug of missing types.
57128         Reported by Eric Blake.
57130 2010-01-07  Bruno Haible  <bruno@clisp.org>
57132         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
57133         * modules/xlist (Depends-on): Add 'list',
57134         * modules/xoset (Depends-on): Add 'oset'.
57135         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57137 2010-01-07  Bruno Haible  <bruno@clisp.org>
57139         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
57140         * doc/posix-functions/strncasecmp.texi: Likewise.
57142 2010-01-07  Bruno Haible  <bruno@clisp.org>
57144         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
57146 2010-01-07  John W. Eaton  <jwe@octave.org>
57148         wctype: allow C++ use
57149         * lib/wctype.in.h: Add extern "C" block for C++.
57151 2010-01-06  Eric Blake  <ebb9@byu.net>
57153         maint.mk: detect incorrect GFDL usage
57154         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
57156 2010-01-06  Jim Meyering  <meyering@redhat.com>
57157         and Eric Blake  <ebb9@byu.net>
57159         maint.mk: ignore multi-line copyright in NEWS
57160         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
57162 2010-01-06  Eric Blake  <ebb9@byu.net>
57164         select: add missing dependency
57165         * modules/select-tests (Depends-on): Move sockets dependency...
57166         * modules/select (Depends-on): ...here.
57167         Reported by Ian Beckwith.
57169         doc: regenerate INSTALL
57170         * doc/INSTALL: Reflect recent autoconf update.
57171         * doc/INSTALL.ISO: Likewise.
57172         * doc/INSTALL.UTF-8: Likewise.
57174         pread: fix compilation on glibc
57175         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
57176         Reported by Ralf Wildenhues.
57178         dirent: fix test failure
57179         * lib/dirent.in.h (includes): Guarantee ino_t.
57180         Reported by Ralf Wildenhues.
57182 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
57184         linkat, renameat: avoid bad free
57185         * lib/at-func2.c (at_func2): Fix typo.
57186         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
57188 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57190         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
57191         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
57192         to avoid failure of symlink test later.
57194 2010-01-06  Eric Blake  <ebb9@byu.net>
57196         stdio, unistd: guarantee ssize_t
57197         * lib/unistd.in.h (includes): Ensure that types required by POSIX
57198         2008 are exposed when needed.
57199         * lib/stdio.in.h (includes): Likewise.
57200         Reported by Ralf Wildenhues.
57202 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
57204         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
57205         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
57206         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
57208 2010-01-06  Jim Meyering  <meyering@redhat.com>
57210         readtokens: this module *does* require xalloc.h
57211         It uses only functions that were omitted by the old syntax-check rule.
57212         * lib/readtokens.c: Include "xalloc.h" once again.
57213         * modules/readtokens (Depends-on): Add xalloc.
57214         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
57216 2010-01-05  Eric Blake  <ebb9@byu.net>
57218         maint: support 'make announcement' from a VPATH build
57219         * top/maint.mk (announcement): Look for correct NEWS file.
57221 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
57223         utimens (fdutimens): ignore a negative FD, per contract
57224         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
57225         when we have a valid file descriptor.  Otherwise, using a brand
57226         new glibc (with just-patched futimens that now fails with EBADF)
57227         would cause this function to fail with ENOSYS.
57228         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
57229         See also http://bugzilla.redhat.com/552320.
57231 2010-01-05  Eric Blake  <ebb9@byu.net>
57233         strcase: document what it provides
57234         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
57235         gnulib module.
57236         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
57237         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
57239 2010-01-05  Jim Meyering  <meyering@redhat.com>
57241         maint: remove useless inclusions of "xalloc.h"
57242         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
57243         * lib/readtokens.c: Likewise.
57244         * lib/same.c: Likewise.
57245         * modules/getloadavg (Depends-on): Remove xalloc.
57246         * modules/readtokens: Likewise.
57247         * modules/same: Likewise.
57249         maint.mk: include 4 more function names in alloca.h-checking regexp
57250         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
57251         regexp.  Before, we would give a false-positive (saying alloca.h
57252         is included unnecessarily) when the only uses involved omitted symbols.
57254         xalloc.h: use consistent formatting
57255         * lib/xalloc.h: Move declarations to start in the first column.
57257 2010-01-05  Eric Blake  <ebb9@byu.net>
57259         mkdir: avoid xalloc
57260         * lib/mkdir.c (includes): Drop unused header.
57261         Reported by John W. Eaton.
57263 2010-01-04  Jim Meyering  <meyering@redhat.com>
57265         nl_langinfo: avoid configure-time syntax error
57266         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
57267         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
57268         the empty string.  Don't let that provoke a shell syntax error.
57270         regcomp, regexec, fnmatch: avoid array bounds read error
57271         * lib/regcomp.c (build_equiv_class): From glibc:
57272         Use only the low 24 bits of a findidx return value as an index
57273         into the weights array.  Patch by Ulrich Drepper:
57274         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
57275         * lib/regexec.c (check_node_accept_bytes): Likewise.
57276         * lib/fnmatch_loop.c (FCT): Likewise.
57278         regcomp: skip collseq lookup when there are no rules
57279         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
57280         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
57282         regcomp: recognize ill-formed { } expressions
57283         * lib/regcomp.c (parse_dup_op): From glibc:
57284         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
57286         regcomp: fix typo in comment
57287         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
57288         s/satisfy/satisfies/.
57290         regcomp: sync from glibc: remove dead store
57291         * lib/regcomp.c (duplicate_node_closure): Remove useless
57292         search_duplicated_node call and dead store.
57294         regcomp: sync from glibc; always use nl_langinfo
57295         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
57296         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
57297         * modules/regex (Depends-on): Add nl_langinfo.
57299 2010-01-04  Eric Blake  <ebb9@byu.net>
57301         fdopendir: fix configure test
57302         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
57304 2010-01-01  Bruno Haible  <bruno@clisp.org>
57306         wchar: Remove unused configure check.
57307         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
57309 2010-01-01  Eric Blake  <ebb9@byu.net>
57311         headers: make check of system header explicit
57312         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
57313         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
57314         ourselves.
57315         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
57316         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57317         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
57318         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
57319         internals.
57320         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
57321         missing.
57322         Suggested by Bruno Haible.
57324 2010-01-01  Jim Meyering  <meyering@redhat.com>
57326         ChangeLog: tweak to eliminate unnecessary copyright line
57327         * ChangeLog: Remove a copyright line that was mistakenly updated
57328         by today's update-copyright run.  Reported by Eric Blake.
57330         test-update-copyright: don't let envvar setting cause test failure
57331         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57333 2010-01-01  Bruno Haible  <bruno@clisp.org>
57335         localename: Avoid gcc warning.
57336         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
57337         function if it is not used.
57339 2010-01-01  Jim Meyering  <meyering@redhat.com>
57341         update nearly all FSF copyright year lists to include 2010
57342         Use the same procedure as for 2009, outlined in
57343         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
57345         version-etc: set COPYRIGHT_YEAR to 2010
57346         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
57348 2009-12-31  Eric Blake  <ebb9@byu.net>
57350         doc: correct availability of cygwin 1.5.x getopt
57351         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
57352         variables.
57353         * doc/posix-functions/opterr.texi (opterr): Likewise.
57354         * doc/posix-functions/optind.texi (optind): Likewise.
57355         * doc/posix-functions/optopt.texi (optopt): Likewise.
57356         * doc/posix-functions/tzname.texi (tzname): Likewise.
57358         openat: update maintainer
57359         * modules/openat (Maintainer): Add myself.
57361         utimens: avoid shadowing warning
57362         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
57363         buffers into one, to avoid shadowing, as well as avoiding a
57364         redundant stat.
57365         Reported by Jim Meyering.
57367         test-dup2: avoid compiler warning
57368         * tests/test-dup2.c (is_inheritable): Only define if used.
57370 2010-01-01  Bruno Haible  <bruno@clisp.org>
57372         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
57373         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
57374         defined, use wctomb instead of wcrtomb.
57376 2010-01-01  Bruno Haible  <bruno@clisp.org>
57378         iconv: Reject native Solaris iconv.
57379         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
57380         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
57382 2009-12-31  Bruno Haible  <bruno@clisp.org>
57384         * tests/test-signal.c (main): Remove test of 'SIG'.
57386 2009-12-31  Bruno Haible  <bruno@clisp.org>
57388         spawn: Fix incomplete fix.
57389         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57390         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57391         warnings for GNULIB_POSIXCHECK again.
57392         Reported by Eric Blake.
57394 2009-12-31  Bruno Haible  <bruno@clisp.org>
57396         Avoid namespace pollution on glibc systems.
57397         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
57398         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
57399         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
57400         glibc systems.
57402 2009-12-31  Bruno Haible  <bruno@clisp.org>
57404         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
57405         (gl_REPLACE_WCHAR_H): Turn into a no-op.
57406         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
57407         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
57408         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
57409         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
57410         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
57412 2009-12-31  Bruno Haible  <bruno@clisp.org>
57414         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
57415         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
57416         afterwards.
57418 2009-12-31  Bruno Haible  <bruno@clisp.org>
57420         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
57421         SYS_UTSNAME_H.
57423 2009-12-31  Bruno Haible  <bruno@clisp.org>
57425         spawn: Fix misapplied patch.
57426         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
57427         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
57428         warnings for GNULIB_POSIXCHECK.
57430 2009-12-31  Bruno Haible  <bruno@clisp.org>
57432         times: Update after sys_times changed.
57433         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
57434         * modules/times (Files): Add it.
57435         (configure.ac): Invoke gl_FUNC_TIMES.
57437 2009-12-31  Bruno Haible  <bruno@clisp.org>
57439         Use AC_C_INLINE where necessary.
57440         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
57441         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57442         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
57443         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
57444         * m4/mbfile.m4 (gl_MBFILE): Likewise.
57445         * m4/mbiter.m4 (gl_MBITER): Likewise.
57446         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
57447         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
57448         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
57449         * modules/u64 (configure.ac): Likewise.
57451 2009-12-31  Bruno Haible  <bruno@clisp.org>
57453         Use AC_C_INLINE instead of module 'inline' where possible.
57454         * modules/inline (Description): Clarify purpose.
57455         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
57456         * modules/count-one-bits (Depends-on): Remove inline.
57457         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
57458         * modules/openat (Depends-on): Remove inline.
57459         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
57460         instead of depending on module 'inline'.
57461         * modules/filevercmp (Depends-on, configure.ac): Likewise.
57462         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
57463         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
57464         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
57465         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
57466         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
57467         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
57468         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
57469         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
57470         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
57471         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
57472         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
57473         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
57474         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
57475         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
57476         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
57477         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
57478         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
57479         Likewise.
57480         * modules/unictype/property-ascii-hex-digit (Depends-on,
57481         configure.ac): Likewise.
57482         * modules/unictype/property-bidi-arabic-digit (Depends-on,
57483         configure.ac): Likewise.
57484         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
57485         configure.ac): Likewise.
57486         * modules/unictype/property-bidi-block-separator (Depends-on,
57487         configure.ac): Likewise.
57488         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
57489         configure.ac): Likewise.
57490         * modules/unictype/property-bidi-common-separator (Depends-on,
57491         configure.ac): Likewise.
57492         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
57493         Likewise.
57494         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
57495         configure.ac): Likewise.
57496         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
57497         configure.ac): Likewise.
57498         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
57499         configure.ac): Likewise.
57500         * modules/unictype/property-bidi-european-digit (Depends-on,
57501         configure.ac): Likewise.
57502         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
57503         configure.ac): Likewise.
57504         * modules/unictype/property-bidi-left-to-right (Depends-on,
57505         configure.ac): Likewise.
57506         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
57507         configure.ac): Likewise.
57508         * modules/unictype/property-bidi-other-neutral (Depends-on,
57509         configure.ac): Likewise.
57510         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
57511         Likewise.
57512         * modules/unictype/property-bidi-segment-separator (Depends-on,
57513         configure.ac): Likewise.
57514         * modules/unictype/property-bidi-whitespace (Depends-on,
57515         configure.ac): Likewise.
57516         * modules/unictype/property-combining (Depends-on, configure.ac):
57517         Likewise.
57518         * modules/unictype/property-composite (Depends-on, configure.ac):
57519         Likewise.
57520         * modules/unictype/property-currency-symbol (Depends-on,
57521         configure.ac): Likewise.
57522         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
57523         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
57524         Likewise.
57525         * modules/unictype/property-default-ignorable-code-point (Depends-on,
57526         configure.ac): Likewise.
57527         * modules/unictype/property-deprecated (Depends-on, configure.ac):
57528         Likewise.
57529         * modules/unictype/property-diacritic (Depends-on, configure.ac):
57530         Likewise.
57531         * modules/unictype/property-extender (Depends-on, configure.ac):
57532         Likewise.
57533         * modules/unictype/property-format-control (Depends-on, configure.ac):
57534         Likewise.
57535         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
57536         Likewise.
57537         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
57538         Likewise.
57539         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
57540         Likewise.
57541         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
57542         Likewise.
57543         * modules/unictype/property-hyphen (Depends-on, configure.ac):
57544         Likewise.
57545         * modules/unictype/property-id-continue (Depends-on, configure.ac):
57546         Likewise.
57547         * modules/unictype/property-id-start (Depends-on, configure.ac):
57548         Likewise.
57549         * modules/unictype/property-ideographic (Depends-on, configure.ac):
57550         Likewise.
57551         * modules/unictype/property-ids-binary-operator (Depends-on,
57552         configure.ac): Likewise.
57553         * modules/unictype/property-ids-trinary-operator (Depends-on,
57554         configure.ac): Likewise.
57555         * modules/unictype/property-ignorable-control (Depends-on,
57556         configure.ac): Likewise.
57557         * modules/unictype/property-iso-control (Depends-on, configure.ac):
57558         Likewise.
57559         * modules/unictype/property-join-control (Depends-on, configure.ac):
57560         Likewise.
57561         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
57562         Likewise.
57563         * modules/unictype/property-line-separator (Depends-on, configure.ac):
57564         Likewise.
57565         * modules/unictype/property-logical-order-exception (Depends-on,
57566         configure.ac): Likewise.
57567         * modules/unictype/property-lowercase (Depends-on, configure.ac):
57568         Likewise.
57569         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
57570         * modules/unictype/property-non-break (Depends-on, configure.ac):
57571         Likewise.
57572         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
57573         Likewise.
57574         * modules/unictype/property-numeric (Depends-on, configure.ac):
57575         Likewise.
57576         * modules/unictype/property-other-alphabetic (Depends-on,
57577         configure.ac): Likewise.
57578         * modules/unictype/property-other-default-ignorable-code-point
57579         (Depends-on, configure.ac): Likewise.
57580         * modules/unictype/property-other-grapheme-extend (Depends-on,
57581         configure.ac): Likewise.
57582         * modules/unictype/property-other-id-continue (Depends-on,
57583         configure.ac): Likewise.
57584         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
57585         Likewise.
57586         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
57587         Likewise.
57588         * modules/unictype/property-other-math (Depends-on, configure.ac):
57589         Likewise.
57590         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
57591         Likewise.
57592         * modules/unictype/property-paired-punctuation (Depends-on,
57593         configure.ac): Likewise.
57594         * modules/unictype/property-paragraph-separator (Depends-on,
57595         configure.ac): Likewise.
57596         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
57597         Likewise.
57598         * modules/unictype/property-pattern-white-space (Depends-on,
57599         configure.ac): Likewise.
57600         * modules/unictype/property-private-use (Depends-on, configure.ac):
57601         Likewise.
57602         * modules/unictype/property-punctuation (Depends-on, configure.ac):
57603         Likewise.
57604         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
57605         Likewise.
57606         * modules/unictype/property-radical (Depends-on, configure.ac):
57607         Likewise.
57608         * modules/unictype/property-sentence-terminal (Depends-on,
57609         configure.ac): Likewise.
57610         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
57611         Likewise.
57612         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
57613         * modules/unictype/property-terminal-punctuation (Depends-on,
57614         configure.ac): Likewise.
57615         * modules/unictype/property-titlecase (Depends-on, configure.ac):
57616         Likewise.
57617         * modules/unictype/property-unassigned-code-value (Depends-on,
57618         configure.ac): Likewise.
57619         * modules/unictype/property-unified-ideograph (Depends-on,
57620         configure.ac): Likewise.
57621         * modules/unictype/property-uppercase (Depends-on, configure.ac):
57622         Likewise.
57623         * modules/unictype/property-variation-selector (Depends-on,
57624         configure.ac): Likewise.
57625         * modules/unictype/property-white-space (Depends-on, configure.ac):
57626         Likewise.
57627         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
57628         Likewise.
57629         * modules/unictype/property-xid-start (Depends-on, configure.ac):
57630         Likewise.
57631         * modules/unictype/property-zero-width (Depends-on, configure.ac):
57632         Likewise.
57633         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
57634         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
57635         Likewise.
57637 2009-12-31  Bruno Haible  <bruno@clisp.org>
57639         Remove unnecessary AC_C_INLINE invocation.
57640         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
57641         since 2009-08-21.
57643 2009-12-31  Jim Meyering  <meyering@redhat.com>
57645         maint.mk: don't require explicit gpg_key_ID in cfg.mk
57646         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
57647         With this change, we can all remove the gpg_key_ID = ... definition
57648         from our respective cfg.mk files.
57650         maint.mk: create announcement template in ~/, not in /tmp
57651         * top/maint.mk (emit_upload_commands): Adjust.
57652         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
57653         Remove temporary file, .ci-msg.
57655 2009-12-31  Eric Blake  <ebb9@byu.net>
57657         link-warning: always build headers with link warnings
57658         * modules/arpa_inet (Makefile.am): Always build replacement
57659         header.
57660         * modules/ctype (Makefile.am): Likewise.
57661         * modules/dirent (Makefile.am): Likewise.
57662         * modules/inttypes (Makefile.am): Likewise.
57663         * modules/langinfo (Makefile.am): Likewise.
57664         * modules/locale (Makefile.am): Likewise.
57665         * modules/spawn (Makefile.am): Likewise.
57666         * modules/sys_file (Makefile.am): Likewise.
57667         * modules/sys_ioctl (Makefile.am): Likewise.
57668         * modules/sys_select (Makefile.am): Likewise.
57669         * modules/sys_socket (Makefile.am): Likewise.
57670         * modules/sys_times (Makefile.am): Likewise.
57671         * modules/sys_utsname (Makefile.am): Likewise.
57672         * modules/sys_wait (Makefile.am): Likewise.
57673         * modules/wchar (Makefile.am): Likewise.
57674         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
57675         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
57676         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
57677         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
57678         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
57679         Likewise.
57680         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57681         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
57682         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
57683         Likewise.
57684         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
57685         Likewise.
57686         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
57687         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
57688         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
57689         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57690         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
57691         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57692         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57693         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
57694         (gl_WCHAR_H_DEFAULTS): Likewise.
57696 2009-12-31  Eric Blake  <ebb9@byu.net>
57698         signal, spawn: use link warnings
57699         * lib/signal.in.h (sigset_t): Make unconditional.
57700         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
57701         (sigpending, sigprocmask, sigaction): Add link warnings.
57702         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
57703         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
57704         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
57705         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
57706         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
57707         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
57708         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
57709         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
57710         (posix_spawn_file_actions_destroy)
57711         (posix_spawn_file_actions_addopen)
57712         (posix_spawn_file_actions_addclose)
57713         (posix_spawn_file_actions_adddup2): Likewise.
57714         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
57715         * tests/test-signal.c (main): Enhance test.
57717         spawn: improve wrapper support
57718         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
57719         (gl_SPAWN_H_DEFAULTS): New defaults.
57720         * modules/spawn (Makefile.am): Substitute them.
57721         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
57722         Only declare if missing or broken.
57724         sys_times, sys_utsname: use include_next
57725         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
57726         header.
57727         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
57728         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
57729         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
57730         * modules/sys_times (Depends-on): Add include_next.
57731         (Makefile.am): Substitute additional values.
57732         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
57733         * lib/sys_times.in.h (includes): Include native header, if
57734         available.
57735         * lib/sys_utsname.in.h (includes): Likewise.
57736         * tests/test-sys_times.c (main): Enhance test.
57738         fdutimensat: revert prior patch
57739         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
57740         utimens.h.
57741         Reported by Bruno Haible.
57743 2009-12-30  Eric Blake  <ebb9@byu.net>
57745         sys_wait: drop link-warning dependency
57746         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
57747         link-warning efforts.
57748         * lib/sys_wait.in.h: Likewise.
57750         fdutimensat: remove bogus dependency
57751         * modules/fdutimensat (Depends-on): Drop inline.
57753         unistd: fix typo
57754         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
57756 2009-12-30  Bruno Haible  <bruno@clisp.org>
57758         Fix compilation error with Solaris cc.
57759         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
57760         * lib/unicase/u16-is-invariant.c: Likewise.
57761         * lib/unicase/u32-is-invariant.c: Likewise.
57762         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57764 2009-12-30  Bruno Haible  <bruno@clisp.org>
57766         Fix test crash.
57767         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
57768         locales.
57769         Reported by Simon Josefsson <simon@josefsson.org>.
57771 2009-12-30  Bruno Haible  <bruno@clisp.org>
57773         Fix compilation error on most platforms.
57774         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
57775         Reported by Simon Josefsson <simon@josefsson.org>
57776         and Nelson H. F. Beebe <beebe@math.utah.edu>.
57778 2009-12-30  Eric Blake  <ebb9@byu.net>
57780         futimens, utimensat: work around ntfs-3g bug
57781         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
57782         a ctime bug is present, and expand workaround to cover ntfs-3g.
57783         * lib/utimens.c (fdutimens, lutimens): Likewise.
57784         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
57785         (validate_timespec): Adjust return value.
57786         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
57787         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57788         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
57790 2009-12-29  Eric Blake  <ebb9@byu.net>
57792         link-warning: make usage consistent
57793         * modules/ctype (Depends-on): Add link-warning.
57794         (Makefile.am): Update rules accordingly.
57795         * modules/langinfo (Depends-on, Makefile.am): Likewise.
57796         * modules/locale (Depends-on, Makefile.am): Likewise.
57797         * modules/sys_file (Makefile.am): Likewise.
57798         * modules/getopt-posix (Makefile.am): Delete unused link warning
57799         efforts.
57800         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
57801         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
57802         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
57803         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
57805         stdio: remove unused variables
57806         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
57807         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
57808         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
57810         tests: test more substitute headers
57811         * modules/ctype-tests: New file.
57812         * modules/dirent-tests: Likewise.
57813         * modules/spawn-tests: Likewise.
57814         * modules/sys_file-tests: Likewise.
57815         * modules/sys_ioctl-tests: Likewise.
57816         * modules/sys_wait-tests: Likewise.
57817         * tests/test-ctype.c: Likewise.
57818         * tests/test-dirent.c: Likewise.
57819         * tests/test-spawn.c: Likewise.
57820         * tests/test-sys_file.c: Likewise.
57821         * tests/test-sys_ioctl.c: Likewise.
57822         * tests/test-sys_wait.c: Likewise.
57823         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
57824         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
57825         whether or not flock is in use.
57827         tests: remove License section from module
57828         * modules/arpa_inet-tests: Remove unneeded section.
57829         * modules/byteswap-tests: Likewise.
57830         * modules/ceilf-tests: Likewise.
57831         * modules/ceill-tests: Likewise.
57832         * modules/crypto/des-tests: Likewise.
57833         * modules/crypto/gc-arcfour-tests: Likewise.
57834         * modules/crypto/gc-arctwo-tests: Likewise.
57835         * modules/crypto/gc-des-tests: Likewise.
57836         * modules/crypto/gc-hmac-md5-tests: Likewise.
57837         * modules/crypto/gc-hmac-sha1-tests: Likewise.
57838         * modules/crypto/gc-md2-tests: Likewise.
57839         * modules/crypto/gc-md4-tests: Likewise.
57840         * modules/crypto/gc-md5-tests: Likewise.
57841         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
57842         * modules/crypto/gc-rijndael-tests: Likewise.
57843         * modules/crypto/gc-sha1-tests: Likewise.
57844         * modules/crypto/gc-tests: Likewise.
57845         * modules/crypto/md2-tests: Likewise.
57846         * modules/crypto/md4-tests: Likewise.
57847         * modules/fcntl-h-tests: Likewise.
57848         * modules/floorf-tests: Likewise.
57849         * modules/floorl-tests: Likewise.
57850         * modules/frexp-nolibm-tests: Likewise.
57851         * modules/frexp-tests: Likewise.
57852         * modules/frexpl-nolibm-tests: Likewise.
57853         * modules/frexpl-tests: Likewise.
57854         * modules/getaddrinfo-tests: Likewise.
57855         * modules/inttypes-tests: Likewise.
57856         * modules/isfinite-tests: Likewise.
57857         * modules/isinf-tests: Likewise.
57858         * modules/ldexpl-tests: Likewise.
57859         * modules/locale-tests: Likewise.
57860         * modules/math-tests: Likewise.
57861         * modules/netdb-tests: Likewise.
57862         * modules/netinet_in-tests: Likewise.
57863         * modules/printf-frexp-tests: Likewise.
57864         * modules/printf-frexpl-tests: Likewise.
57865         * modules/priv-set-tests: Likewise.
57866         * modules/random_r-tests: Likewise.
57867         * modules/round-tests: Likewise.
57868         * modules/roundf-tests: Likewise.
57869         * modules/roundl-tests: Likewise.
57870         * modules/search-tests: Likewise.
57871         * modules/select-tests: Likewise.
57872         * modules/signal-tests: Likewise.
57873         * modules/stdbool-tests: Likewise.
57874         * modules/stddef-tests: Likewise.
57875         * modules/stdint-tests: Likewise.
57876         * modules/stdio-tests: Likewise.
57877         * modules/stdlib-tests: Likewise.
57878         * modules/string-tests: Likewise.
57879         * modules/strings-tests: Likewise.
57880         * modules/sys_select-tests: Likewise.
57881         * modules/sys_socket-tests: Likewise.
57882         * modules/sys_stat-tests: Likewise.
57883         * modules/sys_time-tests: Likewise.
57884         * modules/sys_utsname-tests: Likewise.
57885         * modules/sysexits-tests: Likewise.
57886         * modules/time-tests: Likewise.
57887         * modules/trunc-tests: Likewise.
57888         * modules/truncf-tests: Likewise.
57889         * modules/truncl-tests: Likewise.
57890         * modules/tsearch-tests: Likewise.
57891         * modules/unistd-tests: Likewise.
57892         * modules/wchar-tests: Likewise.
57893         * modules/wctype-tests: Likewise.
57895         tests: fix license on several tests
57896         * tests/test-des.c: Update to GPLv3+.
57897         * tests/test-flock.c: Likewise.
57898         * tests/test-fsync.c: Likewise.
57899         * tests/test-futimens.h: Likewise.
57900         * tests/test-gc-arcfour.c: Likewise.
57901         * tests/test-gc-arctwo.c: Likewise.
57902         * tests/test-gc-des.c: Likewise.
57903         * tests/test-gc-hmac-md5.c: Likewise.
57904         * tests/test-gc-hmac-sha1.c: Likewise.
57905         * tests/test-gc-md2.c: Likewise.
57906         * tests/test-gc-md4.c: Likewise.
57907         * tests/test-gc-md5.c: Likewise.
57908         * tests/test-gc-pbkdf2-sha1.c: Likewise.
57909         * tests/test-gc-rijndael.c: Likewise.
57910         * tests/test-gc-sha1.c: Likewise.
57911         * tests/test-gc.c: Likewise.
57912         * tests/test-getcwd.c: Likewise.
57913         * tests/test-link.c: Likewise.
57914         * tests/test-link.h: Likewise.
57915         * tests/test-lutimens.h: Likewise.
57916         * tests/test-md2.c: Likewise.
57917         * tests/test-md4.c: Likewise.
57918         * tests/test-mkdir.h: Likewise.
57919         * tests/test-rename.c: Likewise.
57920         * tests/test-rename.h: Likewise.
57921         * tests/test-safe-alloc.c: Likewise.
57922         * tests/test-utimens-common.h: Likewise.
57923         * tests/test-utimens.h: Likewise.
57925         maint: sync license texts
57926         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
57927         * doc/gpl-3.0.texi: Revert copyright year update.
57928         * doc/lgpl-3.0.texi: Likewise.
57930 2009-12-29  Jim Meyering  <meyering@redhat.com>
57932         update nearly all FSF copyright year lists to include 2009
57933         The files named by the following are exempted:
57934             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
57935               test -f "$dst" && { echo "$dst"; continue; }
57936               test -d "$dst" || continue
57937               echo "$dst"/$(basename "$src")
57938             done > exempt
57939             git ls-files tests/unictype >> exempt
57940         In the remaining files, convert to all-interval notation if
57941         - there is already at least one year interval like 2000-2003
57942         - the file is maintained by me
57943         - the file is in lib/uni*/, where that style already prevails
57944         Otherwise, use update-copyright's default.
57946 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57947         and Eric Blake  <ebb9@byu.net>
57949         tests: don't require debug system() to pass
57950         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
57951         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57952         * tests/test-unlink.h (test_unlink_func): Likewise.
57953         * tests/test-fstatat.c (main): ...into callers.
57954         * tests/test-lstat.c (main): Likewise.
57955         * tests/test-rmdir.c (main): Likewise.
57956         * tests/test-unlink.c (main): Likewise.
57957         * tests/test-unlinkat.c (main): Likewise.
57958         * tests/test-areadlink-with-size.c (main): Don't require a
57959         debug-only system call to pass, aiding cross-testing to mingw.
57960         * tests/test-areadlink.c (main): Likewise.
57961         * tests/test-areadlinkat-with-size.c (main): Likewise.
57962         * tests/test-areadlinkat.c (main): Likewise.
57963         * tests/test-canonicalize-lgpl.c (main): Likewise.
57964         * tests/test-canonicalize.c (main): Likewise.
57965         * tests/test-chown.c (main): Likewise.
57966         * tests/test-fchownat.c (main): Likewise.
57967         * tests/test-lchown.c (main): Likewise.
57968         * tests/test-fdutimensat.c (main): Likewise.
57969         * tests/test-futimens.c (main): Likewise.
57970         * tests/test-link.c (main): Likewise.
57971         * tests/test-linkat.c (main): Likewise.
57972         * tests/test-mkdir.c (main): Likewise.
57973         * tests/test-mkdirat.c (main): Likewise.
57974         * tests/test-mkfifo.c (main): Likewise.
57975         * tests/test-mkfifoat.c (main): Likewise.
57976         * tests/test-mknod.c (main): Likewise.
57977         * tests/test-readlink.c (main): Likewise.
57978         * tests/test-remove.c (main): Likewise.
57979         * tests/test-rename.c (main): Likewise.
57980         * tests/test-renameat.c (main): Likewise.
57981         * tests/test-symlink.c (main): Likewise.
57982         * tests/test-symlinkat.c (main): Likewise.
57983         * tests/test-utimens.c (main): Likewise.
57984         * tests/test-utimensat.c (main): Likewise.
57986 2009-12-29  Simon Josefsson  <simon@josefsson.org>
57988         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
57989         on $(UNUSED_PARAMETER_H) to avoid build failure.
57991 2009-12-28  Jim Meyering  <meyering@redhat.com>
57993         update-copyright: you may specify a max. line length other than 72
57994         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
57996         maint: use consistent FSF copyright line syntax
57997         * lib/posixtm.c: Add missing comma in FSF copyright line.
57998         * lib/posixtm.h: Likewise.
57999         * lib/getugroups.c: Add missing ", Inc.".
58001         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
58002         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
58003         FSF copyright line.  Remove trailing blanks.
58005 2009-12-28  Eric Blake  <ebb9@byu.net>
58007         test-dup2: reduce dependencies
58008         * modules/cloexec (Configure.ac): Set witness.
58009         * modules/dup2-tests (Depends-on): Drop cloexec.
58010         * tests/test-dup2.c (main): Skip portion of test if cloexec module
58011         not present.
58012         Suggested by Bruno Haible.
58014 2009-12-26  Bruno Haible  <bruno@clisp.org>
58016         Remove an unneeded dependency.
58017         * modules/fseterr (Depends-on): Remove dup2.
58019 2009-12-26  Eric Blake  <ebb9@byu.net>
58021         tests: use macros.h in more places
58022         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
58023         (ASSERT_STREAM): Provide default of stderr.
58024         * tests/test-dirent-safer.c: Include macros.h, using alternate
58025         stream for assertions.
58026         * tests/test-dup-safer.c: Likewise.
58027         * tests/test-freopen-safer.c: Likewise.
58028         * tests/test-getopt.c: Likewise.
58029         * tests/test-openat-safer.c: Likewise.
58030         * tests/test-pipe.c: Likewise.
58031         * tests/test-popen-safer.c: Likewise.
58032         * modules/dirent-safer-tests (Files): Include macros.h.
58033         * modules/unistd-safer-tests (Files): Likewise.
58034         * modules/freopen-safer-tests (Files): Likewise.
58035         * modules/getopt-posix-tests (Files): Likewise.
58036         * modules/openat-safer-tests (Files): Likewise.
58037         * modules/pipe-tests (Files): Likewise.
58039 2009-12-26  Bruno Haible  <bruno@clisp.org>
58041         javacomp-script: Portability fix.
58042         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
58043         that it also works on Solaris.
58045 2009-12-26  Bruno Haible  <bruno@clisp.org>
58047         localename: Fix storage allocation of gl_locale_name_thread's result.
58048         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
58049         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
58050         all platforms that have 'uselocale'.
58051         (gl_locale_name_thread_unsafe): New function, extracted from
58052         gl_locale_name_thread.
58053         (gl_locale_name_thread): Call struniq on all platforms that have
58054         'uselocale'.
58055         * tests/test-localename.c (test_locale_name_thread): Check that the
58056         resulting strings are permanently allocated.
58057         * modules/localename-tests (Depends-on): Add strdup.
58059 2009-12-26  Bruno Haible  <bruno@clisp.org>
58061         * tests/test-localename.c (categories): Fill in the strings.
58063 2009-12-26  Jim Meyering  <meyering@redhat.com>
58065         isdir: complete the removal of m4/isdir.m4
58066         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
58068         isdir: clean up, since at least grep still uses it
58069         * lib/isdir.c: Include "isdir.h".
58070         (S_ISDIR): Remove now-unneeded definition.
58071         * modules/isdir (Files): Add lib/isdir.h.
58072         * lib/isdir.h: New file, with declaration.
58073         * m4/isdir.m4: Remove file -- unneeded.
58075 2009-12-25  Bruno Haible  <bruno@clisp.org>
58077         selinux-h: Make generated .h files standalone.
58078         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
58079         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
58080         * lib/se-selinux.in.h: Likewise.
58081         * modules/selinux-h (Depends-on): Add unused-parameter.
58082         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
58083         selinux/selinux.h and selinux/context.h.
58084         Suggested by Eric Blake.
58086 2009-12-25  Bruno Haible  <bruno@clisp.org>
58088         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
58089         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
58090         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
58091         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
58092         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
58094 2009-12-24  Bruno Haible  <bruno@clisp.org>
58096         openat: Fix warning.
58097         * lib/openat-proc.c: Include <unistd.h>.
58099 2009-12-24  Bruno Haible  <bruno@clisp.org>
58101         New module 'unused-parameter'.
58102         * build-aux/unused-parameter.h: New file, extracted from earlier
58103         gnulib-common.m4.
58104         * modules/unused-parameter: New file.
58105         * lib/unistr.h: Include unused-parameter.h.
58106         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
58107         _GL_UNUSED.
58108         * modules/unistr/base (Depends-on): Add unused-parameter.
58110 2009-12-24  Bruno Haible  <bruno@clisp.org>
58112         Add missing dependencies to 'extensions' module.
58113         * m4/extensions.m4: Add comment.
58114         * modules/accept4 (Depends-on): Add extensions.
58115         * modules/dup3 (Depends-on): Likewise.
58116         * modules/fcntl (Depends-on): Likewise.
58117         * modules/futimens (Depends-on): Likewise.
58118         * modules/mknod (Depends-on): Likewise.
58119         * modules/pipe2 (Depends-on): Likewise.
58120         * modules/stat-time (Depends-on): Likewise.
58121         * modules/strcasestr-simple (Depends-on): Likewise.
58122         * modules/strsignal (Depends-on): Likewise.
58123         * modules/utimensat (Depends-on): Likewise.
58124         * modules/localcharset (Depends-on): Likewise. Needed because of
58125         gl_FCNTL_O_FLAGS.
58126         * modules/wcrtomb (Depends-on): Likewise. Needed because of
58127         AC_TYPE_MBSTATE_T.
58128         * modules/wcsnrtombs (Depends-on): Likewise.
58129         * modules/wcsrtombs (Depends-on): Likewise.
58131 2009-12-24  Bruno Haible  <bruno@clisp.org>
58133         binary-io: Avoid gcc warning due to SET_BINARY.
58134         * lib/binary-io.h (SET_BINARY): Cast the result to void.
58135         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
58137 2009-12-24  Bruno Haible  <bruno@clisp.org>
58139         Avoid future namespace pollution on glibc systems.
58140         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
58141         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
58142         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
58143         glibc systems.
58145 2009-12-24  Bruno Haible  <bruno@clisp.org>
58147         Refactor common macros used in tests.
58148         * tests/macros.h: New file.
58149         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
58150         and/or <stdlib.h>, if appropriate.
58151         (ASSERT, SIZEOF): Remove macros.
58152         * tests/test-areadlink-with-size.c: Likewise.
58153         * tests/test-areadlinkat.c: Likewise.
58154         * tests/test-areadlinkat-with-size.c: Likewise.
58155         * tests/test-argmatch.c: Likewise.
58156         * tests/test-argv-iter.c: Likewise.
58157         * tests/test-array-mergesort.c: Likewise.
58158         * tests/test-array_list.c: Likewise.
58159         * tests/test-array_oset.c: Likewise.
58160         * tests/test-avltree_list.c: Likewise.
58161         * tests/test-avltree_oset.c: Likewise.
58162         * tests/test-avltreehash_list.c: Likewise.
58163         * tests/test-base64.c: Likewise.
58164         * tests/test-binary-io.c: Likewise.
58165         * tests/test-bitrotate.c: Likewise.
58166         * tests/test-btowc.c: Likewise.
58167         * tests/test-byteswap.c: Likewise.
58168         * tests/test-c-ctype.c: Likewise.
58169         * tests/test-c-stack.c: Likewise.
58170         * tests/test-c-strcasecmp.c: Likewise.
58171         * tests/test-c-strcasestr.c: Likewise.
58172         * tests/test-c-strncasecmp.c: Likewise.
58173         * tests/test-c-strstr.c: Likewise.
58174         * tests/test-canonicalize-lgpl.c: Likewise.
58175         * tests/test-canonicalize.c: Likewise.
58176         * tests/test-carray_list.c: Likewise.
58177         * tests/test-ceilf1.c: Likewise.
58178         * tests/test-ceilf2.c: Likewise.
58179         * tests/test-ceill.c: Likewise.
58180         * tests/test-chown.c: Likewise.
58181         * tests/test-cloexec.c: Likewise.
58182         * tests/test-copy-acl.c: Likewise.
58183         * tests/test-copy-file.c: Likewise.
58184         * tests/test-count-one-bits.c: Likewise.
58185         * tests/test-dprintf-posix.c: Likewise.
58186         * tests/test-dup2.c: Likewise.
58187         * tests/test-dup3.c: Likewise.
58188         * tests/test-duplocale.c: Likewise.
58189         * tests/test-fbufmode.c: Likewise.
58190         * tests/test-fchdir.c: Likewise.
58191         * tests/test-fchownat.c: Likewise.
58192         * tests/test-fcntl-safer.c: Likewise.
58193         * tests/test-fcntl.c: Likewise.
58194         * tests/test-fdopendir.c: Likewise.
58195         * tests/test-fdutimensat.c: Likewise.
58196         * tests/test-fflush2.c: Likewise.
58197         * tests/test-file-has-acl.c: Likewise.
58198         * tests/test-filevercmp.c: Likewise.
58199         * tests/test-flock.c: Likewise.
58200         * tests/test-floorf1.c: Likewise.
58201         * tests/test-floorf2.c: Likewise.
58202         * tests/test-floorl.c: Likewise.
58203         * tests/test-fnmatch.c: Likewise.
58204         * tests/test-fopen.h: Likewise.
58205         * tests/test-fpending.c: Likewise.
58206         * tests/test-fprintf-posix.c: Likewise.
58207         * tests/test-fpurge.c: Likewise.
58208         * tests/test-freadable.c: Likewise.
58209         * tests/test-freadahead.c: Likewise.
58210         * tests/test-freading.c: Likewise.
58211         * tests/test-freadptr.c: Likewise.
58212         * tests/test-freadptr2.c: Likewise.
58213         * tests/test-freadseek.c: Likewise.
58214         * tests/test-freopen.c: Likewise.
58215         * tests/test-frexp.c: Likewise.
58216         * tests/test-frexpl.c: Likewise.
58217         * tests/test-fseek.c: Likewise.
58218         * tests/test-fseeko.c: Likewise.
58219         * tests/test-fstatat.c: Likewise.
58220         * tests/test-fstrcmp.c: Likewise.
58221         * tests/test-fsync.c: Likewise.
58222         * tests/test-ftell.c: Likewise.
58223         * tests/test-ftello.c: Likewise.
58224         * tests/test-func.c: Likewise.
58225         * tests/test-futimens.c: Likewise.
58226         * tests/test-fwritable.c: Likewise.
58227         * tests/test-fwriting.c: Likewise.
58228         * tests/test-getcwd.c: Likewise.
58229         * tests/test-getdate.c: Likewise.
58230         * tests/test-getdelim.c: Likewise.
58231         * tests/test-getdtablesize.c: Likewise.
58232         * tests/test-getgroups.c: Likewise.
58233         * tests/test-getline.c: Likewise.
58234         * tests/test-getndelim2.c: Likewise.
58235         * tests/test-glob.c: Likewise.
58236         * tests/test-hash.c: Likewise.
58237         * tests/test-i-ring.c: Likewise.
58238         * tests/test-iconv-utf.c: Likewise.
58239         * tests/test-iconv.c: Likewise.
58240         * tests/test-idpriv-drop.c: Likewise.
58241         * tests/test-idpriv-droptemp.c: Likewise.
58242         * tests/test-inet_ntop.c: Likewise.
58243         * tests/test-inet_pton.c: Likewise.
58244         * tests/test-isblank.c: Likewise.
58245         * tests/test-isfinite.c: Likewise.
58246         * tests/test-isinf.c: Likewise.
58247         * tests/test-isnan.c: Likewise.
58248         * tests/test-isnand.h: Likewise.
58249         * tests/test-isnanf.h: Likewise.
58250         * tests/test-isnanl.h: Likewise.
58251         * tests/test-lchown.c: Likewise.
58252         * tests/test-ldexpl.c: Likewise.
58253         * tests/test-link.c: Likewise.
58254         * tests/test-linkat.c: Likewise.
58255         * tests/test-linked_list.c: Likewise.
58256         * tests/test-linkedhash_list.c: Likewise.
58257         * tests/test-localename.c: Likewise.
58258         * tests/test-lseek.c: Likewise.
58259         * tests/test-lstat.c: Likewise.
58260         * tests/test-mbmemcasecmp.c: Likewise.
58261         * tests/test-mbmemcasecoll.c: Likewise.
58262         * tests/test-mbrtowc.c: Likewise.
58263         * tests/test-mbscasecmp.c: Likewise.
58264         * tests/test-mbscasestr1.c: Likewise.
58265         * tests/test-mbscasestr2.c: Likewise.
58266         * tests/test-mbscasestr3.c: Likewise.
58267         * tests/test-mbscasestr4.c: Likewise.
58268         * tests/test-mbschr.c: Likewise.
58269         * tests/test-mbscspn.c: Likewise.
58270         * tests/test-mbsinit.c: Likewise.
58271         * tests/test-mbsncasecmp.c: Likewise.
58272         * tests/test-mbsnrtowcs.c: Likewise.
58273         * tests/test-mbspbrk.c: Likewise.
58274         * tests/test-mbspcasecmp.c: Likewise.
58275         * tests/test-mbsrchr.c: Likewise.
58276         * tests/test-mbsrtowcs.c: Likewise.
58277         * tests/test-mbsspn.c: Likewise.
58278         * tests/test-mbsstr1.c: Likewise.
58279         * tests/test-mbsstr2.c: Likewise.
58280         * tests/test-mbsstr3.c: Likewise.
58281         * tests/test-memchr.c: Likewise.
58282         * tests/test-memchr2.c: Likewise.
58283         * tests/test-memcmp.c: Likewise.
58284         * tests/test-memmem.c: Likewise.
58285         * tests/test-memrchr.c: Likewise.
58286         * tests/test-mkdir.c: Likewise.
58287         * tests/test-mkdirat.c: Likewise.
58288         * tests/test-mkfifo.c: Likewise.
58289         * tests/test-mkfifoat.c: Likewise.
58290         * tests/test-mknod.c: Likewise.
58291         * tests/test-nanosleep.c: Likewise.
58292         * tests/test-nl_langinfo.c: Likewise.
58293         * tests/test-obstack-printf.c: Likewise.
58294         * tests/test-open.c: Likewise.
58295         * tests/test-openat.c: Likewise.
58296         * tests/test-pipe-filter-gi1.c: Likewise.
58297         * tests/test-pipe-filter-gi2-main.c: Likewise.
58298         * tests/test-pipe-filter-ii1.c: Likewise.
58299         * tests/test-pipe-filter-ii2-main.c: Likewise.
58300         * tests/test-pipe2.c: Likewise.
58301         * tests/test-popen.h: Likewise.
58302         * tests/test-posixtm.c: Likewise.
58303         * tests/test-pread.c: Likewise.
58304         * tests/test-printf-frexp.c: Likewise.
58305         * tests/test-printf-frexpl.c: Likewise.
58306         * tests/test-printf-posix.c: Likewise.
58307         * tests/test-priv-set.c: Likewise.
58308         * tests/test-quotearg.c: Likewise.
58309         * tests/test-random_r.c: Likewise.
58310         * tests/test-rawmemchr.c: Likewise.
58311         * tests/test-rbtree_list.c: Likewise.
58312         * tests/test-rbtree_oset.c: Likewise.
58313         * tests/test-rbtreehash_list.c: Likewise.
58314         * tests/test-readlink.c: Likewise.
58315         * tests/test-remove.c: Likewise.
58316         * tests/test-rename.c: Likewise.
58317         * tests/test-renameat.c: Likewise.
58318         * tests/test-rmdir.c: Likewise.
58319         * tests/test-round1.c: Likewise.
58320         * tests/test-roundf1.c: Likewise.
58321         * tests/test-roundl.c: Likewise.
58322         * tests/test-safe-alloc.c: Likewise.
58323         * tests/test-sameacls.c: Likewise.
58324         * tests/test-set-mode-acl.c: Likewise.
58325         * tests/test-setenv.c: Likewise.
58326         * tests/test-sigaction.c: Likewise.
58327         * tests/test-signbit.c: Likewise.
58328         * tests/test-sleep.c: Likewise.
58329         * tests/test-snprintf-posix.c: Likewise.
58330         * tests/test-snprintf.c: Likewise.
58331         * tests/test-sprintf-posix.c: Likewise.
58332         * tests/test-stat-time.c: Likewise.
58333         * tests/test-stat.c: Likewise.
58334         * tests/test-strcasestr.c: Likewise.
58335         * tests/test-strchrnul.c: Likewise.
58336         * tests/test-strerror.c: Likewise.
58337         * tests/test-striconv.c: Likewise.
58338         * tests/test-striconveh.c: Likewise.
58339         * tests/test-striconveha.c: Likewise.
58340         * tests/test-strsignal.c: Likewise.
58341         * tests/test-strstr.c: Likewise.
58342         * tests/test-strtod.c: Likewise.
58343         * tests/test-strverscmp.c: Likewise.
58344         * tests/test-symlink.c: Likewise.
58345         * tests/test-symlinkat.c: Likewise.
58346         * tests/test-trunc1.c: Likewise.
58347         * tests/test-trunc2.c: Likewise.
58348         * tests/test-truncf1.c: Likewise.
58349         * tests/test-truncf2.c: Likewise.
58350         * tests/test-truncl.c: Likewise.
58351         * tests/test-uname.c: Likewise.
58352         * tests/test-unlink.c: Likewise.
58353         * tests/test-unlinkat.c: Likewise.
58354         * tests/test-unsetenv.c: Likewise.
58355         * tests/test-usleep.c: Likewise.
58356         * tests/test-utimens.c: Likewise.
58357         * tests/test-utimensat.c: Likewise.
58358         * tests/test-vasnprintf-posix.c: Likewise.
58359         * tests/test-vasnprintf-posix2.c: Likewise.
58360         * tests/test-vasnprintf.c: Likewise.
58361         * tests/test-vasprintf-posix.c: Likewise.
58362         * tests/test-vasprintf.c: Likewise.
58363         * tests/test-vdprintf-posix.c: Likewise.
58364         * tests/test-vfprintf-posix.c: Likewise.
58365         * tests/test-vprintf-posix.c: Likewise.
58366         * tests/test-vsnprintf-posix.c: Likewise.
58367         * tests/test-vsnprintf.c: Likewise.
58368         * tests/test-vsprintf-posix.c: Likewise.
58369         * tests/test-wcrtomb.c: Likewise.
58370         * tests/test-wcsnrtombs.c: Likewise.
58371         * tests/test-wcsrtombs.c: Likewise.
58372         * tests/test-wctype.c: Likewise.
58373         * tests/test-wcwidth.c: Likewise.
58374         * tests/test-xfprintf-posix.c: Likewise.
58375         * tests/test-xmemdup0.c: Likewise.
58376         * tests/test-xprintf-posix.c: Likewise.
58377         * tests/test-xvasprintf.c: Likewise.
58378         * tests/unicase/test-locale-language.c: Likewise.
58379         * tests/unicase/test-mapping-part1.h: Likewise.
58380         * tests/unicase/test-predicate-part1.h: Likewise.
58381         * tests/unicase/test-u8-casecmp.c: Likewise.
58382         * tests/unicase/test-u8-casecoll.c: Likewise.
58383         * tests/unicase/test-u8-casefold.c: Likewise.
58384         * tests/unicase/test-u8-is-cased.c: Likewise.
58385         * tests/unicase/test-u8-is-casefolded.c: Likewise.
58386         * tests/unicase/test-u8-is-lowercase.c: Likewise.
58387         * tests/unicase/test-u8-is-titlecase.c: Likewise.
58388         * tests/unicase/test-u8-is-uppercase.c: Likewise.
58389         * tests/unicase/test-u8-tolower.c: Likewise.
58390         * tests/unicase/test-u8-totitle.c: Likewise.
58391         * tests/unicase/test-u8-toupper.c: Likewise.
58392         * tests/unicase/test-u16-casecmp.c: Likewise.
58393         * tests/unicase/test-u16-casecoll.c: Likewise.
58394         * tests/unicase/test-u16-casefold.c: Likewise.
58395         * tests/unicase/test-u16-is-cased.c: Likewise.
58396         * tests/unicase/test-u16-is-casefolded.c: Likewise.
58397         * tests/unicase/test-u16-is-lowercase.c: Likewise.
58398         * tests/unicase/test-u16-is-titlecase.c: Likewise.
58399         * tests/unicase/test-u16-is-uppercase.c: Likewise.
58400         * tests/unicase/test-u16-tolower.c: Likewise.
58401         * tests/unicase/test-u16-totitle.c: Likewise.
58402         * tests/unicase/test-u16-toupper.c: Likewise.
58403         * tests/unicase/test-u32-casecmp.c: Likewise.
58404         * tests/unicase/test-u32-casecoll.c: Likewise.
58405         * tests/unicase/test-u32-casefold.c: Likewise.
58406         * tests/unicase/test-u32-is-cased.c: Likewise.
58407         * tests/unicase/test-u32-is-casefolded.c: Likewise.
58408         * tests/unicase/test-u32-is-lowercase.c: Likewise.
58409         * tests/unicase/test-u32-is-titlecase.c: Likewise.
58410         * tests/unicase/test-u32-is-uppercase.c: Likewise.
58411         * tests/unicase/test-u32-tolower.c: Likewise.
58412         * tests/unicase/test-u32-totitle.c: Likewise.
58413         * tests/unicase/test-u32-toupper.c: Likewise.
58414         * tests/unicase/test-ulc-casecmp.c: Likewise.
58415         * tests/unicase/test-ulc-casecoll.c: Likewise.
58416         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
58417         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
58418         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
58419         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
58420         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
58421         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
58422         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
58423         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
58424         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
58425         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
58426         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
58427         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
58428         * tests/unictype/test-bidi_byname.c: Likewise.
58429         * tests/unictype/test-bidi_name.c: Likewise.
58430         * tests/unictype/test-bidi_of.c: Likewise.
58431         * tests/unictype/test-bidi_test.c: Likewise.
58432         * tests/unictype/test-block_list.c: Likewise.
58433         * tests/unictype/test-block_of.c: Likewise.
58434         * tests/unictype/test-block_test.c: Likewise.
58435         * tests/unictype/test-categ_and.c: Likewise.
58436         * tests/unictype/test-categ_and_not.c: Likewise.
58437         * tests/unictype/test-categ_byname.c: Likewise.
58438         * tests/unictype/test-categ_name.c: Likewise.
58439         * tests/unictype/test-categ_none.c: Likewise.
58440         * tests/unictype/test-categ_of.c: Likewise.
58441         * tests/unictype/test-categ_or.c: Likewise.
58442         * tests/unictype/test-categ_test_withtable.c: Likewise.
58443         * tests/unictype/test-combining.c: Likewise.
58444         * tests/unictype/test-decdigit.c: Likewise.
58445         * tests/unictype/test-digit.c: Likewise.
58446         * tests/unictype/test-mirror.c: Likewise.
58447         * tests/unictype/test-numeric.c: Likewise.
58448         * tests/unictype/test-pr_byname.c: Likewise.
58449         * tests/unictype/test-pr_test.c: Likewise.
58450         * tests/unictype/test-predicate-part1.h: Likewise.
58451         * tests/unictype/test-scripts.c: Likewise.
58452         * tests/unictype/test-sy_c_ident.c: Likewise.
58453         * tests/unictype/test-sy_java_ident.c: Likewise.
58454         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
58455         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
58456         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
58457         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
58458         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
58459         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
58460         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
58461         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
58462         * tests/uninorm/test-canonical-decomposition.c: Likewise.
58463         * tests/uninorm/test-compat-decomposition.c: Likewise.
58464         * tests/uninorm/test-composition.c: Likewise.
58465         * tests/uninorm/test-decomposing-form.c: Likewise.
58466         * tests/uninorm/test-decomposition.c: Likewise.
58467         * tests/uninorm/test-u8-nfc.c: Likewise.
58468         * tests/uninorm/test-u8-nfd.c: Likewise.
58469         * tests/uninorm/test-u8-nfkc.c: Likewise.
58470         * tests/uninorm/test-u8-nfkd.c: Likewise.
58471         * tests/uninorm/test-u8-normcmp.c: Likewise.
58472         * tests/uninorm/test-u8-normcoll.c: Likewise.
58473         * tests/uninorm/test-u16-nfc.c: Likewise.
58474         * tests/uninorm/test-u16-nfd.c: Likewise.
58475         * tests/uninorm/test-u16-nfkc.c: Likewise.
58476         * tests/uninorm/test-u16-nfkd.c: Likewise.
58477         * tests/uninorm/test-u16-normcmp.c: Likewise.
58478         * tests/uninorm/test-u16-normcoll.c: Likewise.
58479         * tests/uninorm/test-u32-nfc.c: Likewise.
58480         * tests/uninorm/test-u32-nfd.c: Likewise.
58481         * tests/uninorm/test-u32-nfkc.c: Likewise.
58482         * tests/uninorm/test-u32-nfkd.c: Likewise.
58483         * tests/uninorm/test-u32-normalize-big.c: Likewise.
58484         * tests/uninorm/test-u32-normcmp.c: Likewise.
58485         * tests/uninorm/test-u32-normcoll.c: Likewise.
58486         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
58487         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
58488         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
58489         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
58490         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
58491         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
58492         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
58493         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
58494         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
58495         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
58496         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
58497         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
58498         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
58499         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
58500         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
58501         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
58502         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
58503         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
58504         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
58505         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
58506         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
58507         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
58508         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
58509         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
58510         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
58511         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
58512         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
58513         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
58514         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
58515         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
58516         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
58517         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
58518         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
58519         * tests/uniwidth/test-u8-strwidth.c: Likewise.
58520         * tests/uniwidth/test-u8-width.c: Likewise.
58521         * tests/uniwidth/test-u16-strwidth.c: Likewise.
58522         * tests/uniwidth/test-u16-width.c: Likewise.
58523         * tests/uniwidth/test-u32-strwidth.c: Likewise.
58524         * tests/uniwidth/test-u32-width.c: Likewise.
58525         * tests/uniwidth/test-uc_width.c: Likewise.
58526         * tests/uniwidth/test-uc_width2.c: Likewise.
58527         * modules/acl-tests (Files): Add tests/macros.h.
58528         * modules/areadlink-tests (Files): Likewise.
58529         * modules/areadlink-with-size-tests (Files): Likewise.
58530         * modules/areadlinkat-tests (Files): Likewise.
58531         * modules/areadlinkat-with-size-tests (Files): Likewise.
58532         * modules/argmatch-tests (Files): Likewise.
58533         * modules/argv-iter-tests (Files): Likewise.
58534         * modules/array-list-tests (Files): Likewise.
58535         * modules/array-mergesort-tests (Files): Likewise.
58536         * modules/array-oset-tests (Files): Likewise.
58537         * modules/avltree-list-tests (Files): Likewise.
58538         * modules/avltree-oset-tests (Files): Likewise.
58539         * modules/avltreehash-list-tests (Files): Likewise.
58540         * modules/base64-tests (Files): Likewise.
58541         * modules/binary-io-tests (Files): Likewise.
58542         * modules/bitrotate-tests (Files): Likewise.
58543         * modules/btowc-tests (Files): Likewise.
58544         * modules/byteswap-tests (Files): Likewise.
58545         * modules/c-ctype-tests (Files): Likewise.
58546         * modules/c-stack-tests (Files): Likewise.
58547         * modules/c-strcase-tests (Files): Likewise.
58548         * modules/c-strcasestr-tests (Files): Likewise.
58549         * modules/c-strstr-tests (Files): Likewise.
58550         * modules/canonicalize-lgpl-tests (Files): Likewise.
58551         * modules/canonicalize-tests (Files): Likewise.
58552         * modules/carray-list-tests (Files): Likewise.
58553         * modules/ceilf-tests (Files): Likewise.
58554         * modules/ceill-tests (Files): Likewise.
58555         * modules/chown-tests (Files): Likewise.
58556         * modules/cloexec-tests (Files): Likewise.
58557         * modules/copy-file-tests (Files): Likewise.
58558         * modules/count-one-bits-tests (Files): Likewise.
58559         * modules/dprintf-posix-tests (Files): Likewise.
58560         * modules/dup2-tests (Files): Likewise.
58561         * modules/dup3-tests (Files): Likewise.
58562         * modules/duplocale-tests (Files): Likewise.
58563         * modules/fbufmode-tests (Files): Likewise.
58564         * modules/fchdir-tests (Files): Likewise.
58565         * modules/fcntl-safer-tests (Files): Likewise.
58566         * modules/fcntl-tests (Files): Likewise.
58567         * modules/fdopendir-tests (Files): Likewise.
58568         * modules/fdutimensat-tests (Files): Likewise.
58569         * modules/fflush-tests (Files): Likewise.
58570         * modules/filevercmp-tests (Files): Likewise.
58571         * modules/flock-tests (Files): Likewise.
58572         * modules/floorf-tests (Files): Likewise.
58573         * modules/floorl-tests (Files): Likewise.
58574         * modules/fnmatch-tests (Files): Likewise.
58575         * modules/fopen-safer-tests (Files): Likewise.
58576         * modules/fopen-tests (Files): Likewise.
58577         * modules/fpending-tests (Files): Likewise.
58578         * modules/fprintf-posix-tests (Files): Likewise.
58579         * modules/fpurge-tests (Files): Likewise.
58580         * modules/freadable-tests (Files): Likewise.
58581         * modules/freadahead-tests (Files): Likewise.
58582         * modules/freading-tests (Files): Likewise.
58583         * modules/freadptr-tests (Files): Likewise.
58584         * modules/freadseek-tests (Files): Likewise.
58585         * modules/freopen-tests (Files): Likewise.
58586         * modules/frexp-nolibm-tests (Files): Likewise.
58587         * modules/frexp-tests (Files): Likewise.
58588         * modules/frexpl-nolibm-tests (Files): Likewise.
58589         * modules/frexpl-tests (Files): Likewise.
58590         * modules/fseek-tests (Files): Likewise.
58591         * modules/fseeko-tests (Files): Likewise.
58592         * modules/fstrcmp-tests (Files): Likewise.
58593         * modules/fsync-tests (Files): Likewise.
58594         * modules/ftell-tests (Files): Likewise.
58595         * modules/ftello-tests (Files): Likewise.
58596         * modules/func-tests (Files): Likewise.
58597         * modules/futimens-tests (Files): Likewise.
58598         * modules/fwritable-tests (Files): Likewise.
58599         * modules/fwriting-tests (Files): Likewise.
58600         * modules/getcwd-tests (Files): Likewise.
58601         * modules/getdate-tests (Files): Likewise.
58602         * modules/getdelim-tests (Files): Likewise.
58603         * modules/getdtablesize-tests (Files): Likewise.
58604         * modules/getgroups-tests (Files): Likewise.
58605         * modules/getline-tests (Files): Likewise.
58606         * modules/getndelim2-tests (Files): Likewise.
58607         * modules/glob-tests (Files): Likewise.
58608         * modules/hash-tests (Files): Likewise.
58609         * modules/i-ring-tests (Files): Likewise.
58610         * modules/iconv-tests (Files): Likewise.
58611         * modules/iconv_open-utf-tests (Files): Likewise.
58612         * modules/idpriv-drop-tests (Files): Likewise.
58613         * modules/idpriv-droptemp-tests (Files): Likewise.
58614         * modules/inet_ntop-tests (Files): Likewise.
58615         * modules/inet_pton-tests (Files): Likewise.
58616         * modules/isblank-tests (Files): Likewise.
58617         * modules/isfinite-tests (Files): Likewise.
58618         * modules/isinf-tests (Files): Likewise.
58619         * modules/isnan-tests (Files): Likewise.
58620         * modules/isnand-nolibm-tests (Files): Likewise.
58621         * modules/isnand-tests (Files): Likewise.
58622         * modules/isnanf-nolibm-tests (Files): Likewise.
58623         * modules/isnanf-tests (Files): Likewise.
58624         * modules/isnanl-nolibm-tests (Files): Likewise.
58625         * modules/isnanl-tests (Files): Likewise.
58626         * modules/lchown-tests (Files): Likewise.
58627         * modules/ldexpl-tests (Files): Likewise.
58628         * modules/link-tests (Files): Likewise.
58629         * modules/linkat-tests (Files): Likewise.
58630         * modules/linked-list-tests (Files): Likewise.
58631         * modules/linkedhash-list-tests (Files): Likewise.
58632         * modules/localename-tests (Files): Likewise.
58633         * modules/lseek-tests (Files): Likewise.
58634         * modules/lstat-tests (Files): Likewise.
58635         * modules/mbmemcasecmp-tests (Files): Likewise.
58636         * modules/mbmemcasecoll-tests (Files): Likewise.
58637         * modules/mbrtowc-tests (Files): Likewise.
58638         * modules/mbscasecmp-tests (Files): Likewise.
58639         * modules/mbscasestr-tests (Files): Likewise.
58640         * modules/mbschr-tests (Files): Likewise.
58641         * modules/mbscspn-tests (Files): Likewise.
58642         * modules/mbsinit-tests (Files): Likewise.
58643         * modules/mbsncasecmp-tests (Files): Likewise.
58644         * modules/mbsnrtowcs-tests (Files): Likewise.
58645         * modules/mbspbrk-tests (Files): Likewise.
58646         * modules/mbspcasecmp-tests (Files): Likewise.
58647         * modules/mbsrchr-tests (Files): Likewise.
58648         * modules/mbsrtowcs-tests (Files): Likewise.
58649         * modules/mbsspn-tests (Files): Likewise.
58650         * modules/mbsstr-tests (Files): Likewise.
58651         * modules/memchr-tests (Files): Likewise.
58652         * modules/memchr2-tests (Files): Likewise.
58653         * modules/memcmp-tests (Files): Likewise.
58654         * modules/memmem-tests (Files): Likewise.
58655         * modules/memrchr-tests (Files): Likewise.
58656         * modules/mkdir-tests (Files): Likewise.
58657         * modules/mkfifo-tests (Files): Likewise.
58658         * modules/mkfifoat-tests (Files): Likewise.
58659         * modules/mknod-tests (Files): Likewise.
58660         * modules/nanosleep-tests (Files): Likewise.
58661         * modules/nl_langinfo-tests (Files): Likewise.
58662         * modules/obstack-printf-tests (Files): Likewise.
58663         * modules/open-tests (Files): Likewise.
58664         * modules/openat-tests (Files): Likewise.
58665         * modules/pipe-filter-gi-tests (Files): Likewise.
58666         * modules/pipe-filter-ii-tests (Files): Likewise.
58667         * modules/pipe2-tests (Files): Likewise.
58668         * modules/popen-safer-tests (Files): Likewise.
58669         * modules/popen-tests (Files): Likewise.
58670         * modules/posixtm-tests (Files): Likewise.
58671         * modules/pread-tests (Files): Likewise.
58672         * modules/printf-frexp-tests (Files): Likewise.
58673         * modules/printf-frexpl-tests (Files): Likewise.
58674         * modules/printf-posix-tests (Files): Likewise.
58675         * modules/priv-set-tests (Files): Likewise.
58676         * modules/quotearg-tests (Files): Likewise.
58677         * modules/random_r-tests (Files): Likewise.
58678         * modules/rawmemchr-tests (Files): Likewise.
58679         * modules/rbtree-list-tests (Files): Likewise.
58680         * modules/rbtree-oset-tests (Files): Likewise.
58681         * modules/rbtreehash-list-tests (Files): Likewise.
58682         * modules/readlink-tests (Files): Likewise.
58683         * modules/remove-tests (Files): Likewise.
58684         * modules/rename-tests (Files): Likewise.
58685         * modules/renameat-tests (Files): Likewise.
58686         * modules/rmdir-tests (Files): Likewise.
58687         * modules/round-tests (Files): Likewise.
58688         * modules/roundf-tests (Files): Likewise.
58689         * modules/roundl-tests (Files): Likewise.
58690         * modules/safe-alloc-tests (Files): Likewise.
58691         * modules/setenv-tests (Files): Likewise.
58692         * modules/sigaction-tests (Files): Likewise.
58693         * modules/signbit-tests (Files): Likewise.
58694         * modules/sleep-tests (Files): Likewise.
58695         * modules/snprintf-posix-tests (Files): Likewise.
58696         * modules/snprintf-tests (Files): Likewise.
58697         * modules/sprintf-posix-tests (Files): Likewise.
58698         * modules/stat-tests (Files): Likewise.
58699         * modules/stat-time-tests (Files): Likewise.
58700         * modules/strcasestr-tests (Files): Likewise.
58701         * modules/strchrnul-tests (Files): Likewise.
58702         * modules/strerror-tests (Files): Likewise.
58703         * modules/striconv-tests (Files): Likewise.
58704         * modules/striconveh-tests (Files): Likewise.
58705         * modules/striconveha-tests (Files): Likewise.
58706         * modules/strsignal-tests (Files): Likewise.
58707         * modules/strstr-tests (Files): Likewise.
58708         * modules/strtod-tests (Files): Likewise.
58709         * modules/strverscmp-tests (Files): Likewise.
58710         * modules/symlink-tests (Files): Likewise.
58711         * modules/symlinkat-tests (Files): Likewise.
58712         * modules/trunc-tests (Files): Likewise.
58713         * modules/truncf-tests (Files): Likewise.
58714         * modules/truncl-tests (Files): Likewise.
58715         * modules/uname-tests (Files): Likewise.
58716         * modules/unicase/cased-tests (Files): Likewise.
58717         * modules/unicase/ignorable-tests (Files): Likewise.
58718         * modules/unicase/locale-language-tests (Files): Likewise.
58719         * modules/unicase/tolower-tests (Files): Likewise.
58720         * modules/unicase/totitle-tests (Files): Likewise.
58721         * modules/unicase/toupper-tests (Files): Likewise.
58722         * modules/unicase/u8-casecmp-tests (Files): Likewise.
58723         * modules/unicase/u8-casecoll-tests (Files): Likewise.
58724         * modules/unicase/u8-casefold-tests (Files): Likewise.
58725         * modules/unicase/u8-is-cased-tests (Files): Likewise.
58726         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
58727         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
58728         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
58729         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
58730         * modules/unicase/u8-tolower-tests (Files): Likewise.
58731         * modules/unicase/u8-totitle-tests (Files): Likewise.
58732         * modules/unicase/u8-toupper-tests (Files): Likewise.
58733         * modules/unicase/u16-casecmp-tests (Files): Likewise.
58734         * modules/unicase/u16-casecoll-tests (Files): Likewise.
58735         * modules/unicase/u16-casefold-tests (Files): Likewise.
58736         * modules/unicase/u16-is-cased-tests (Files): Likewise.
58737         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
58738         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
58739         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
58740         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
58741         * modules/unicase/u16-tolower-tests (Files): Likewise.
58742         * modules/unicase/u16-totitle-tests (Files): Likewise.
58743         * modules/unicase/u16-toupper-tests (Files): Likewise.
58744         * modules/unicase/u32-casecmp-tests (Files): Likewise.
58745         * modules/unicase/u32-casecoll-tests (Files): Likewise.
58746         * modules/unicase/u32-casefold-tests (Files): Likewise.
58747         * modules/unicase/u32-is-cased-tests (Files): Likewise.
58748         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
58749         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
58750         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
58751         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
58752         * modules/unicase/u32-tolower-tests (Files): Likewise.
58753         * modules/unicase/u32-totitle-tests (Files): Likewise.
58754         * modules/unicase/u32-toupper-tests (Files): Likewise.
58755         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
58756         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
58757         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
58758         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
58759         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
58760         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
58761         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
58762         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
58763         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
58764         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
58765         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
58766         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
58767         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
58768         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
58769         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
58770         * modules/unictype/bidicategory-name-tests (Files): Likewise.
58771         * modules/unictype/bidicategory-of-tests (Files): Likewise.
58772         * modules/unictype/bidicategory-test-tests (Files): Likewise.
58773         * modules/unictype/block-list-tests (Files): Likewise.
58774         * modules/unictype/block-of-tests (Files): Likewise.
58775         * modules/unictype/block-test-tests (Files): Likewise.
58776         * modules/unictype/category-C-tests (Files): Likewise.
58777         * modules/unictype/category-Cc-tests (Files): Likewise.
58778         * modules/unictype/category-Cf-tests (Files): Likewise.
58779         * modules/unictype/category-Cn-tests (Files): Likewise.
58780         * modules/unictype/category-Co-tests (Files): Likewise.
58781         * modules/unictype/category-Cs-tests (Files): Likewise.
58782         * modules/unictype/category-L-tests (Files): Likewise.
58783         * modules/unictype/category-Ll-tests (Files): Likewise.
58784         * modules/unictype/category-Lm-tests (Files): Likewise.
58785         * modules/unictype/category-Lo-tests (Files): Likewise.
58786         * modules/unictype/category-Lt-tests (Files): Likewise.
58787         * modules/unictype/category-Lu-tests (Files): Likewise.
58788         * modules/unictype/category-M-tests (Files): Likewise.
58789         * modules/unictype/category-Mc-tests (Files): Likewise.
58790         * modules/unictype/category-Me-tests (Files): Likewise.
58791         * modules/unictype/category-Mn-tests (Files): Likewise.
58792         * modules/unictype/category-N-tests (Files): Likewise.
58793         * modules/unictype/category-Nd-tests (Files): Likewise.
58794         * modules/unictype/category-Nl-tests (Files): Likewise.
58795         * modules/unictype/category-No-tests (Files): Likewise.
58796         * modules/unictype/category-P-tests (Files): Likewise.
58797         * modules/unictype/category-Pc-tests (Files): Likewise.
58798         * modules/unictype/category-Pd-tests (Files): Likewise.
58799         * modules/unictype/category-Pe-tests (Files): Likewise.
58800         * modules/unictype/category-Pf-tests (Files): Likewise.
58801         * modules/unictype/category-Pi-tests (Files): Likewise.
58802         * modules/unictype/category-Po-tests (Files): Likewise.
58803         * modules/unictype/category-Ps-tests (Files): Likewise.
58804         * modules/unictype/category-S-tests (Files): Likewise.
58805         * modules/unictype/category-Sc-tests (Files): Likewise.
58806         * modules/unictype/category-Sk-tests (Files): Likewise.
58807         * modules/unictype/category-Sm-tests (Files): Likewise.
58808         * modules/unictype/category-So-tests (Files): Likewise.
58809         * modules/unictype/category-Z-tests (Files): Likewise.
58810         * modules/unictype/category-Zl-tests (Files): Likewise.
58811         * modules/unictype/category-Zp-tests (Files): Likewise.
58812         * modules/unictype/category-Zs-tests (Files): Likewise.
58813         * modules/unictype/category-and-not-tests (Files): Likewise.
58814         * modules/unictype/category-and-tests (Files): Likewise.
58815         * modules/unictype/category-byname-tests (Files): Likewise.
58816         * modules/unictype/category-name-tests (Files): Likewise.
58817         * modules/unictype/category-none-tests (Files): Likewise.
58818         * modules/unictype/category-of-tests (Files): Likewise.
58819         * modules/unictype/category-or-tests (Files): Likewise.
58820         * modules/unictype/category-test-withtable-tests (Files): Likewise.
58821         * modules/unictype/combining-class-tests (Files): Likewise.
58822         * modules/unictype/ctype-alnum-tests (Files): Likewise.
58823         * modules/unictype/ctype-alpha-tests (Files): Likewise.
58824         * modules/unictype/ctype-blank-tests (Files): Likewise.
58825         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
58826         * modules/unictype/ctype-digit-tests (Files): Likewise.
58827         * modules/unictype/ctype-graph-tests (Files): Likewise.
58828         * modules/unictype/ctype-lower-tests (Files): Likewise.
58829         * modules/unictype/ctype-print-tests (Files): Likewise.
58830         * modules/unictype/ctype-punct-tests (Files): Likewise.
58831         * modules/unictype/ctype-space-tests (Files): Likewise.
58832         * modules/unictype/ctype-upper-tests (Files): Likewise.
58833         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
58834         * modules/unictype/decimal-digit-tests (Files): Likewise.
58835         * modules/unictype/digit-tests (Files): Likewise.
58836         * modules/unictype/mirror-tests (Files): Likewise.
58837         * modules/unictype/numeric-tests (Files): Likewise.
58838         * modules/unictype/property-alphabetic-tests (Files): Likewise.
58839         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
58840         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
58841         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
58842         Likewise.
58843         * modules/unictype/property-bidi-block-separator-tests (Files):
58844         Likewise.
58845         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
58846         Likewise.
58847         * modules/unictype/property-bidi-common-separator-tests (Files):
58848         Likewise.
58849         * modules/unictype/property-bidi-control-tests (Files): Likewise.
58850         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
58851         Likewise.
58852         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
58853         Likewise.
58854         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
58855         Likewise.
58856         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
58857         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
58858         Likewise.
58859         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
58860         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
58861         Likewise.
58862         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
58863         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
58864         * modules/unictype/property-bidi-segment-separator-tests (Files):
58865         Likewise.
58866         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
58867         * modules/unictype/property-byname-tests (Files): Likewise.
58868         * modules/unictype/property-combining-tests (Files): Likewise.
58869         * modules/unictype/property-composite-tests (Files): Likewise.
58870         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
58871         * modules/unictype/property-dash-tests (Files): Likewise.
58872         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
58873         * modules/unictype/property-default-ignorable-code-point-tests (Files):
58874         Likewise.
58875         * modules/unictype/property-deprecated-tests (Files): Likewise.
58876         * modules/unictype/property-diacritic-tests (Files): Likewise.
58877         * modules/unictype/property-extender-tests (Files): Likewise.
58878         * modules/unictype/property-format-control-tests (Files): Likewise.
58879         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
58880         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
58881         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
58882         * modules/unictype/property-hex-digit-tests (Files): Likewise.
58883         * modules/unictype/property-hyphen-tests (Files): Likewise.
58884         * modules/unictype/property-id-continue-tests (Files): Likewise.
58885         * modules/unictype/property-id-start-tests (Files): Likewise.
58886         * modules/unictype/property-ideographic-tests (Files): Likewise.
58887         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
58888         * modules/unictype/property-ids-trinary-operator-tests (Files):
58889         Likewise.
58890         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
58891         * modules/unictype/property-iso-control-tests (Files): Likewise.
58892         * modules/unictype/property-join-control-tests (Files): Likewise.
58893         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
58894         * modules/unictype/property-line-separator-tests (Files): Likewise.
58895         * modules/unictype/property-logical-order-exception-tests (Files):
58896         Likewise.
58897         * modules/unictype/property-lowercase-tests (Files): Likewise.
58898         * modules/unictype/property-math-tests (Files): Likewise.
58899         * modules/unictype/property-non-break-tests (Files): Likewise.
58900         * modules/unictype/property-not-a-character-tests (Files): Likewise.
58901         * modules/unictype/property-numeric-tests (Files): Likewise.
58902         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
58903         * modules/unictype/property-other-default-ignorable-code-point-tests
58904         (Files): Likewise.
58905         * modules/unictype/property-other-grapheme-extend-tests (Files):
58906         Likewise.
58907         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
58908         * modules/unictype/property-other-id-start-tests (Files): Likewise.
58909         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
58910         * modules/unictype/property-other-math-tests (Files): Likewise.
58911         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
58912         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
58913         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
58914         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
58915         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
58916         * modules/unictype/property-private-use-tests (Files): Likewise.
58917         * modules/unictype/property-punctuation-tests (Files): Likewise.
58918         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
58919         * modules/unictype/property-radical-tests (Files): Likewise.
58920         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
58921         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
58922         * modules/unictype/property-space-tests (Files): Likewise.
58923         * modules/unictype/property-terminal-punctuation-tests (Files):
58924         Likewise.
58925         * modules/unictype/property-test-tests (Files): Likewise.
58926         * modules/unictype/property-titlecase-tests (Files): Likewise.
58927         * modules/unictype/property-unassigned-code-value-tests (Files):
58928         Likewise.
58929         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
58930         * modules/unictype/property-uppercase-tests (Files): Likewise.
58931         * modules/unictype/property-variation-selector-tests (Files): Likewise.
58932         * modules/unictype/property-white-space-tests (Files): Likewise.
58933         * modules/unictype/property-xid-continue-tests (Files): Likewise.
58934         * modules/unictype/property-xid-start-tests (Files): Likewise.
58935         * modules/unictype/property-zero-width-tests (Files): Likewise.
58936         * modules/unictype/scripts-tests (Files): Likewise.
58937         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
58938         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
58939         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
58940         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
58941         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
58942         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
58943         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
58944         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
58945         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
58946         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
58947         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
58948         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
58949         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
58950         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
58951         * modules/uninorm/composition-tests (Files): Likewise.
58952         * modules/uninorm/decomposing-form-tests (Files): Likewise.
58953         * modules/uninorm/decomposition-tests (Files): Likewise.
58954         * modules/uninorm/filter-tests (Files): Likewise.
58955         * modules/uninorm/nfc-tests (Files): Likewise.
58956         * modules/uninorm/nfd-tests (Files): Likewise.
58957         * modules/uninorm/nfkc-tests (Files): Likewise.
58958         * modules/uninorm/nfkd-tests (Files): Likewise.
58959         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
58960         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
58961         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
58962         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
58963         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
58964         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
58965         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
58966         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
58967         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
58968         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
58969         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
58970         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
58971         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
58972         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
58973         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
58974         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
58975         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
58976         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
58977         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
58978         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
58979         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
58980         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
58981         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
58982         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
58983         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
58984         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
58985         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
58986         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
58987         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
58988         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
58989         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
58990         * modules/uniwidth/u8-width-tests (Files): Likewise.
58991         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
58992         * modules/uniwidth/u16-width-tests (Files): Likewise.
58993         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
58994         * modules/uniwidth/u32-width-tests (Files): Likewise.
58995         * modules/uniwidth/width-tests (Files): Likewise.
58996         * modules/unlink-tests (Files): Likewise.
58997         * modules/unsetenv-tests (Files): Likewise.
58998         * modules/usleep-tests (Files): Likewise.
58999         * modules/utimens-tests (Files): Likewise.
59000         * modules/utimensat-tests (Files): Likewise.
59001         * modules/vasnprintf-posix-tests (Files): Likewise.
59002         * modules/vasnprintf-tests (Files): Likewise.
59003         * modules/vasprintf-posix-tests (Files): Likewise.
59004         * modules/vasprintf-tests (Files): Likewise.
59005         * modules/vdprintf-posix-tests (Files): Likewise.
59006         * modules/vfprintf-posix-tests (Files): Likewise.
59007         * modules/vprintf-posix-tests (Files): Likewise.
59008         * modules/vsnprintf-posix-tests (Files): Likewise.
59009         * modules/vsnprintf-tests (Files): Likewise.
59010         * modules/vsprintf-posix-tests (Files): Likewise.
59011         * modules/wcrtomb-tests (Files): Likewise.
59012         * modules/wcsnrtombs-tests (Files): Likewise.
59013         * modules/wcsrtombs-tests (Files): Likewise.
59014         * modules/wctype-tests (Files): Likewise.
59015         * modules/wcwidth-tests (Files): Likewise.
59016         * modules/xmemdup0-tests (Files): Likewise.
59017         * modules/xprintf-posix-tests (Files): Likewise.
59018         * modules/xvasprintf-tests (Files): Likewise.
59020 2009-12-24  Eric Blake  <ebb9@byu.net>
59022         test-nanosleep: fix typo
59023         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
59024         patch.
59025         Reported by Bruno Haible.
59027 2009-12-24  Bruno Haible  <bruno@clisp.org>
59029         Reduce namespace pollution on glibc systems.
59030         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
59031         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
59032         systems.
59033         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
59034         <getopt.h> on glibc systems.
59035         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
59036         systems.
59037         * lib/fcntl.c: Include <unistd.h> here instead.
59039 2009-12-24  Bruno Haible  <bruno@clisp.org>
59041         * lib/stdlib.in.h (includes): Fix typo in today's commit.
59043 2009-12-24  Eric Blake  <ebb9@byu.net>
59045         tests: add signature checks
59046         * tests/signature.h (SIGNATURE_CHECK): New file.
59047         * modules/atexit-tests (Files): Use it.
59048         * modules/btowc-tests (Files): Likewise.
59049         * modules/canonicalize-lgpl-tests (Files): Likewise.
59050         * modules/ceilf-tests (Files): Likewise.
59051         * modules/ceill-tests (Files): Likewise.
59052         * modules/chown-tests (Files): Likewise.
59053         * modules/dprintf-posix-tests (Files): Likewise.
59054         * modules/dup2-tests (Files): Likewise.
59055         * modules/dup3-tests (Files): Likewise.
59056         * modules/duplocale-tests (Files): Likewise.
59057         * modules/fchdir-tests (Files): Likewise.
59058         * modules/fcntl-tests (Files): Likewise.
59059         * modules/fdopendir-tests (Files): Likewise.
59060         * modules/fflush-tests (Files): Likewise.
59061         * modules/flock-tests (Files): Likewise.
59062         * modules/floorf-tests (Files): Likewise.
59063         * modules/floorl-tests (Files): Likewise.
59064         * modules/fnmatch-tests (Files): Likewise.
59065         * modules/fopen-tests (Files): Likewise.
59066         * modules/fprintf-posix-tests (Files): Likewise.
59067         * modules/freopen-tests (Files): Likewise.
59068         * modules/frexp-nolibm-tests (Files): Likewise.
59069         * modules/frexp-tests (Files): Likewise.
59070         * modules/frexpl-nolibm-tests (Files): Likewise.
59071         * modules/frexpl-tests (Files): Likewise.
59072         * modules/fseek-tests (Files): Likewise.
59073         * modules/fseeko-tests (Files): Likewise.
59074         * modules/fsync-tests (Files): Likewise.
59075         * modules/ftell-tests (Files): Likewise.
59076         * modules/ftello-tests (Files): Likewise.
59077         * modules/futimens-tests (Files): Likewise.
59078         * modules/getaddrinfo-tests (Files): Likewise.
59079         * modules/getcwd-tests (Files): Likewise.
59080         * modules/getdelim-tests (Files): Likewise.
59081         * modules/getdtablesize-tests (Files): Likewise.
59082         * modules/getgroups-tests (Files): Likewise.
59083         * modules/gethostname-tests (Files): Likewise.
59084         * modules/getline-tests (Files): Likewise.
59085         * modules/getopt-posix-tests (Files): Likewise.
59086         * modules/gettimeofday-tests (Files): Likewise.
59087         * modules/glob-tests (Files): Likewise.
59088         * modules/iconv-tests (Files): Likewise.
59089         * modules/inet_ntop-tests (Files): Likewise.
59090         * modules/inet_pton-tests (Files): Likewise.
59091         * modules/isblank-tests (Files): Likewise.
59092         * modules/lchown-tests (Files): Likewise.
59093         * modules/ldexpl-tests (Files): Likewise.
59094         * modules/link-tests (Files): Likewise.
59095         * modules/linkat-tests (Files): Likewise.
59096         * modules/lseek-tests (Files): Likewise.
59097         * modules/lstat-tests (Files): Likewise.
59098         * modules/mbrtowc-tests (Files): Likewise.
59099         * modules/mbsinit-tests (Files): Likewise.
59100         * modules/mbsnrtowcs-tests (Files): Likewise.
59101         * modules/mbsrtowcs-tests (Files): Likewise.
59102         * modules/memchr-tests (Files): Likewise.
59103         * modules/memcmp-tests (Files): Likewise.
59104         * modules/memmem-tests (Files): Likewise.
59105         * modules/memrchr-tests (Files): Likewise.
59106         * modules/mkdir-tests (Files): Likewise.
59107         * modules/mkfifo-tests (Files): Likewise.
59108         * modules/mkfifoat-tests (Files): Likewise.
59109         * modules/mknod-tests (Files): Likewise.
59110         * modules/nanosleep-tests (Files): Likewise.
59111         * modules/nl_langinfo-tests (Files): Likewise.
59112         * modules/obstack-printf-tests (Files): Likewise.
59113         * modules/open-tests (Files): Likewise.
59114         * modules/openat-tests (Files): Likewise.
59115         * modules/perror-tests (Files): Likewise.
59116         * modules/pipe2-tests (Files): Likewise.
59117         * modules/poll-tests (Files): Likewise.
59118         * modules/popen-tests (Files): Likewise.
59119         * modules/posix_spawn-tests (Files): Likewise.
59120         * modules/posix_spawnp-tests (Files): Likewise.
59121         * modules/pread-tests (Files): Likewise.
59122         * modules/printf-posix-tests (Files): Likewise.
59123         * modules/pty-tests (Files): Likewise.
59124         * modules/random_r-tests (Files): Likewise.
59125         * modules/rawmemchr-tests (Files): Likewise.
59126         * modules/readlink-tests (Files): Likewise.
59127         * modules/remove-tests (Files): Likewise.
59128         * modules/rename-tests (Files): Likewise.
59129         * modules/renameat-tests (Files): Likewise.
59130         * modules/rmdir-tests (Files): Likewise.
59131         * modules/round-tests (Files): Likewise.
59132         * modules/roundf-tests (Files): Likewise.
59133         * modules/roundl-tests (Files): Likewise.
59134         * modules/select-tests (Files): Likewise.
59135         * modules/setenv-tests (Files): Likewise.
59136         * modules/sigaction-tests (Files): Likewise.
59137         * modules/sleep-tests (Files): Likewise.
59138         * modules/snprintf-posix-tests (Files): Likewise.
59139         * modules/snprintf-tests (Files): Likewise.
59140         * modules/sprintf-posix-tests (Files): Likewise.
59141         * modules/stat-tests (Files): Likewise.
59142         * modules/strcasestr-tests (Files): Likewise.
59143         * modules/strchrnul-tests (Files): Likewise.
59144         * modules/strerror-tests (Files): Likewise.
59145         * modules/strsignal-tests (Files): Likewise.
59146         * modules/strstr-tests (Files): Likewise.
59147         * modules/strtod-tests (Files): Likewise.
59148         * modules/strverscmp-tests (Files): Likewise.
59149         * modules/symlink-tests (Files): Likewise.
59150         * modules/symlinkat-tests (Files): Likewise.
59151         * modules/times-tests (Files): Likewise.
59152         * modules/trunc-tests (Files): Likewise.
59153         * modules/truncf-tests (Files): Likewise.
59154         * modules/truncl-tests (Files): Likewise.
59155         * modules/tsearch-tests (Files): Likewise.
59156         * modules/uname-tests (Files): Likewise.
59157         * modules/unlink-tests (Files): Likewise.
59158         * modules/unsetenv-tests (Files): Likewise.
59159         * modules/usleep-tests (Files): Likewise.
59160         * modules/utimensat-tests (Files): Likewise.
59161         * modules/vasprintf-tests (Files): Likewise.
59162         * modules/vdprintf-posix-tests (Files): Likewise.
59163         * modules/vfprintf-posix-tests (Files): Likewise.
59164         * modules/vprintf-posix-tests (Files): Likewise.
59165         * modules/vsnprintf-posix-tests (Files): Likewise.
59166         * modules/vsnprintf-tests (Files): Likewise.
59167         * modules/vsprintf-posix-tests (Files): Likewise.
59168         * modules/wcrtomb-tests (Files): Likewise.
59169         * modules/wcsnrtombs-tests (Files): Likewise.
59170         * modules/wcsrtombs-tests (Files): Likewise.
59171         * modules/wcwidth-tests (Files): Likewise.
59172         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
59173         * tests/test-isinf.c (isinf): Likewise.
59174         * tests/test-isnan.c (isnan): Likewise.
59175         * tests/test-signbit.c (signbit): Likewise.
59176         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
59177         declaration, either as macro or with correct signature.
59178         (select): Ensure function under test is declared with correct
59179         signature in correct header.
59180         * tests/test-atexit.c (atexit): Likewise.
59181         * tests/test-btowc.c (btowc): Likewise.
59182         * tests/test-canonicalize-lgpl.c (realpath)
59183         (canonicalize_file_name): Likewise.
59184         * tests/test-ceilf1.c (ceilf): Likewise.
59185         * tests/test-ceill.c (ceill): Likewise.
59186         * tests/test-chown.c (chown): Likewise.
59187         * tests/test-dprintf-posix.c (dprintf): Likewise.
59188         * tests/test-dup2.c (dup2): Likewise.
59189         * tests/test-dup3.c (dup3): Likewise.
59190         * tests/test-duplocale.c (duplocale): Likewise.
59191         * tests/test-fchdir.c (fchdir): Likewise.
59192         * tests/test-fchownat.c (fchownat): Likewise.
59193         * tests/test-fcntl.c (fcntl): Likewise.
59194         * tests/test-fdopendir.c (fdopendir): Likewise.
59195         * tests/test-fflush.c (fflush): Likewise.
59196         * tests/test-flock.c (flock): Likewise.
59197         * tests/test-floorf1.c (floorf): Likewise.
59198         * tests/test-floorl.c (floorl): Likewise.
59199         * tests/test-fnmatch.c (fnmatch): Likewise.
59200         * tests/test-fopen.c (fopen): Likewise.
59201         * tests/test-fprintf-posix.c (fprintf): Likewise.
59202         * tests/test-freopen.c (freopen): Likewise.
59203         * tests/test-frexp.c (frexp): Likewise.
59204         * tests/test-frexpl.c (frexpl): Likewise.
59205         * tests/test-fseek.c (fseek): Likewise.
59206         * tests/test-fseeko.c (fseeko): Likewise.
59207         * tests/test-fstatat.c (fstatat): Likewise.
59208         * tests/test-fsync.c (fsync): Likewise.
59209         * tests/test-ftell.c (ftell): Likewise.
59210         * tests/test-ftello.c (ftello): Likewise.
59211         * tests/test-futimens.c (futimens): Likewise.
59212         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
59213         (gai_strerror): Likewise.
59214         * tests/test-getcwd.c (getcwd): Likewise.
59215         * tests/test-getdelim.c (getdelim): Likewise.
59216         * tests/test-getdtablesize.c (getdtablesize): Likewise.
59217         * tests/test-getgroups.c (getgroups): Likewise.
59218         * tests/test-gethostname.c (gethostname): Likewise.
59219         * tests/test-getline.c (getline): Likewise.
59220         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
59221         Likewise.
59222         * tests/test-gettimeofday.c (gettimeofday): Likewise.
59223         * tests/test-glob.c (glob, globfree): Likewise.
59224         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
59225         * tests/test-inet_ntop.c (inet_ntop): Likewise.
59226         * tests/test-inet_pton.c (inet_pton): Likewise.
59227         * tests/test-isblank.c (isblank): Likewise.
59228         * tests/test-lchown.c (lchown): Likewise.
59229         * tests/test-ldexpl.c (ldexpl): Likewise.
59230         * tests/test-link.c (link): Likewise.
59231         * tests/test-linkat.c (linkat): Likewise.
59232         * tests/test-lseek.c (lseek): Likewise.
59233         * tests/test-lstat.c (lstat): Likewise.
59234         * tests/test-mbrtowc.c (mbrtowc): Likewise.
59235         * tests/test-mbsinit.c (mbsinit): Likewise.
59236         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
59237         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
59238         * tests/test-memchr.c (memchr): Likewise.
59239         * tests/test-memcmp.c (memcmp): Likewise.
59240         * tests/test-memmem.c (memmem): Likewise.
59241         * tests/test-memrchr.c (memrchr): Likewise.
59242         * tests/test-mkdir.c (mkdir): Likewise.
59243         * tests/test-mkdirat.c (mkdirat): Likewise.
59244         * tests/test-mkfifo.c (mkfifo): Likewise.
59245         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
59246         * tests/test-mknod.c (mknod): Likewise.
59247         * tests/test-nanosleep.c (nanosleep): Likewise.
59248         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
59249         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
59250         Likewise.
59251         * tests/test-open.c (open): Likewise.
59252         * tests/test-openat.c (openat): Likewise.
59253         * tests/test-perror.c (perror): Likewise.
59254         * tests/test-pipe2.c (pipe2): Likewise.
59255         * tests/test-poll.c (poll): Likewise.
59256         * tests/test-popen.c (popen, pclose): Likewise.
59257         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
59258         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
59259         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
59260         (posix_spawn_file_actions_destroy)
59261         (posix_spawn_file_actions_addclose)
59262         (posix_spawn_file_actions_addopen)
59263         (posix_spawn_file_actions_adddup2): Likewise.
59264         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
59265         * tests/test-pread.c (pread): Likewise.
59266         * tests/test-printf-posix.c (printf): Likewise.
59267         * tests/test-pty.c (openpty, forkpty): Likewise.
59268         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
59269         (random_r): Likewise.
59270         * tests/test-rawmemchr.c (rawmemchr): Likewise.
59271         * tests/test-readlink.c (readlink): Likewise.
59272         * tests/test-remove.c (remove): Likewise.
59273         * tests/test-rename.c (rename): Likewise.
59274         * tests/test-renameat.c (renameat): Likewise.
59275         * tests/test-rmdir.c (rmdir): Likewise.
59276         * tests/test-round1.c (round): Likewise.
59277         * tests/test-roundf1.c (roundf): Likewise.
59278         * tests/test-roundl.c (roundl): Likewise.
59279         * tests/test-setenv.c (setenv): Likewise.
59280         * tests/test-sigaction.c (sigaction): Likewise.
59281         * tests/test-sleep.c (sleep): Likewise.
59282         * tests/test-snprintf.c (snprintf): Likewise.
59283         * tests/test-sprintf-posix.c (sprintf): Likewise.
59284         * tests/test-stat.c (stat): Likewise.
59285         * tests/test-stpncpy.c (stpncpy): Likewise.
59286         * tests/test-strcasestr.c (strcasestr): Likewise.
59287         * tests/test-strchrnul.c (strchrnul): Likewise.
59288         * tests/test-strerror.c (strerror): Likewise.
59289         * tests/test-strsignal.c (strsignal): Likewise.
59290         * tests/test-strstr.c (strstr): Likewise.
59291         * tests/test-strtod.c (strtod): Likewise.
59292         * tests/test-strverscmp.c (strverscmp): Likewise.
59293         * tests/test-symlink.c (symlink): Likewise.
59294         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
59295         * tests/test-times.c (times): Likewise.
59296         * tests/test-trunc1.c (trunc): Likewise.
59297         * tests/test-truncf1.c (truncf): Likewise.
59298         * tests/test-truncl.c (truncl): Likewise.
59299         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
59300         Likewise.
59301         * tests/test-uname.c (uname): Likewise.
59302         * tests/test-unlink.c (unlink): Likewise.
59303         * tests/test-unlinkat.c (unlinkat): Likewise.
59304         * tests/test-unsetenv.c (unsetenv): Likewise.
59305         * tests/test-usleep.c (usleep): Likewise.
59306         * tests/test-utimensat.c (utimensat): Likewise.
59307         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
59308         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
59309         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
59310         * tests/test-vprintf-posix.c (vprintf): Likewise.
59311         * tests/test-vsnprintf.c (vsnprintf): Likewise.
59312         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
59313         * tests/test-wcrtomb.c (wcrtomb): Likewise.
59314         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
59315         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
59316         * tests/test-wcwidth.c (wcwidth): Likewise.
59318         build: pull in conditional headers during GNULIB_POSIXCHECK
59319         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
59320         definitions from any conditionally-included headers.
59321         * lib/stdlib.in.h (includes): Likewise.
59322         * lib/unistd.in.h (includes): Likewise.
59324 2009-12-24  Bruno Haible  <bruno@clisp.org>
59326         * tests/test-argv-iter.c: Include header file being tested immediately
59327         after config.h.
59328         * tests/test-base64.c: Likewise.
59329         * tests/test-flock.c: Likewise.
59330         * tests/test-fsync.c: Likewise.
59331         * tests/test-getdate.c: Likewise.
59332         * tests/test-getndelim2.c: Likewise.
59333         * tests/test-isfinite.c: Likewise.
59334         * tests/test-isinf.c: Likewise.
59335         * tests/test-strerror.c: Likewise.
59336         * tests/test-strsignal.c: Likewise.
59338 2009-12-23  Eric Blake  <ebb9@byu.net>
59340         unistd: work around cygwin bug
59341         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
59342         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
59343         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
59345 2009-12-23  Bruno Haible  <bruno@clisp.org>
59347         localename: More tests.
59348         * tests/test-localename.c (SIZEOF): New macro.
59349         (categories): New variable.
59350         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
59351         test_locale_name_default): Add test w.r.t. thread locale.
59352         (test_locale_name_thread): New function.
59353         (main): Invoke it.
59355         localename: Make aware of thread locale.
59356         * lib/localename.h (gl_locale_name_thread): New declaration.
59357         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
59358         behaviour with respect to thread locale.
59359         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
59360         <langinfo.h>, glthread/lock.h.
59361         (SIZE_BITS): New macro.
59362         (string_hash): New function.
59363         (struct hash_node): New type.
59364         (HASH_TABLE_SIZE): New macro.
59365         (struniq_hash_table, struniq_lock): New variables.
59366         (struniq): New function.
59367         (gl_locale_name_thread): New function.
59368         (gl_locale_name): Invoke it.
59369         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
59370         * modules/localename (Depends-on): Add lock.
59371         Reported by Mike Gran <spk121@yahoo.com>.
59373 2009-12-23  Eric Blake  <ebb9@byu.net>
59375         va-args: new module
59376         * modules/va-args: New file.
59377         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
59378         * MODULES.html.sh (Core language properties): Mention it.
59380         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
59381         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
59382         named alias for __attribute__((__unused__)).
59383         * lib/chown.c: Update client.
59384         * lib/fchmodat.c: Likewise.
59385         * lib/fts.c: Likewise.
59386         * lib/getdate.y: Likewise.
59387         * lib/getgroups.c: Likewise.
59388         * lib/getopt.c: Likewise.
59389         * lib/getugroups.c: Likewise.
59390         * lib/mkdir.c: Likewise.
59391         * lib/mkfifo.c: Likewise.
59392         * lib/mkfifoat.c: Likewise.
59393         * lib/mknod.c: Likewise.
59394         * lib/mknodat.c: Likewise.
59395         * lib/readlink.c: Likewise.
59396         * lib/se-context.in.h: Likewise.
59397         * lib/se-selinux.in.h: Likewise.
59398         * lib/sockets.c: Likewise.
59399         * lib/symlink.c: Likewise.
59400         * lib/symlinkat.c: Likewise.
59401         * lib/unicodeio.c: Likewise.
59402         * lib/unistr.h: Likewise.
59403         * tests/test-areadlink.c: Likewise.
59404         * tests/test-areadlinkat.c: Likewise.
59405         * tests/test-filenamecat.c: Likewise.
59406         * tests/test-fseeko.c: Likewise.
59407         * tests/test-ftello.c: Likewise.
59408         * tests/test-getdate.c: Likewise.
59409         * tests/test-getgroups.c: Likewise.
59410         * tests/test-gethostname.c: Likewise.
59411         * tests/test-quotearg.c: Likewise.
59412         * tests/test-version-etc.c: Likewise.
59413         * tests/test-xalloc-die.c: Likewise.
59414         * tests/test-xfprintf-posix.c: Likewise.
59415         * tests/test-xprintf-posix.c: Likewise.
59416         * tests/test-xvasprintf.c: Likewise.
59418         tests: avoid compiler warnings
59419         * tests/test-fcntl.c (main): Delete unused parameters.
59420         * tests/test-freopen-safer.c (main): Likewise.
59421         * tests/test-xalloc-die.c (main): Mark unused parameters.
59422         * tests/test-fseeko.c (main): Likewise.
59423         * tests/test-ftello.c (main): Likewise.
59424         * tests/test-nanosleep.c (main): Avoid declaration warning.
59425         * tests/test-sleep.c (main): Likewise.
59426         * tests/test-unsetenv.c (main): Silence warning about string
59427         literal.
59428         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
59430 2009-12-23  Bruno Haible  <bruno@clisp.org>
59432         * tests/test-localename.c (test_locale_name): New function, extracted
59433         from main. Also test mixed situations.
59434         (test_locale_name_posix, test_locale_name_environ,
59435         test_locale_name_default): New functions.
59436         (main): Invoke them all.
59437         * modules/localename-tests (configure.ac): Test for newlocale.
59439 2009-12-23  Bruno Haible  <bruno@clisp.org>
59441         unistd: Ensure getcwd gets declared before being overridden.
59442         * lib/unistd.in.h: Conditionally include <io.h>.
59444 2009-12-22  Bruno Haible  <bruno@clisp.org>
59446         wchar: Diagnose broken combination of glibc and gcc versions and flags.
59447         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
59448         (gl_WCHAR_H): Invoke it.
59449         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
59450         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
59451         Reported by Karl Berry <karl@freefriends.org>.
59453 2009-12-22  Eric Blake  <ebb9@byu.net>
59455         math, unistd: avoid redundant includes
59456         * lib/math.in.h (isnan): No need to re-include <math.h>.
59457         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
59459         getsubopt: work around cygwin bug
59460         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
59461         avoid conflicting with system getsubopt.
59462         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
59463         bug.
59465         getopt: synchronize from glibc
59466         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
59467         parameter order.  Adjust all callers.
59468         (_getopt_internal_r, main): Adjust quoting in error messages.
59469         Drop considerations for outdated POSIX 1003.2 error message.
59470         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
59471         callers.
59472         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
59474         test-getopt: test stderr behavior
59475         * modules/getopt-posix-tests (Depends-on): Add dup2.
59476         * tests/test-getopt.c (ASSERT): Avoid stderr.
59477         (main): Move stderr to a temporary file.
59478         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
59479         Instead, add parameter to inform caller if output occurred.
59480         (test_getopt): Adjust all existing tests to expect silence, and
59481         add new tests of leading ":".
59482         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59483         glibc shortcomings with leading "-:" or "+:" in optstring.
59484         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59485         Likewise.
59486         * doc/posix-functions/getopt.texi (getopt): Likewise.
59488         test-getopt: enhance test
59489         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
59490         supports optind=0.
59491         * tests/test-getopt.c (OPTIND_MIN): Move...
59492         * tests/test-getopt.h (OPTIND_MIN): ...here.
59493         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
59494         Require that optind=0 works, since modern BSD supports it in
59495         addition to optreset, and since coreutils expects it.
59496         (test_getopt_long_only): New test.
59497         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
59498         glibc shortcomings with 'W;', and enforcement of optind=0.
59499         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
59500         Likewise.
59502 2009-12-21  Bruno Haible  <bruno@clisp.org>
59504         localename: Improvements for MacOS X and Cygwin.
59505         * lib/localename.h (gl_locale_name_environ): New declaration.
59506         * lib/localename.c (gl_locale_name_environ): New function, extracted from
59507         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
59508         (gl_locale_name_posix): Invoke it.
59509         (gl_locale_name_default): Add comments. Use Windows native API also on
59510         Cygwin.
59512 2009-12-21  Bruno Haible  <bruno@clisp.org>
59514         Update list of Win32 locale ids.
59515         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
59516         (LANG_SAMI): Renamed from LANG_SAAMI.
59517         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
59518         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
59519         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
59520         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
59521         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
59522         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
59523         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
59524         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
59525         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
59526         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
59527         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
59528         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
59529         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
59530         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
59531         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
59532         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
59533         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
59534         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
59535         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
59536         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
59537         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
59538         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
59539         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
59540         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
59541         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
59542         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
59543         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
59544         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
59545         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
59546         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
59547         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
59548         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
59549         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
59550         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
59551         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
59552         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
59553         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
59554         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
59555         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
59556         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
59557         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
59558         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
59559         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
59560         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
59561         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
59562         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
59563         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
59564         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
59565         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
59566         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
59567         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
59568         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
59569         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
59570         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
59571         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
59572         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
59573         Add more languages and countries for Sami, Sorbian. Add more countries
59574         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
59575         for Pashto. Change country for Syriac, Tswana.
59577 2009-12-21  Eric Blake  <ebb9@byu.net>
59579         test-utimens: avoid spurious failure
59580         * tests/test-chown.h (nap): Factor...
59581         * tests/nap.h: ...into new file.
59582         * tests/test-lchown.h (nap): Avoid duplication.
59583         * tests/test-utimens-common.h (nap): Use shared implementation,
59584         necessary on file systems with 1-second resolution.
59585         * modules/chown-tests (Files): Include new file.
59586         * modules/fdutimensat-tests (Files): Likewise.
59587         * modules/futimens-tests (Files): Likewise.
59588         * modules/lchown-tests (Files): Likewise.
59589         * modules/openat-tests (Files): Likewise.
59590         * modules/utimens-tests (Files): Likewise.
59591         * modules/utimensat-tests (Files): Likewise.
59593 2009-12-19  Eric Blake  <ebb9@byu.net>
59595         futimens, utimensat: work around Linux bug
59596         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
59597         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
59598         * lib/utimensat.c (rpl_utimensat): Work around it.
59599         * lib/futimens.c (rpl_futimens): Adjust comment.
59601         utimens: work around Linux ctime bug
59602         * lib/utimens.c (detect_ctime_bug): New helper function.
59603         (update_timespec): Differentiate between workaround needed for
59604         this bug vs. what is needed for systems that lack utimensat.
59605         (fdutimens, lutimens): Work around bug.
59607         utimens: check for ctime update
59608         * tests/test-utimens-common.h (check_ctime): Define.
59609         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
59610         * tests/test-futimens.h (test_futimens): Likewise.
59611         * tests/test-lutimens.h (test_lutimens): Likewise.
59612         * doc/posix-functions/futimens.texi (futimens): Document the bug.
59613         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
59615 2009-12-19  Bruno Haible  <bruno@clisp.org>
59617         dprintf-posix: Check against memory leak fixed on 2009-12-15.
59618         * tests/test-dprintf-posix2.sh: New file.
59619         * tests/test-dprintf-posix2.c: New file.
59620         * modules/dprintf-posix-tests (Files): Add them.
59621         (configure.ac): Check for getrlimit and setrlimit.
59622         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59624 2009-12-19  Bruno Haible  <bruno@clisp.org>
59626         fprintf-posix: Check against memory leak fixed on 2009-12-15.
59627         * tests/test-fprintf-posix3.sh: New file.
59628         * tests/test-fprintf-posix3.c: New file.
59629         * modules/fprintf-posix-tests (Files): Add them.
59630         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
59632 2009-12-19  Eric Blake  <ebb9@byu.net>
59634         dirfd: fix prototype
59635         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
59636         * lib/dirfd.c (dirfd): Likewise.
59638         canonicalize: reduce memory usage
59639         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
59640         allocation to size.
59641         Reported by Solar Designer <solar@openwall.com>.
59643 2009-12-19  Bruno Haible  <bruno@clisp.org>
59645         New module attribute 'Applicability'.
59646         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
59647         * gnulib-tool: New option --extract-applicability.
59648         (func_usage): Document it.
59649         (sed_extract_prog): Recognize it.
59650         (func_get_applicability): New function.
59651         (func_import): Generalize handling of 'link-warning' module.
59652         * modules/link-warning (Applicability): New section.
59653         * modules/arg-nonnull (Applicability): New section.
59654         Repoted by Simon Josefsson <simon@josefsson.org>.
59656 2009-12-19  Bruno Haible  <bruno@clisp.org>
59658         fflush: tweak
59659         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
59660         * lib/fseeko.c (rpl_fseeko): Likewise.
59662 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
59664         * lib/gl_list.h: Fix typo in comment.
59666 2009-12-16  Eric Blake  <ebb9@byu.net>
59668         fcntl: use to simplify other modules
59669         * modules/cloexec (Depends-on): Add fcntl.
59670         * modules/fchdir (Depends-on): Likewise.
59671         * modules/fd-safer-flag (Depends-on): Likewise.
59672         * modules/unistd-safer (Depends-on): Likewise.
59673         * modules/dup3 (configure.ac): Set module indicator.
59674         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
59675         missing.
59676         * lib/fchdir.c (_gl_register_dup): Fix comment.
59677         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
59678         * lib/dup-safer.c (dup_safer): Likewise.
59679         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
59680         * lib/dup3.c (dup3): Likewise.
59681         * tests/test-fchdir.c (main): Enhance test.
59682         Fixes a dup_cloexec bug reported by Ondřej Vašík.
59684         fcntl: port portions of fcntl to mingw
59685         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
59686         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
59687         replacement for mingw.
59688         * modules/fcntl (Description): Update.
59689         (Depends-on): Add dup2.
59690         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
59691         * modules/fcntl-h (Makefile.am): Substitute it.
59692         * lib/fcntl.in.h (fcntl): Update declaration.
59693         (F_DUPFD, F_GETFD): New macros, when needed.
59694         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
59695         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
59696         * tests/test-fcntl.c (check_flags, main): Enhance test for items
59697         we now guarantee.
59699         fcntl: work around cygwin bug in F_DUPFD
59700         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
59701         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
59702         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
59703         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
59704         * doc/posix-functions/fcntl.texi (fcntl): Document it.
59706         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
59707         * modules/fcntl (Files): List new files.
59708         (configure.ac): Run a test.
59709         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
59710         * lib/fcntl.c (rpl_fcntl): Likewise.
59711         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
59712         (gl_FCNTL_H): Always replace fcntl.h.
59713         * modules/fcntl-h (Makefile.am): Substitute witnesses.
59714         * lib/fcntl.in.h (fcntl): Declare replacement.
59715         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
59716         needed, plus a witness.
59717         * doc/posix-functions/fcntl.texi (fcntl): Document this.
59718         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
59719         * tests/test-fcntl.c: New file.
59720         * modules/fcntl-tests: Likewise.
59722         binary-io: avoid potential compilation warning
59723         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
59724         directives.
59726         fflush: avoid compilation error on NetBSD
59727         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
59728         between off_t and fpos_t, since the latter is sometimes a struct.
59729         * lib/fseeko.c (rpl_fseeko): Likewise.
59730         Reported by Alexander Nasonov <alnsn@yandex.ru>.
59732 2009-12-15  Eric Blake  <ebb9@byu.net>
59734         fcntl-h, stdio, sys_ioctl: fix declarations
59735         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
59736         function must not take arguments.
59737         * lib/sys_ioctl.in.h (ioctl): Likewise.
59738         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
59739         (open): Add a link warning.
59741 2009-12-15  Jim Meyering  <meyering@redhat.com>
59743         areadlink, areadlink-with-size: relax license to LGPLv2+
59744         * modules/areadlink (License): Relax to LGPLv2+.
59745         * modules/areadlink-with-size (License): Likewise.
59747 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
59748             Bruno Haible  <bruno@clisp.org>
59750         *printf: Fix memory leak.
59751         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
59752         * lib/vfprintf.c (vfprintf): Likewise.
59753         * lib/dprintf.c (dprintf): Likewise.
59754         * lib/vdprintf.c (vdprintf): Likewise.
59756 2009-12-14  Eric Blake  <ebb9@byu.net>
59758         accept4: adjust module dependencies
59759         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
59761         utimens: one more try at avoiding compiler warning
59762         * lib/utimens.c (lutimens): Lower scope of result.
59764 2009-12-13  Bruno Haible  <bruno@clisp.org>
59766         Move the malloc checking from module 'list' to new module 'xlist'.
59767         * modules/xlist: New file.
59768         * lib/gl_xlist.h: New file.
59769         * lib/gl_xlist.c: New file.
59770         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
59771         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
59772         gl_list_add_last, gl_list_add_before, gl_list_add_after,
59773         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
59774         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
59775         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
59776         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
59777         gl_sortedlist_nx_add): New declarations.
59778         (struct gl_list_implementation): Rename and change methods accordingly.
59779         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
59780         (gl_list_nx_create): Renamed from gl_list_create.
59781         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59782         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59783         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59784         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59785         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59786         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59787         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59788         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59789         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
59790         gl_list_create_empty.
59791         (gl_list_nx_create): Renamed from gl_list_create.
59792         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
59793         (gl_list_nx_set_at): Renamed from gl_list_set_at.
59794         (gl_list_nx_add_first): Renamed from gl_list_add_first.
59795         (gl_list_nx_add_last): Renamed from gl_list_add_last.
59796         (gl_list_nx_add_before): Renamed from gl_list_add_before.
59797         (gl_list_nx_add_after): Renamed from gl_list_add_after.
59798         (gl_list_nx_add_at): Renamed from gl_list_add_at.
59799         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
59800         * lib/gl_array_list.c: Don't include xalloc.h.
59801         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
59802         NULL upon out-of-memory.
59803         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
59804         out-of-memory.
59805         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
59806         Change return type to 'int'.
59807         (gl_array_nx_set_at): Renamed from gl_array_set_at.
59808         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59809         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
59810         upon out-of-memory.
59811         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
59812         upon out-of-memory.
59813         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
59814         upon out-of-memory.
59815         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
59816         upon out-of-memory.
59817         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
59818         out-of-memory.
59819         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
59820         Update.
59821         (gl_array_list_implementation): Update.
59822         * lib/gl_carray_list.c: Don't include xalloc.h.
59823         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
59824         Return NULL upon out-of-memory.
59825         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
59826         out-of-memory.
59827         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
59828         Change return type to 'int'.
59829         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
59830         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
59831         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
59832         upon out-of-memory.
59833         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
59834         upon out-of-memory.
59835         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
59836         out-of-memory.
59837         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
59838         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
59839         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
59840         Update.
59841         (gl_carray_list_implementation): Update.
59842         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
59843         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
59844         gl_linked_create_empty. Return NULL upon out-of-memory.
59845         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
59846         out-of-memory.
59847         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
59848         Change return type to 'int'. Return -1 upon out-of-memory.
59849         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
59850         out-of-memory.
59851         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
59852         upon out-of-memory.
59853         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
59854         upon out-of-memory.
59855         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
59856         NULL upon out-of-memory.
59857         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
59858         upon out-of-memory.
59859         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
59860         out-of-memory.
59861         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
59862         Update.
59863         * lib/gl_linked_list.c: Don't include xalloc.h.
59864         (gl_linked_list_implementation): Update.
59865         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
59866         (add_to_bucket): Change return type to 'int'.
59867         (gl_linkedhash_list_implementation): Update.
59868         * lib/gl_anytree_list1.h (free_subtree): New function.
59869         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
59870         gl_tree_create_empty. Return NULL upon out-of-memory.
59871         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
59872         Change return type to 'int'. Return -1 upon out-of-memory.
59873         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
59874         out-of-memory.
59875         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
59876         (gl_tree_remove_node): New function, moved here from
59877         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
59878         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
59879         Update.
59880         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
59881         malloc, not xmalloc. Return NULL upon out-of-memory.
59882         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59883         out-of-memory.
59884         (gl_tree_remove_node_from_tree): New function, extracted from
59885         gl_tree_remove_node.
59886         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59887         upon out-of-memory.
59888         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59889         out-of-memory.
59890         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59891         upon out-of-memory.
59892         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59893         upon out-of-memory.
59894         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59895         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
59896         not xmalloc. Return NULL upon out-of-memory.
59897         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
59898         out-of-memory.
59899         (gl_tree_remove_node_from_tree): New function, extracted from
59900         gl_tree_remove_node.
59901         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
59902         upon out-of-memory.
59903         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
59904         out-of-memory.
59905         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
59906         upon out-of-memory.
59907         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
59908         upon out-of-memory.
59909         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
59910         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
59911         gl_anytree_list1.h before gl_anyavltree_list2.h.
59912         (gl_avltree_list_implementation): Update.
59913         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
59914         gl_anytree_list1.h before gl_anyavltree_list2.h.
59915         (gl_rbtree_list_implementation): Update.
59916         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
59917         Change return type to 'int'. Return -1 upon out-of-memory. Use
59918         __builtin_expect.
59919         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
59920         (gl_avltreehash_list_implementation): Update.
59921         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
59922         (gl_rbtreehash_list_implementation): Update.
59923         * modules/array-list (Depends-on): Remove xalloc.
59924         * modules/carray-list (Depends-on): Likewise.
59925         * modules/linked-list (Depends-on): Likewise.
59926         * modules/linkedhash-list (Depends-on): Likewise.
59927         * modules/avltree-list (Depends-on): Likewise.
59928         * modules/rbtree-list (Depends-on): Likewise.
59929         * modules/avltreehash-list (Depends-on): Likewise.
59930         * modules/rbtreehash-list (Depends-on): Likewise.
59932         * modules/xsublist: New file.
59933         * lib/gl_xsublist.h: New file.
59934         * lib/gl_xsublist.c: New file.
59935         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
59936         (gl_sublist_nx_create): New declaration.
59937         * lib/gl_sublist.c: Don't include xalloc.h.
59938         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
59939         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
59940         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
59941         Change return type to 'int'. Return -1 upon out-of-memory.
59942         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
59943         upon out-of-memory.
59944         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
59945         NULL upon out-of-memory.
59946         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
59947         upon out-of-memory.
59948         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
59949         NULL upon out-of-memory.
59950         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
59951         NULL upon out-of-memory.
59952         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
59953         upon out-of-memory.
59954         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
59955         (gl_sublist_list_implementation): Update.
59956         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
59957         upon out-of-memory.
59958         * modules/sublist (Depends-on): Remove xalloc.
59960         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
59961         * tests/test-carray_list.c: Likewise.
59962         * tests/test-linked_list.c: Likewise.
59963         * tests/test-linkedhash_list.c: Likewise.
59964         * tests/test-avltree_list.c: Likewise.
59965         * tests/test-rbtree_list.c: Likewise.
59966         * tests/test-avltreehash_list.c: Likewise.
59967         * tests/test-rbtreehash_list.c: Likewise.
59968         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
59969         * modules/carray-list-tests (Makefile.am): Likewise.
59970         * modules/linked-list-tests (Makefile.am): Likewise.
59971         * modules/linkedhash-list-tests (Makefile.am): Likewise.
59972         * modules/avltree-list-tests (Makefile.am): Likewise.
59973         * modules/rbtree-list-tests (Makefile.am): Likewise.
59974         * modules/avltreehash-list-tests (Makefile.am): Likewise.
59975         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
59977         * NEWS: Mention the changes.
59979         * lib/clean-temp.c: Include gl_xlist.h.
59980         * modules/clean-temp (Depends-on): Add xlist.
59982         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
59983         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
59985         * tests/test-array_oset.c: Include gl_xlist.h.
59986         * modules/array-oset-tests (Depends-on): Add xlist.
59988         Reported by José E. Marchesi <jemarch@gnu.org>.
59990 2009-12-13  Bruno Haible  <bruno@clisp.org>
59992         Move the malloc checking from module 'oset' to new module 'xoset'.
59993         * modules/xoset: New file.
59994         * lib/gl_xoset.h: New file.
59995         * lib/gl_xoset.c: New file.
59996         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
59997         declarations.
59998         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
59999         (struct gl_oset_implementation): Rename and change methods accordingly.
60000         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
60001         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
60002         'int'. Mark as __warn_unused_result__.
60003         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
60004         gl_oset_create_empty.
60005         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
60006         'int'.
60007         * lib/gl_array_oset.c: Don't include xalloc.h.
60008         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
60009         malloc, not xmalloc.
60010         (grow): Change return type to 'int'. Don't call xalloc_die.
60011         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
60012         to 'int'.
60013         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
60014         'int'.
60015         (gl_array_oset_implementation): Update.
60016         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
60017         gl_tree_create_empty.
60018         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
60019         'int'.
60020         * lib/gl_avltree_oset.c: Don't include xalloc.h.
60021         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60022         xmalloc.
60023         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60024         not xmalloc.
60025         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60026         xmalloc.
60027         (gl_avltree_oset_implementation): Update.
60028         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
60029         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
60030         xmalloc.
60031         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
60032         not xmalloc.
60033         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
60034         xmalloc.
60035         (gl_rbtree_oset_implementation): Update.
60036         * modules/array-oset (Depends-on): Remove xalloc.
60037         * modules/avltree-oset (Depends-on): Likewise.
60038         * modules/rbtree-oset (Depends-on): Likewise.
60039         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
60040         * tests/test-avltree_oset.c: Likewise.
60041         * tests/test-rbtree_oset.c: Likewise.
60042         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
60043         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
60044         * modules/rbtree-oset-tests (Makefile.am): Likewise.
60045         * NEWS: Mention the change.
60047 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
60049         maint.mk: allow a project to override release-prep commands
60050         * top/maint.mk (alpha, beta, stable): Move release-preparatory
60051         commands into a new rule.
60052         (release-prep): New rule.
60053         (release-prep-hook): New overridable variable.
60055 2009-12-13  Bruno Haible  <bruno@clisp.org>
60057         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
60059 2009-12-13  Jim Meyering  <meyering@redhat.com>
60061         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
60062         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
60064 2009-12-12  Bruno Haible  <bruno@clisp.org>
60066         duplocale: Tweak.
60067         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
60069 2009-12-12  Karl Berry  <karl@gnu.org>
60071         * config/srclist.txt (strtoll.c): tab changes, no more sync.
60073 2009-12-12  Bruno Haible  <bruno@clisp.org>
60075         * m4/po.m4: Undo incorrect untabification.
60077 2009-12-12  Bruno Haible  <bruno@clisp.org>
60079         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
60080         * modules/c-strtod (Depends-on): Add locale.
60081         * modules/c-strtold (Depends-on): Likewise.
60083 2009-12-12  Bruno Haible  <bruno@clisp.org>
60085         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
60087 2009-12-11  Eric Blake  <ebb9@byu.net>
60089         setenv: relax requirement in light of POSIX ruling
60090         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
60091         not NULL.
60092         * tests/test-setenv.c (main): Relax test.
60093         * tests/test-unsetenv.c (main): Likewise.
60094         * doc/posix-functions/setenv.texi (setenv): Document this.
60095         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
60097 2009-12-11  Bruno Haible  <bruno@clisp.org>
60099         New module 'fd-safer-flag'.
60100         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
60101         * lib/dup-safer.c (dup_safer_flag): Remove function.
60102         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
60103         * lib/fd-safer.c (fd_safer_flag): Remove function.
60104         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
60105         * modules/cloexec (configure.ac): Drop indicator macro.
60106         * modules/fd-safer-flag: New file.
60107         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
60108         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
60109         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
60111 2009-12-11  Bruno Haible  <bruno@clisp.org>
60113         Tests for module 'nl_langinfo'.
60114         * modules/nl_langinfo-tests: New file.
60115         * tests/test-nl_langinfo.sh: New file.
60116         * tests/test-nl_langinfo.c: New file.
60118         New module 'nl_langinfo'.
60119         * lib/nl_langinfo.c: New file.
60120         * m4/nl_langinfo.m4: New file.
60121         * modules/nl_langinfo: New file.
60122         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
60124 2009-12-11  Bruno Haible  <bruno@clisp.org>
60126         Tests for module 'langinfo'.
60127         * modules/langinfo-tests: New file.
60128         * tests/test-langinfo.c: New file.
60130         New module 'langinfo'.
60131         * lib/langinfo.in.h: New file.
60132         * m4/langinfo_h.m4: New file.
60133         * modules/langinfo: New file.
60134         * doc/posix-headers/langinfo.texi: Mention the new module.
60136 2009-12-11  Bruno Haible  <bruno@clisp.org>
60138         * lib/config.charset: Untabify.
60140 2009-12-11  Bruno Haible  <bruno@clisp.org>
60142         * modules/unistd-safer (configure.ac): Drop indicator macro.
60144 2009-12-11  Bruno Haible  <bruno@clisp.org>
60146         Move pipe2-safer code to its own file.
60147         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
60148         * lib/pipe-safer.c (pipe2_safer): Remove function.
60149         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
60150         (Makefile.am): Add it to lib_SOURCES.
60152 2009-12-10  Bruno Haible  <bruno@clisp.org>
60154         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
60156 2009-12-10  Bruno Haible  <bruno@clisp.org>
60158         Declare which arguments expect non-NULL values, for GCC and clang.
60159         * build-aux/arg-nonnull.h: New file.
60160         * modules/arg-nonnull: New file.
60161         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
60162         (inet_ntop, inet_pton): Use it.
60163         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
60164         (closedir, dirfd, opendir, scandir, alphasort): Use it.
60165         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
60166         (open, openat): Use it.
60167         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
60168         (fnmatch): Use it.
60169         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
60170         (getopt, getopt_long, getopt_long_only): Use it.
60171         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
60172         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
60173         Use it.
60174         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
60175         (iconv_open): Use it.
60176         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
60177         (strtoimax, strtoumax): Use it.
60178         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
60179         (duplocale): Use it.
60180         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
60181         (frexp, frexpl): Use it.
60182         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
60183         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
60184         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
60185         (tsearch, tfind, tdelete, twalk): Use it.
60186         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
60187         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
60188         sigpending): Use it.
60189         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
60190         (posix_spawn, posix_spawnp, posix_spawnattr_init,
60191         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
60192         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
60193         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
60194         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
60195         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
60196         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
60197         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
60198         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
60199         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
60200         Use it.
60201         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
60202         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
60203         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
60204         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
60205         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
60206         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
60207         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
60208         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
60209         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
60210         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
60211         strtoull, unsetenv): Use it.
60212         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
60213         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
60214         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
60215         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
60216         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
60217         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
60218         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
60219         (strcasecmp, strncasecmp): Use it.
60220         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
60221         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
60222         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
60223         rpl_setsockopt): Use it.
60224         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
60225         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
60226         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
60227         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
60228         (gettimeofday): Use it.
60229         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
60230         (times): Use it.
60231         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
60232         (uname): Use it.
60233         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
60234         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
60235         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
60236         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
60237         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
60238         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
60239         unlinkat, write): Use it.
60240         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
60241         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
60242         * lib/argv-iter.h: Include arg-nonnull.h.
60243         (_ATTRIBUTE_NONNULL_): Remove macro.
60244         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
60245         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
60246         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
60247         optimization.
60248         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
60249         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
60250         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
60251         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
60252         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
60253         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
60254         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
60255         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
60256         * modules/arpa_inet (Depends-on): Add arg-nonnull.
60257         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
60258         * modules/dirent (Depends-on): Add arg-nonnull.
60259         (Makefile.am): Insert arg-nonnull.h into dirent.h.
60260         * modules/fcntl-h (Depends-on): Add arg-nonnull.
60261         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
60262         * modules/fnmatch (Depends-on): Add arg-nonnull.
60263         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
60264         * modules/getopt-posix (Depends-on): Add arg-nonnull.
60265         (Makefile.am): Insert arg-nonnull.h into getopt.h.
60266         * modules/glob (Depends-on): Add arg-nonnull.
60267         (Makefile.am): Insert arg-nonnull.h into glob.h.
60268         * modules/iconv_open (Depends-on): Add arg-nonnull.
60269         (Makefile.am): Insert arg-nonnull.h into iconv.h.
60270         * modules/inttypes (Depends-on): Add arg-nonnull.
60271         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
60272         * modules/locale (Depends-on): Add arg-nonnull.
60273         (Makefile.am): Insert arg-nonnull.h into locale.h.
60274         * modules/math (Depends-on): Add arg-nonnull.
60275         (Makefile.am): Insert arg-nonnull.h into math.h.
60276         * modules/netdb (Depends-on): Add arg-nonnull.
60277         (Makefile.am): Insert arg-nonnull.h into netdb.h.
60278         * modules/search (Depends-on): Add arg-nonnull.
60279         (Makefile.am): Insert arg-nonnull.h into search.h.
60280         * modules/signal (Depends-on): Add arg-nonnull.
60281         (Makefile.am): Insert arg-nonnull.h into signal.h.
60282         * modules/spawn (Depends-on): Add arg-nonnull.
60283         (Makefile.am): Insert arg-nonnull.h into spawn.h.
60284         * modules/stdio (Depends-on): Add arg-nonnull.
60285         (Makefile.am): Insert arg-nonnull.h into stdio.h.
60286         * modules/stdlib (Depends-on): Add arg-nonnull.
60287         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
60288         * modules/string (Depends-on): Add arg-nonnull.
60289         (Makefile.am): Insert arg-nonnull.h into string.h.
60290         * modules/strings (Depends-on): Add arg-nonnull.
60291         (Makefile.am): Insert arg-nonnull.h into strings.h.
60292         * modules/sys_socket (Depends-on): Add arg-nonnull.
60293         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
60294         * modules/sys_stat (Depends-on): Add arg-nonnull.
60295         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
60296         * modules/sys_time (Depends-on): Add arg-nonnull.
60297         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
60298         * modules/sys_times (Depends-on): Add arg-nonnull.
60299         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
60300         * modules/sys_utsname (Depends-on): Add arg-nonnull.
60301         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
60302         * modules/time (Depends-on): Add arg-nonnull.
60303         (Makefile.am): Insert arg-nonnull.h into time.h.
60304         * modules/unistd (Depends-on): Add arg-nonnull.
60305         (Makefile.am): Insert arg-nonnull.h into unistd.h.
60306         * modules/wchar (Depends-on): Add arg-nonnull.
60307         (Makefile.am): Insert arg-nonnull.h into wchar.h.
60308         * modules/argv-iter (Depends-on): Add arg-nonnull.
60309         * tests/test-canonicalize.c (null_ptr): New function.
60310         (main): Use it.
60311         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
60312         (main): Use it.
60313         * tests/test-memmem.c (null_ptr): New function.
60314         (main): Use it.
60315         Reported by Jim Meyering.
60317 2009-12-10  Bruno Haible  <bruno@clisp.org>
60319         Use spaces for indentation, not tabs.
60320         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
60321         * m4/*.m4: Untabify.
60322         * build-aux/*.h: Untabify.
60323         * tests/**/*.[hc]: Untabify.
60324         * README: New section "Indent with spaces, not TABs", based on
60325         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
60326         * NEWS: Mention the change.
60328 2009-12-10  Bruno Haible  <bruno@clisp.org>
60330         pty test: Fix link error.
60331         * modules/pty-tests (Makefile.am): Add the default LDADD value to
60332         test_pty_LDADD.
60334 2009-12-07  Simon Josefsson  <simon@josefsson.org>
60336         * modules/pty: New file.
60337         * modules/pty-tests: New file.
60338         * m4/pty.m4: New file.
60339         * tests/test-pty.c: New file.
60340         * doc/glibc-headers/pty.texi: Modified.
60341         * doc/glibc-functions/forkpty.texi: Modified.
60342         * doc/glibc-functions/openpty.texi: Modified.
60344 2009-12-10  Bruno Haible  <bruno@clisp.org>
60346         Avoid syntax error in C++ mode.
60347         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
60349 2009-12-10  Bruno Haible  <bruno@clisp.org>
60351         Use sed with option -e.
60352         * gnulib-tool (func_version, func_emit_copyright_notice,
60353         func_emit_initmacro_end, func_import, func_create_testdir): Pass
60354         option -e to sed.
60355         * modules/link-warning (Makefile.am): Likewise.
60357 2009-12-10  Jim Meyering  <meyering@redhat.com>
60359         mgetgroups: do not write bytes beyond end of malloc'd buffer
60360         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
60361         username, we call getgroups with a one-element-shorter buffer,
60362         but still told it the length was original, max_n_groups.
60364 2009-12-09  Eric Blake  <ebb9@byu.net>
60366         cloexec: relax license
60367         * modules/cloexec (Maintainer): Add myself.
60368         (License): Use LGPL, not GPL.
60370         link-warning: optimize generation
60371         * modules/link-warning (Makefile.am): Reduce process usage.
60373 2009-12-09  Bruno Haible  <bruno@clisp.org>
60375         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
60376         workaround was added on 2009-11-17.
60378 2009-12-09  Jim Meyering  <meyering@redhat.com>
60379             Bruno Haible  <bruno@clisp.org>
60381         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
60382         * modules/link-warning (Makefile.am): Make the comment-removing sed
60383         command more robust in the face of bootstrap-prepended comment lines.
60385 2009-12-09  Bruno Haible  <bruno@clisp.org>
60387         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
60388         most one group.
60390 2009-12-09  Simon Josefsson  <simon@josefsson.org>
60391             Bruno Haible  <bruno@clisp.org>
60393         * build-aux/link-warning.h: Add copyright notice.
60394         * modules/link-warning (Makefile.am): Generate link-warning.h from
60395         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
60396         * NEWS: Mention change in link-warning module.
60397         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
60398         * modules/dirent (Makefile.am): Add dependency to dirent.h.
60399         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
60400         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
60401         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
60402         * modules/math (Makefile.am): Add dependency to math.h.
60403         * modules/search (Makefile.am): Add dependency to search.h.
60404         * modules/signal (Makefile.am): Add dependency to signal.h.
60405         * modules/spawn (Makefile.am): Add dependency to spawn.h.
60406         * modules/stdio (Makefile.am): Add dependency to stdio.h.
60407         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
60408         * modules/string (Makefile.am): Add dependency to string.h.
60409         * modules/strings (Makefile.am): Add dependency to strings.h.
60410         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
60411         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
60412         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
60413         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
60414         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
60415         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
60416         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
60417         * modules/unistd (Makefile.am): Add dependency to unistd.h.
60418         * modules/wchar (Makefile.am): Add dependency to wchar.h.
60420 2009-12-09  Bruno Haible  <bruno@clisp.org>
60422         fchdir: Optimize away rpl_fstat when possible.
60423         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
60424         REPLACE_OPEN_DIRECTORY.
60425         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
60427 2009-12-09  Bruno Haible  <bruno@clisp.org>
60429         * lib/fchdir.c: Update comment.
60431 2009-12-09  Bruno Haible  <bruno@clisp.org>
60433         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
60435 2009-12-08  Eric Blake  <ebb9@byu.net>
60437         fchdir: avoid memory leak on re-registration.
60438         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
60440 2009-12-08  Jim Meyering  <meyering@redhat.com>
60442         init.sh: avoid Solaris 10 /bin/sh portability problem
60443         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
60444         sourced script:
60445           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
60446           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
60447           bar
60448         tests/init.sh relied on that, accepting a --set-path=DIR argument,
60449         and two tests used that idiom.
60450         * tests/init.sh: Update suggested usage comments.
60451         (path_prepend_): New function, to be used in place
60452         of the --src-path=DIR option.
60453         (setup_): Move PATH-prepending code into path_prepend_.
60454         * tests/test-pread.sh: Adapt to new usage.
60455         * tests/test-xalloc-die.sh: Likewise.
60457 2009-12-08  Simon Josefsson  <simon@josefsson.org>
60459         * doc/gnulib.texi (Glibc pty.h): Add.
60460         * doc/glibc-functions/forkpty.texi: Add.
60461         * doc/glibc-functions/openpty.texi: Add.
60462         Suggested by Bruno Haible.
60464 2009-12-08  Eric Blake  <ebb9@byu.net>
60466         fchdir: fix logic bugs
60467         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
60468         * tests/test-fchdir.c (main): Enhance test.
60469         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
60470         is in use.
60472         dup2: fix logic bugs
60473         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
60474         REPLACE_DUP2 to decide when rpl_dup2 is needed.
60475         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
60476         exists.
60477         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
60479 2009-12-07  Eric Blake  <ebb9@byu.net>
60481         unlink: fix m4 detection
60482         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
60484         unistd-safer: add unit test
60485         * modules/unistd-safer-tests: New file.
60486         * tests/test-dup-safer.c: Likewise.
60487         * tests/test-cloexec.c (setmode): Avoid compiler warning.
60488         * tests/test-dup2.c (setmode): Likewise.
60489         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
60491         cloexec: preserve text vs. binary across dup_cloexec
60492         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
60493         mode.
60494         * modules/dup2-tests (Depends-on): Add binary-io.
60495         * modules/cloexec-tests (Depends-on): Likewise.
60496         * tests/test-dup2.c (setmode, is_mode): New helpers.
60497         (main): Add tests that translation mode is preserved.
60498         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
60499         Reported by Bruno Haible.
60501         mgetgroups: reduce duplicate listings
60502         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
60503         resulting array.
60504         * tests/test-chown.h (test_chown): Simplify client.
60505         * tests/test-lchown.h (test_lchown): Likewise.
60507 2009-12-06  Bruno Haible  <bruno@clisp.org>
60509         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
60510         value.
60512 2009-12-06  Bruno Haible  <bruno@clisp.org>
60514         * lib/progname.c: Include stdio.h, stdlib.h.
60515         (set_program_name): Reject a NULL argument.
60517 2009-12-05  Eric Blake  <ebb9@byu.net>
60519         pipe2-safer: new module
60520         * modules/pipe2-safer: New file.
60521         * lib/unistd-safer.h (pipe2_safer): New prototype.
60522         * lib/unistd--.h (pipe2): New wrapper.
60523         * lib/pipe-safer.c (pipe2_safer): New function.
60524         * modules/pipe (Depends-on): Add pipe2-safer.
60525         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
60527         stdlib-safer: preserve cloexec flag for mkostemp[s]
60528         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
60529         fd_safer_flag.
60531         unistd-safer: allow preservation of cloexec status via flag
60532         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
60533         prototypes.
60534         * lib/dup-safer.c (dup_safer_flag): New function.
60535         * lib/fd-safer.c (fd_safer_flag): Likewise.
60536         * modules/cloexec (configure.ac): Set witness.
60538         test-dup2: enhance test
60539         * modules/dup2-tests (Depends-on): Add cloexec.
60540         * tests/test-dup2.c (main): Enhance test.
60542         cloexec: add dup_cloexec
60543         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
60544         header and comments.
60545         * lib/cloexec.c (set_cloexec_flag): Add comments.
60546         (dup_cloexec): New function, with mingw implementation borrowed
60547         from...
60548         * lib/w32spawn.h (dup_noinherit): ...here.
60549         * modules/execute (Depends-on): Add cloexec.
60550         * modules/pipe (Depends-on): Likewise.
60551         * modules/cloexec (Depends-on): Add dup2.
60552         * modules/cloexec-tests (Files): New file.
60553         * tests/test-cloexec.c: Likewise.
60555         test-xalloc-die: fix test for mingw
60556         * modules/xalloc-die-tests (Files): Add tests/init.sh.
60557         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
60558         directory and .exe suffix off argv[0] output.
60560         test-fseeko: fix test for mingw
60561         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
60562         than undefining fseek, so test will pass on mingw.
60564 2009-12-05  Bruno Haible  <bruno@clisp.org>
60566         * lib/progname.h (set_program_name): Clarify specification.
60567         * lib/progname.c (set_program_name): Likewise.
60568         Reported by Jim Meyering.
60570 2009-12-05  Jim Meyering  <meyering@redhat.com>
60572         maint.mk: backslash-escape parens in default regexp
60573         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
60574         backslash-escape the literal parentheses.
60576         maint.mk: news-date-check: use grep -E
60577         * top/maint.mk (today): Define a Make variable, not a...
60578         (news-date-check): ...shell variable.
60579         (news-date-regexp): Use the Make variable.
60580         Use grep's -E option.  Change the failing diagnostic to mention
60581         the variable, $(news-date-regexp).
60583 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
60585         maintainer-makefile: allow customization of NEWS entry format
60586         * top/maint.mk (news-date-regexp): New overridable variable.
60587         (news-date-check): Use it.
60589 2009-12-04  Eric Blake  <ebb9@byu.net>
60591         mgetgroups: add xgetgroups, and avoid ENOSYS failures
60592         * lib/mgetgroups.h (xgetgroups): New prototype.
60593         * lib/mgetgroups.c (xgetgroups): New wrapper.
60594         (mgetgroups): Handle ENOSYS.
60595         * modules/mgetgroups (Depends-on): Add realloc.
60596         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
60598         mgetgroups: avoid argument promotion issues with -1
60599         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
60600         for invalid gid_t.
60601         * tests/test-chown.h (getegid, test_chown): Likewise.
60602         * tests/test-lchown.h (getegid, test_lchown): Likewise.
60604 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
60606         exclude: Fix header file problems.
60607         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
60609 2009-12-01  Jim Meyering  <meyering@redhat.com>
60611         fts: fts_open: do not let an empty string cause immediate failure
60612         This is required in support of GNU rm, for which the command
60613         "rm A '' B" must process and remove both A and B, in spite of
60614         the empty string argument.
60615         * lib/fts.c (fts_open): Do not let the presence of an empty string
60616         cause fts_open to fail immediately.  Most fts-using tools must be
60617         able to process all arguments, in order, and can be expected to
60618         diagnose such arguments themselves.
60620 2009-11-30  Eric Blake  <ebb9@byu.net>
60622         utimens: fix compilation error
60623         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
60624         Declare variable at right scope.
60626 2009-11-29  Jim Meyering  <meyering@redhat.com>
60628         bootstrap: handle perl-5.11's changed --version output
60629         * build-aux/bootstrap (get_version): Handle perl separately,
60630         since perl-5.11's --version output is different.
60632 2009-11-28  Jim Meyering  <meyering@redhat.com>
60634         userspec: depend on the inttostr module, too
60635         * modules/userspec (Depends-on): Add inttostr.
60637         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
60638         * lib/userspec.c (parse_with_separator): Do not accept a user ID
60639         number of MAXUID when it evaluates to (uid_t) -1.
60640         Likewise for group ID.  Reported by Matt McCutchen in
60641         <http://savannah.gnu.org/bugs/?28113>
60643         userspec: reformat to use spaces, not TABs
60644         * lib/userspec.c: Expand TABs to spaces.
60645         Add Emacs' "indent-tabs-mode: nil" hint.
60647 2009-11-27  Eric Blake  <ebb9@byu.net>
60649         getopt-gnu: flush out another BSD bug
60650         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
60651         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
60652         flush out BSD bug.
60653         * tests/test-getopt.h (test_getopt): End lists with NULL.
60654         * tests/test-getopt_long.h (test_getopt_long): Likewise.
60655         (test_getopt_long_posix): Enhance test.
60656         * modules/getopt-posix-tests (Depends-on): Add stdbool.
60657         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
60658         getopt-gnu.
60659         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
60660         Likewise.
60662 2009-11-27  Simon Josefsson  <simon@josefsson.org>
60664         * modules/idpriv-droptemp-tests (Notice): Fix text.
60666 2009-11-27  Jim Meyering  <meyering@redhat.com>
60668         test-xalloc-die: avoid spurious failure due to libtool argv difference
60669         In a libtool-enabled project, this test would fail due to a difference
60670         in the emitted program name, e.g.,
60671         -test-xalloc-die: memory exhausted
60672         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
60673         Use program to avoid that.
60674         * modules/xalloc-die-tests (Depends-on): Add progname.
60675         * tests/test-xalloc-die.c: Include progname.h".
60676         (program_name): Remove decl.
60677         (main): Call set_program_name.
60678         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
60680 2009-11-26  Richard Jones  <rjones@redhat.com>
60682         w32sock: leave win32 error in place.
60683         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
60685 2009-11-26  Eric Blake  <ebb9@byu.net>
60687         init.sh: suggest to use skip_ and fail_ functions in comments
60688         * tests/init.sh: Add a sentence.
60690 2009-11-25  Bruno Haible  <bruno@clisp.org>
60692         init.sh: add documentation in comments
60693         * tests/init.sh: Add some developer and user documentation.
60695 2009-11-26  Jim Meyering  <meyering@redhat.com>
60697         init.sh: accommodate even those who specify bogus srcdir manually
60698         * tests/init.sh: Normally, srcdir is guaranteed by automake and
60699         configure-time tests to be sanitized, so that there is no need to
60700         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
60701         (with no double quotes) suffices.  However, since tests may be
60702         invoked manually, and since you may explicitly set srcdir to the
60703         name of a directory containing spaces, do quote its uses here.
60704         * tests/test-pread.sh: Likewise.
60705         Suggested by Bruno Haible.
60707         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
60708         * tests/test-pread.sh: Write no data into the pipe, because
60709         test-pread actually reads none.  This avoids a diagnostic,
60710         "bash: echo: write error: Broken pipe", that arises in the unusual
60711         event something is ignoring SIGPIPE, and might be interpreted
60712         as some sort of failure.  Reported by Bruno Haible.
60714 2009-11-25  Jim Meyering  <meyering@redhat.com>
60716         test-pread: cover failure with ESPIPE and EINVAL
60717         * tests/test-pread.c (main): Test for failure, too.
60718         * tests/test-pread.sh: Invoke with stdin on a pipe.
60719         Suggested by Eric Blake.
60721         pread: improvement and fix
60722         * modules/pread (Depends-on): Depend on lseek, for portability to
60723         e.g., mingw.  Suggested by Eric Blake.
60724         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
60726         unistd.in.h: correct declaration of pread
60727         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
60728         Reported by Richard W.M. Jones.
60730         test-pread.sh: distribute the test script
60731         * modules/pread-tests (Files): Include test-pread.sh.
60733         test-pread.sh: clean up
60734         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
60735         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
60736         That is unnecessary, since it's always ".".
60737         Suggestion from Eric Blake.
60739         test-pread.sh: make executable
60740         * tests/test-pread.sh: Set executable bit.
60741         Reported by Eric Blake.
60743         correct typo in test-pread.sh
60744         * tests/test-pread.sh: Add #! line.
60746         test pread
60747         * tests/test-pread.c: New file.
60748         * tests/test-pread.sh: Likewise.
60749         * modules/pread-tests: Likewise.
60751         pread: new module
60752         * modules/pread: New file.
60753         * lib/unistd.in.h (pread): Define/declare.
60754         * lib/pread.c (pread): New file.
60755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
60756         * modules/unistd (Makefile.am): Substitute witnesses.
60757         * doc/posix-functions/pread.texi (pread): Update.
60758         * MODULES.html.sh: Add pread.
60760 2009-11-25  Jim Meyering  <meyering@redhat.com>
60762         tests/init.sh: new file to be used via most *.sh tests
60763         * tests/init.sh: New file.
60765 2009-11-25  Eric Blake  <ebb9@byu.net>
60767         utimens: work around older Linux failure with symlinks
60768         * lib/utimens.c (lutimensat_works_really): New variable.
60769         (fdutimens, lutimens): Use it to manage kernels that support
60770         nanosecond times on files, but not on symlinks.
60771         Reported by Ondřej Vašík.
60773         utimes: fix configure grammar
60774         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
60776 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
60778         regex: Fix fastmap for multibyte character ranges.
60779         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
60780         characters when a multibyte character range is included.
60782 2009-11-22  Andy Wingo  <wingo@pobox.com>
60784         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
60785         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
60787 2009-11-24  Bruno Haible  <bruno@clisp.org>
60789         doc: Most *_l functions exist in MacOS X 10.5.
60790         * doc/posix-functions/duplocale.texi: Update platforms list.
60791         * doc/posix-functions/freelocale.texi: Likewise.
60792         * doc/posix-functions/newlocale.texi: Likewise.
60793         * doc/posix-functions/uselocale.texi: Likewise.
60794         * doc/posix-functions/isalnum_l.texi: Likewise.
60795         * doc/posix-functions/isalpha_l.texi: Likewise.
60796         * doc/posix-functions/isblank_l.texi: Likewise.
60797         * doc/posix-functions/iscntrl_l.texi: Likewise.
60798         * doc/posix-functions/isdigit_l.texi: Likewise.
60799         * doc/posix-functions/isgraph_l.texi: Likewise.
60800         * doc/posix-functions/islower_l.texi: Likewise.
60801         * doc/posix-functions/isprint_l.texi: Likewise.
60802         * doc/posix-functions/ispunct_l.texi: Likewise.
60803         * doc/posix-functions/isspace_l.texi: Likewise.
60804         * doc/posix-functions/isupper_l.texi: Likewise.
60805         * doc/posix-functions/iswalnum_l.texi: Likewise.
60806         * doc/posix-functions/iswalpha_l.texi: Likewise.
60807         * doc/posix-functions/iswblank_l.texi: Likewise.
60808         * doc/posix-functions/iswcntrl_l.texi: Likewise.
60809         * doc/posix-functions/iswctype_l.texi: Likewise.
60810         * doc/posix-functions/iswdigit_l.texi: Likewise.
60811         * doc/posix-functions/iswgraph_l.texi: Likewise.
60812         * doc/posix-functions/iswlower_l.texi: Likewise.
60813         * doc/posix-functions/iswprint_l.texi: Likewise.
60814         * doc/posix-functions/iswpunct_l.texi: Likewise.
60815         * doc/posix-functions/iswspace_l.texi: Likewise.
60816         * doc/posix-functions/iswupper_l.texi: Likewise.
60817         * doc/posix-functions/iswxdigit_l.texi: Likewise.
60818         * doc/posix-functions/isxdigit_l.texi: Likewise.
60819         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
60820         * doc/posix-functions/strcasecmp_l.texi: Likewise.
60821         * doc/posix-functions/strcoll_l.texi: Likewise.
60822         * doc/posix-functions/strfmon_l.texi: Likewise.
60823         * doc/posix-functions/strftime_l.texi: Likewise.
60824         * doc/posix-functions/strncasecmp_l.texi: Likewise.
60825         * doc/posix-functions/strxfrm_l.texi: Likewise.
60826         * doc/posix-functions/tolower_l.texi: Likewise.
60827         * doc/posix-functions/toupper_l.texi: Likewise.
60828         * doc/posix-functions/towctrans_l.texi: Likewise.
60829         * doc/posix-functions/towlower_l.texi: Likewise.
60830         * doc/posix-functions/towupper_l.texi: Likewise.
60831         * doc/posix-functions/wcscoll_l.texi: Likewise.
60832         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
60833         * doc/posix-functions/wctrans_l.texi: Likewise.
60834         * doc/posix-functions/wctype_l.texi: Likewise.
60835         * doc/glibc-functions/strptime_l.texi: Likewise.
60836         * doc/glibc-functions/strtod_l.texi: Likewise.
60837         * doc/glibc-functions/strtof_l.texi: Likewise.
60838         * doc/glibc-functions/strtol_l.texi: Likewise.
60839         * doc/glibc-functions/strtold_l.texi: Likewise.
60840         * doc/glibc-functions/strtoll_l.texi: Likewise.
60841         * doc/glibc-functions/strtoul_l.texi: Likewise.
60842         * doc/glibc-functions/strtoull_l.texi: Likewise.
60843         * doc/glibc-functions/wcsftime_l.texi: Likewise.
60844         * doc/glibc-functions/wcstod_l.texi: Likewise.
60845         * doc/glibc-functions/wcstof_l.texi: Likewise.
60846         * doc/glibc-functions/wcstol_l.texi: Likewise.
60847         * doc/glibc-functions/wcstold_l.texi: Likewise.
60848         * doc/glibc-functions/wcstoll_l.texi: Likewise.
60849         * doc/glibc-functions/wcstoul_l.texi: Likewise.
60850         * doc/glibc-functions/wcstoull_l.texi: Likewise.
60852 2009-11-24  Bruno Haible  <bruno@clisp.org>
60854         duplocale: Fix logic bug.
60855         * lib/duplocale.c: Don't include <langinfo.h>.
60856         (_NL_LOCALE_NAME): Remove macro.
60857         (rpl_duplocale): Use setlocale instead of nl_langinfo.
60858         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
60860 2009-11-23  Jim Meyering  <meyering@redhat.com>
60862         test-update-copyright: don't hard-code /usr/bin/perl
60863         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
60864         perl to print the current year.  Gilles Espinasse reported that
60865         the replaced use of perl was hard-coded as /usr/bin/perl.
60867 2009-11-23  Bruno Haible  <bruno@clisp.org>
60869         duplocale: Add support for glibc 2.3.x.
60870         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
60872 2009-11-22  Bruno Haible  <bruno@clisp.org>
60874         vasnprintf: Tiny optimization.
60875         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
60876         MacOS X.
60878 2009-11-22  Bruno Haible  <bruno@clisp.org>
60880         Tests for module 'duplocale'.
60881         * modules/duplocale-tests: New file.
60882         * tests/test-duplocale.c: New file.
60884         New module 'duplocale'.
60885         * m4/duplocale.m4: New file.
60886         * lib/locale.in.h (duplocale): New declaration.
60887         * lib/duplocale.c: New file.
60888         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
60889         gl_LOCALE_H_DEFAULTS): New macros.
60890         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
60891         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
60892         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
60893         REPLACE_DUPLOCALE.
60894         * modules/duplocale: New file.
60895         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
60897 2009-11-22  Bruno Haible  <bruno@clisp.org>
60899         * modules/locale-tests (configure.ac): Test for newlocale function.
60900         * tests/test-locale.c: When the system has extended locale functions,
60901         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
60903         locale: Make locale_t available when possible.
60904         * lib/locale.in.h: Include <xlocale.h> when it exists.
60905         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
60906         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
60907         * modules/locale (Depends-on): Add extensions.
60908         (Makefile.am): Also substitute HAVE_XLOCALE_H.
60909         * doc/posix-headers/locale.texi: Document the problem with locale_t.
60911 2009-11-22  Bruno Haible  <bruno@clisp.org>
60913         Add comments.
60914         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
60915         invocation.
60916         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
60917         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60918         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60920 2009-11-22  Bruno Haible  <bruno@clisp.org>
60922         error: account for the possibility of freopen (stdout).
60923         * lib/error.c: Include <unistd.h>.
60924         (flush_stdout): New function, extracted from error and error_at_line.
60925         Determine stdout's fd dynamically.
60926         (error, error_at_line): Invoke flush_stdout.
60927         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
60928         * modules/error (Depends-on): Add unistd.
60930 2009-11-22  Bruno Haible  <bruno@clisp.org>
60932         diffseq: Add comment.
60933         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
60935 2009-11-22  Jim Meyering  <meyering@redhat.com>
60937         c-stack: avoid defining an unused static function
60938         * lib/c-stack.c (find_stack_direction): Do not define this function
60939         when it will not be used.
60941         diffseq: avoid spurious gcc warnings
60942         * lib/diffseq.h (IF_LINT2): Define.
60943         (compareseq): Use it to initialize two members of "part".
60944         This avoids two used-uninitialized warnings.
60946 2009-11-21  Jim Meyering  <meyering@redhat.com>
60948         c-stack: avoid "ignoring return value of `write'" warning
60949         * lib/c-stack.c: Include "ignore-value.h".
60950         (die): Explicitly ignore each write return value.
60951         * modules/c-stack (Depends-on): Add ignore-value.
60953 2009-11-21  Bruno Haible  <bruno@clisp.org>
60955         diffseq: reduce scope of variable 'best'.
60956         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
60957         variable, earlier used for two different purposes.
60959 2009-11-21  Jim Meyering  <meyering@redhat.com>
60961         diffseq: remove useless assignment to "best"
60962         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
60963         assignment.  At that point "best" is already guaranteed to be zero.
60965 2009-11-20  Eric Blake  <ebb9@byu.net>
60967         build: mention ftp redirector in release announcements
60968         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
60969         values that used to come from cfg.mk; mention FTP redirect URL.
60970         * build-aux/announce-gen: Mention the mirror list.
60971         Suggested by Karl Berry.
60973         nanosleep: improve port to mingw
60974         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
60975         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
60976         LIB_NANOSLEEP, but only when needed.
60977         * modules/select (Link): Document LIBSOCKET.
60978         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
60979         enough.
60981         nanosleep: work around cygwin bug
60982         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
60983         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
60984         bug.
60985         (getnow): Delete, not needed.
60986         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
60987         LIB_CLOCK_GETTIME.
60988         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
60989         clock-time, gettime.
60990         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
60991         bug.
60992         * modules/nanosleep-tests: New test.
60993         * tests/test-nanosleep.c: New file.
60995         sleep: work around cygwin bug
60996         * lib/sleep.c (rpl_sleep): Work around the bug.
60997         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
60998         (gl_PREREQ_SLEEP): Delete unused macro.
60999         * modules/sleep (Depends-on): Add verify.
61000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
61001         * modules/unistd (Makefile.am): Substitute witness.
61002         * lib/unistd.in.h (sleep): Update prototype.
61003         * doc/posix-functions/sleep.texi (sleep): Document the bug.
61004         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
61005         * modules/sleep-tests (Depends-on): Check for alarm.
61007 2009-11-20  Jim Meyering  <meyering@redhat.com>
61009         maint.mk: improve sc_prohibit_magic_number_exit
61010         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
61011         so it does not match uses like System.exit(1).
61012         Add comments showing how to correct all offenders.
61014 2009-11-19  Eric Blake  <ebb9@byu.net>
61016         xalloc-die-tests: add missing library
61017         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
61019         test-xvasprintf: silence compiler warnings
61020         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
61021         empty string from gcc.
61023 2009-11-19  Jim Meyering  <meyering@redhat.com>
61025         xfreopen: new module, from coreutils
61026         * modules/xfreopen: New module.
61027         * lib/xfreopen.c: New file.
61028         * lib/xfreopen.h: New file.
61029         * MODULES.html.sh (File stream based Input/Output"): Add it.
61031 2009-11-19  Eric Blake  <ebb9@byu.net>
61033         manywarnings: depend on warnings
61034         * modules/manywarnings (Depends-on): Add warnings.
61036         build: avoid compiler warnings
61037         * lib/select.c (rpl_select): Delete unused variable.
61038         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
61040 2009-11-18  Eric Blake  <ebb9@byu.net>
61042         tests: avoid false negative with --with-packager
61043         * tests/test-version-etc.sh: Discard packager information.
61044         * tests/test-argp-version-etc-1.sh: Likewise.
61045         Reported by Mike Frysinger.
61047         utimens: fix regression on Solaris
61048         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
61049         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
61050         can only change fd timestamps via futimesat.  Instead, use an
61051         additional witness macro to avoid BSD bug.
61052         Reported by Jim Meyering.
61054 2009-11-17  Eric Blake  <ebb9@byu.net>
61056         usleep: use it to simplify tests
61057         * modules/stat-time-tests (Depends-on): Add usleep.
61058         (configure.ac): Drop usleep check.
61059         * modules/chown-tests (Depends-on, configure.ac): Likewise.
61060         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
61061         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
61062         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
61063         * modules/openat-tests (Depends-on, configure.ac): Likewise.
61064         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
61065         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
61066         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
61067         Likewise.
61068         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
61069         * tests/test-lchown.h (nap): Likewise.
61070         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
61071         * tests/test-stat-time.c (nap): Likewise.
61072         * tests/test-utimens-common.h (nap): Update comments.
61074         usleep: new module
61075         * modules/usleep: New file.
61076         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
61077         * lib/usleep.c (usleep): Likewise.
61078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
61079         * modules/unistd (Makefile.am): Substitute witnesses.
61080         * lib/unistd.in.h (usleep): Add declaration.
61081         * doc/pastposix-functions/usleep.texi (usleep): Document this.
61082         * MODULES.html.sh (Date and time): Likewise.
61083         * modules/usleep-tests (Depends-on): New test.
61084         * tests/test-usleep.c: New file.
61086         chown: work around OpenBSD bug
61087         * lib/chown.c (rpl_chown): Work around the bug.
61088         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
61089         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
61090         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
61091         * modules/chown (Depends-on): Add stdbool.
61092         * modules/lchown (Depends-on): Likewise.
61093         * doc/posix-functions/chown.texi (chown): Document the bug.
61094         * doc/posix-functions/lchown.texi (lchown): Likewise.
61095         * tests/test-lchown.h (test_chown): Relax test.
61097         mkstemp: avoid conflict with C++ keyword template
61098         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
61099         * lib/mkostemp.c (mkostemp): Likewise.
61100         * lib/mkostemps.c (mkostemps): Likewise.
61101         * lib/mkstemp.c (mkstemp): Likewise.
61102         * lib/mkstemps.c (mkstemps): Likewise.
61104         xalloc-die-tests: optimize
61105         * tests/test-xalloc-die.sh: Reduce number of processes.
61107 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61109         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
61110         patch from ludo@gnu.org (Ludovic Courtès).
61112 2009-11-17  Jim Meyering  <meyering@redhat.com>
61114         version-etc: use proper license string
61115         * modules/version-etc (License): Use LGPL, not LGPLv3+.
61116         * modules/version-etc-fsf: Likewise.
61118 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61120         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
61121         printed to stdout.  Deal with EOL differences.
61123 2009-11-17  Eric Blake  <ebb9@byu.net>
61125         unsetenv: work around Solaris bug
61126         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
61127         * lib/unsetenv.c (rpl_unsetenv): Work around it.
61128         Reported by Jim Meyering.
61130         vasnprintf: avoid compiler warnings
61131         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
61132         variables.
61133         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
61135 2009-11-17  Simon Josefsson  <simon@josefsson.org>
61137         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
61138         settings since xalloc-die is no longer the self test,
61139         xalloc-die.sh is.
61141 2009-11-17  Jim Meyering  <meyering@redhat.com>
61143         test-xalloc-die.sh: make the code agree with the commit log
61144         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
61145         at the end, just in case you happen to have a test-xalloc-die
61146         program in some other PATH directory.
61148         test-xalloc-die.sh: fix a portability bug
61149         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
61150         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
61151         Otherwise, argv[0] (as often seen in diagnostics) would be too
61152         system-dependent, sometimes with, and sometimes without the leading "./".
61154         version-etc-fsf: relax license to LGPLv3+
61155         * modules/version-etc-fsf (License): Relax license.
61157 2009-11-16  Eric Blake  <ebb9@byu.net>
61159         xalloc-die-tests: avoid printing null pointer
61160         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
61161         shell script.
61162         * tests/test-xalloc-die.c (program_name): Declare.
61163         * tests/test-xalloc-die.sh (tmpfiles): New file.
61165         setenv, unsetenv: work around various bugs
61166         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
61167         (setenv) [HAVE_SETENV]: Work around bugs.
61168         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
61169         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
61170         for bugs.
61171         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
61172         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
61173         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
61174         * modules/stdlib (Makefile.am): Update substitutions.
61175         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
61176         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
61177         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
61178         * modules/setenv-tests: New test.
61179         * modules/unsetenv-tests: Likewise.
61180         * tests/test-setenv.c: New file.
61181         * tests/test-unsetenv.c: Likewise.
61183 2009-11-16  Jim Meyering  <meyering@redhat.com>
61185         version-etc: relax license to LGPLv3+
61186         * modules/version-etc (License): Relax license.
61188         better AC_REQUIRE expanded-before-required-warning avoidance
61189         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
61190         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
61191         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
61192         which is no longer needed.
61194 2009-11-16  Eric Blake  <ebb9@byu.net>
61196         test-freading: clean up temporary file
61197         * tests/test-freading.c (main): Remove file on success, and use
61198         ASSERT more liberally.
61199         Reported by Jim Meyering.
61201 2009-11-16  Jim Meyering  <meyering@redhat.com>
61203         avoid new AC_REQUIRE expanded-before-required warnings
61204         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
61205         merely using it.
61206         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
61207         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
61209 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61211         * tests/test-xalloc-die.c: New file.
61212         * modules/xalloc-die-tests: New file.
61213         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
61214         XFAIL_TESTS so it can be appended by modules.
61216 2009-11-15  Simon Josefsson  <simon@josefsson.org>
61218         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
61219         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
61221 2009-11-14  Eric Blake  <ebb9@byu.net>
61223         fnmatch: avoid compiler warning
61224         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
61225         to silence compiler warning about mismatch signedness in ?:.
61226         Reported by Robert Millan.
61228         intprops: add double-inclusion guard
61229         * lib/intprops.h: Allow idempotent includes.
61230         Suggested by Bruce Korb.
61232         openat: detect Solaris fchownat bug
61233         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
61234         penalizing glibc chownat when only lchownat is broken.
61235         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
61236         trailing slash bugs.
61237         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
61238         * modules/openat-tests (Files): Include more files.
61239         (Depends-on): Add mgetgroups, sleep, stat-time.
61240         (configure.ac): Add additional checks.
61241         (Makefile.am): Build new test.
61242         * tests/test-fchownat.c: New file.
61244         lchown: detect Solaris and FreeBSD bug
61245         * lib/lchown.c (rpl_lchown): Work around bug.
61246         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
61247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61248         * modules/unistd (Makefile.am): Populate it.
61249         * lib/unistd.in.h (lchown): Update declaration.
61250         * doc/posix-functions/lchown.texi (lchown): Document the bug.
61251         * modules/lchown-tests: New file.
61252         * tests/test-lchown.h (test_lchown): Likewise.
61253         * tests/test-lchown.c (main): Likewise.
61255         chown: detect Solaris and FreeBSD bug
61256         * lib/chown.c (rpl_chown): Work around bug.
61257         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
61258         (gl_PREREQ_CHOWN): Delete.
61259         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61260         * modules/unistd (Makefile.am): Populate it.
61261         * lib/unistd.in.h (chown): Update declaration.
61262         * lib/lchown.c (chown): Update client.
61263         * modules/lchown (Depends-on): Add lstat.
61264         * doc/posix-functions/chown.texi (chown): Document the bug.
61265         * doc/posix-functions/getgroups.texi (getgroups): Document
61266         getgroups pitfall.
61267         * modules/chown-tests: New file.
61268         * tests/test-chown.h (test_chown): Likewise.
61269         * tests/test-chown.c (main): Likewise.
61271 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
61273         gnulib-tool: correctly detect absence of m4 directories
61274         * gnulib-tool: Avoid extra newline on data passed to wc -l.
61276 2009-11-14  Jim Meyering  <meyering@redhat.com>
61278         maint.mk: Prohibit inclusion of "xalloc.h" without use.
61279         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61281 2009-11-14  John W. Eaton  <jwe@gnu.org>
61283         strftime.h: wrap function declaration in extern "C" block
61284         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
61286 2009-11-13  Eric Blake  <ebb9@byu.net>
61288         getgroups: avoid compiler warning
61289         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
61291         getgroups: work around FreeBSD bug
61292         * lib/getgroups.c (rpl_getgroups): Work around the bug.
61293         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
61294         * doc/posix-functions/getgroups.texi (getgroups): Document it.
61295         * tests/test-getgroups.c (main): Fix buffer overrun.
61297         getgroups: avoid compilation failure
61298         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
61299         * modules/getgroups (Depends-on): Add stdint.
61301 2009-11-13  Jim Meyering  <meyering@redhat.com>
61303         test-getgroups: avoid compilation failure
61304         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
61306 2009-11-13  Eric Blake  <ebb9@byu.net>
61308         mgetgroups: new module, taken from coreutils
61309         * modules/mgetgroups: New file.
61310         * lib/mgetgroups.h: Likewise.
61311         * lib/mgetgroups.c (mgetgroups): Likewise.
61312         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
61313         * MODULES.html.sh (Users and groups): Mention it.
61315         getgroups: don't expose GETGROUPS_T to user
61316         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
61317         an element at a time if GETGROUPS_T is wrong size.
61318         * lib/getugroups.h (getugroups): Change signature.
61319         * lib/unistd.in.h (getgroups): Likewise.
61320         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
61321         signature needs fixing.
61322         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
61323         AC_TYPE_GETGROUPS.
61324         * modules/group-member (Depends-on): Add getgroups.
61325         * lib/group-member.c (group_info, get_group_info): Use gid_t.
61326         (group_member): Rely on getgroups replacement.
61327         * lib/getugroups.c (getugroups): Use gid_t.
61328         * tests/test-getgroups.c (main): Likewise.
61329         * NEWS: Mention the signature change.
61330         * doc/posix-functions/getgroups.texi (getgroups): Mention the
61331         problem with signature.
61332         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
61333         GETGROUPS_T is still useful for setgroups.
61335         getgroups, getugroups: provide stubs for mingw
61336         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
61337         * lib/getugroups.c (getugroups): Likewise.
61338         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
61339         function.  Modernize replacement scheme.
61340         (gl_PREREQ_GETGROUPS): Delete.
61341         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
61342         * modules/getgroups (configure.ac): Declare witness.
61343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
61344         * modules/unistd (Depends-on): Substitute witness.
61345         * lib/unistd.in.h (getgroups): Declare replacement.
61347         getgroups: avoid calling exit
61348         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
61349         drop xalloc.
61350         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
61351         dependencies.
61352         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
61353         exiting, in the rare case of malloc failure.
61355         getgroups: fix logic error
61356         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
61357         has more than 20 groups.
61358         * modules/getgroups-tests: New test.
61359         * tests/test-getgroups.c: New file.
61361 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61363         * tests/test-base64.c: Improve.
61365 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61367         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
61368         Blake <ebb9@byu.net>.
61370 2009-11-13  Simon Josefsson  <simon@josefsson.org>
61372         * tests/test-xvasprintf.c: Add %s%s related checks.
61374 2009-11-12  Eric Blake  <ebb9@byu.net>
61376         version-etc: match standards.texi style
61377         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
61378         and use <> only for URLs.
61380 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
61382         fts: do not fail on a submount during traversal
61383         * lib/fts.c (fts_build): Read the stat info again after opening
61384         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
61385         Original report at http://bugzilla.redhat.com/501848.
61387 2009-11-12  Jim Meyering  <meyering@redhat.com>
61389         bootstrap: sync from coreutils
61390         * build-aux/bootstrap (bootstrap_epilogue): New function.
61391         Use git_modules_config in one more place.  This make bootstrap's
61392         --gnulib-srcdir option more useful for testing.
61394         bootstrap: generalize autoheader check
61395         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
61396         AC_CONFIG_HEADERS.
61398 2009-11-11  Eric Blake  <ebb9@byu.net>
61400         mkfifoat: use new modules for Solaris and BSD bugs
61401         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
61402         * lib/mkfifoat.c (mknodat): Split...
61403         * lib/mknodat.c (mknodat): ...into new file.
61404         * modules/mkfifoat (Files): Ship new file.
61405         (Depends-on): Add mkfifo, mknod.
61406         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
61407         (Depends-on): Add symlink.
61408         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
61409         redundant with test_mkfifo.h.
61410         (do_mkfifoat, do_mknodat): New helpers.
61412         mknod: new module
61413         * modules/mknod: New file.
61414         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
61415         * lib/mknod.c (mknod): Likewise.
61416         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61417         defaults.
61418         * modules/sys_stat (Makefile.am): Substitute them.
61419         * lib/sys_stat.in.h (mknod): Declare replacement.
61420         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61421         Document it.
61422         * doc/posix-functions/mknod.texi (mknod): Likewise.
61423         * modules/mknod-tests: New test.
61424         * tests/test-mknod.c: Likewise.
61426         mkfifo: new module
61427         * modules/mkfifo: New file.
61428         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
61429         * lib/mkfifo.c (mkfifo): Likewise.
61430         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
61431         defaults.
61432         * modules/sys_stat (Makefile.am): Substitute them.
61433         * lib/sys_stat.in.h (mkfifo): Declare replacement.
61434         * MODULES.html.sh (Support for systems lacking POSIX:2008):
61435         Document it.
61436         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
61437         * modules/mkfifo-tests: New test.
61438         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
61439         from test-mkfifoat.c.
61440         * tests/test-mkfifo.c: New file.
61442         readlink: detect FreeBSD bug
61443         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
61444         slash on symlink.
61445         * doc/posix-functions/readlink.texi (readlink): Document the bug.
61446         * tests/test-readlink.h (test_readlink): Enhance test.
61448         symlink: detect FreeBSD bug
61449         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
61450         slash on symlink.
61451         * doc/posix-functions/symlink.texi (symlink): Document the bug.
61452         * tests/test-symlink.h (test_symlink): Enhance test.
61454 2009-11-10  Eric Blake  <ebb9@byu.net>
61456         link: detect FreeBSD bug
61457         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
61458         symlink.
61459         * doc/posix-functions/link.texi (link): Document the bug.
61460         * tests/test-link.h (test_link): Enhance test.
61461         * tests/test-linkat.c (main): Update caller.
61463         unlink, remove: detect FreeBSD bug
61464         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
61465         slash on symlink.
61466         * doc/posix-functions/unlink.texi (unlink): Document the bug.
61467         * doc/posix-functions/remove.texi (remove): Likewise.
61468         * tests/test-unlink.h (test_unlink): Enhance test.
61469         * tests/test-remove.c (main): Likewise.
61471 2009-11-09  Eric Blake  <ebb9@byu.net>
61473         rename: detect FreeBSD bug
61474         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
61475         slash on symlink.
61476         * modules/renameat-tests (Depends-on): Add filenamecat.
61477         * tests/test-rename.h (test_rename): Allow one more errno.
61478         * tests/test-renameat.c (main): Likewise.
61479         * doc/posix-functions/rename.texi (rename): Document the bug.
61481         open: detect FreeBSD bug
61482         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
61483         symlink.
61484         * doc/posix-functions/open.texi (open): Document the bug.
61485         * doc/posix-functions/utimes.texi (utimes): Likewise.
61486         * tests/test-open.h (test_open): Add parameters, and test symlink
61487         handling.
61488         * tests/test-open.c (main): Adjust caller.
61489         * tests/test-fcntl-safer.c (main): Likewise.
61490         * modules/open-tests (Depends-on): Add stdbool, symlink.
61491         * modules/fcntl-safer-tests (Depends-on): Likewise.
61492         * tests/test-openat.c (main): Add test-open tests.
61494         stat: detect FreeBSD bug
61495         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
61496         symlink.
61497         * doc/posix-functions/stat.texi (stat): Document the bug.
61498         * tests/test-stat.h (test_stat_func): Add argument.
61499         * tests/test-stat.c (main): Adjust caller.
61500         * tests/test-fstatat.c (main): Likewise.
61501         * modules/stat-tests (Depends-on): Add stdbool, symlink.
61502         Reported by Jim Meyering.
61504 2009-11-09  James Youngman  <jay@gnu.org>
61506         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
61507         * lib/strftime.c: Correct placement of #include "ignore-value.h".
61509 2009-11-08  Jim Meyering  <meyering@redhat.com>
61511         utimens: remove invalid futimesat call
61512         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
61513         It used the file descriptor of the target file as the DIR_FD
61514         parameter and NULL as the file name.  That caused failure with
61515         errno == EFAULT on FreeBSD-8.0-rc2
61517 2009-11-07  Eric Blake  <ebb9@byu.net>
61519         fflush, freadseek: use fseeko, not fseek
61520         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
61521         (clear_ungetc_buffer): Avoid potential problems on large files.
61522         * lib/freadseek.c (freadseek): Likewise.
61523         * modules/freadseek (Depends-on): Add fseeko.
61524         * modules/fseek (configure.ac): Set a witness.
61525         * tests/test-fflush.c (main): Use fseeko.
61526         * tests/test-fpurge.c (fseek): Disable link warning.
61527         * tests/test-freadable.c (fseek): Likewise.
61528         * tests/test-freading.c (fseek): Likewise.
61529         * tests/test-fseeko.c (fseek): Likewise.
61530         * tests/test-ftell.c (fseek): Likewise.
61531         * tests/test-ftello.c (fseek): Likewise.
61532         * tests/test-fwritable.c (fseek): Likewise.
61533         * tests/test-fwriting.c (fseek): Likewise.
61535 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61537         * modules/memchr (Depends-on): Drop getpagesize dependency.
61539 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61541         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
61542         Reported by Ludovic Courtès.
61543         * build-aux/pmccabe2html: Improve example usage.
61544         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
61546 2009-11-06  Jim Meyering  <meyering@redhat.com>
61548         do-release-commit-and-tag: New module.
61549         Automate the release-commit and tag process.
61550         * build-aux/do-release-commit-and-tag: New script, from coreutils.
61551         * modules/do-release-commit-and-tag: New file.
61552         * MODULES.html.sh (Support for maintaining and releasing): Add it.
61554 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61556         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
61557         because test-select.c uses inet_pton.
61559 2009-11-06  Simon Josefsson  <simon@josefsson.org>
61561         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
61562         GETADDRINFO_LIB.  Bump serial number.
61563         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
61564         Suggested by Eric Blake <ebb9@byu.net>.
61566 2009-11-05  Eric Blake  <ebb9@byu.net>
61568         strtod: detect darwin bug
61569         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
61570         Reported by Leo Davis.
61572         freopen-safer: new module
61573         * modules/freopen-safer: New module.
61574         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
61575         * lib/freopen-safer.c (freopen_safer): New file.
61576         * lib/stdio-safer.h (freopen_safer): New declaration.
61577         * lib/stdio--.h (freopen): New override.
61578         * MODULES.html.sh (File stream based Input/Output): Mention it.
61579         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
61580         freopen-safer module.
61581         * doc/posix-functions/stderr.texi (stderr): Likewise.
61582         * doc/posix-functions/stdin.texi (stdin): Likewise.
61583         * doc/posix-functions/stdout.texi (stdout): Likewise.
61584         * modules/freopen-safer-tests: New test.
61585         * tests/test-reopen-safer.c: New file.
61587 2009-11-05  Jim Meyering  <meyering@redhat.com>
61589         maint.mk: Prohibit inclusion of "close-stream.h" without use.
61590         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
61592 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61594         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
61596 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61598         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
61600 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61602         Fix link error.
61603         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61604         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61606 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61608         * tests/test-func.c: Also test value of __func__.
61610 2009-11-05  Simon Josefsson  <simon@josefsson.org>
61612         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
61613         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
61615 2009-11-05  Bruno Haible  <bruno@clisp.org>
61617         Fix link error.
61618         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
61619         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
61620         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
61622 2009-11-05  Bruno Haible  <bruno@clisp.org>
61624         Tests for module 'inet_pton'.
61625         * modules/inet_pton-tests: New file.
61626         * tests/test-inet_pton.c: New file.
61628 2009-11-05  Bruno Haible  <bruno@clisp.org>
61630         Tests for module 'inet_ntop'.
61631         * modules/inet_ntop-tests: New file.
61632         * tests/test-inet_ntop.c: New file.
61634 2009-11-04  Eric Blake  <ebb9@byu.net>
61636         stdlib-safer: wrap all mkstemp variants
61637         * modules/mkostemp (configure.ac): Set witness.
61638         * modules/mkostemps (configure.ac): Likewise.
61639         * modules/mkstemps (configure.ac): Likewise.
61640         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
61641         (mkstemps_safer): Wrap more functions.
61642         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
61643         wrapping.
61644         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
61645         (mkstemps_safer): Implement the wrappers.
61647         mkstemps, mkostemps: new modules
61648         * modules/mkostemps: New module.
61649         * modules/mkstemps: Likewise.
61650         * lib/mkostemps.c (mkostemps): New file.
61651         * lib/mkstemps.c (mkstemps): Likewise.
61652         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
61653         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
61654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
61655         * modules/stdlib (Makefile.am): Substitute them.
61656         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
61657         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
61658         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
61659         * doc/gnulib.texi (Glibc stdlib.h): Include them.
61660         * MODULES.html.sh (File system functions): Mention them.
61662         tempname: resync from glibc
61663         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
61664         same values for __GT_FILE as glibc.  Abort even when assertions
61665         are disabled.
61666         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
61667         match its value otherwise.  Allow idempotent inclusion.
61668         * lib/mkdtemp.c (mkdtemp): Adjust caller.
61669         * lib/mkostemp.c (mkostemp): Likewise.
61670         * lib/mkstemp.c (mkstemp): Likewise.
61671         * lib/tmpfile.c (tmpfile): Likewise.
61672         * NEWS: Document this.
61674         utimens: fix use of futimens on older Linux
61675         * lib/utimens.c (fdutimens): Use updated, rather than original,
61676         timespec to avoid bug in older Linux kernel.
61677         Reported by Simon Josefsson.
61679 2009-11-04  Bruno Haible  <bruno@clisp.org>
61681         Make num_processors more flexible and consistent.
61682         * lib/nproc.h (enum nproc_query): New type.
61683         (num_processors): Add a 'query' argument.
61684         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
61685         (num_processors): Add a 'query' argument. Test the value of the
61686         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
61687         mingw, count the number of CPUs available for the current process.
61688         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
61689         Check for sched_getaffinity and sched_getaffinity_np.
61690         * modules/nproc (Depends-on): Add c-ctype, extensions.
61691         * NEWS: Mention the change.
61693 2009-11-03  Bruno Haible  <bruno@clisp.org>
61695         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
61697 2009-11-03  Jim Meyering  <meyering@redhat.com>
61699         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
61700         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
61701         if it is defined.
61703 2009-11-02  Eric Blake  <ebb9@byu.net>
61705         mktime, timegm: share common declaration
61706         * lib/mktime-internal.h: New file.
61707         * lib/mktime.c: Use it rather than open-coding a declaration.
61708         * lib/timegm.c: Likewise.
61709         * modules/mktime (Files): Ship it.
61710         * modules/timegm (Files): Likewise.
61711         Suggested by Bruno Haible.
61713         test-update-copyright: update test to match script changes
61714         * tests/test-update-copyright.sh: Avoid hard-coding perl
61715         location.  Don't update *.bak created by earlier runs.
61717 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
61718             Simon Josefsson  <simon@josefsson.org>
61719             Bruno Haible  <bruno@clisp.org>
61721         Fix link error on Solaris 8.
61722         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
61723         also in libnsl. Define also INET_PTON_LIB.
61724         * modules/inet_pton (Link): New section.
61726 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61727             Bruno Haible  <bruno@clisp.org>
61729         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
61730         * modules/inet_ntop (Link): New section.
61731         Reported by Boyan Kasarov <bkasarov@gmail.com>.
61733 2009-11-02  Eric Blake  <ebb9@byu.net>
61735         maint: avoid compiler warnings in m4 macros
61736         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
61737         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
61739 2009-11-02  Simon Josefsson  <simon@josefsson.org>
61741         * m4/pmccabe2html.m4: Remove file.
61742         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
61743         function.  Change maintainer.
61744         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
61745         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
61746         Courtès).
61748 2009-10-31  Eric Blake  <ebb9@byu.net>
61750         fseeko: fix m4 regression
61751         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
61752         regression from 2009-10-27.
61753         Reported by Ralf Wildenhues.
61755 2009-10-31  Jim Meyering  <meyering@redhat.com>
61757         inttostr: aesthetics and improved (compile-time) safety
61758         Define inttype_is_signed rather than inttype_is_unsigned,
61759         since the sole use is via "#if inttype_is_signed".
61760         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
61761         inttype_is_unsigned.
61762         * lib/offtostr.c (inttype_is_signed): Likewise.
61763         * lib/uinttostr.c (inttype_is_signed): Likewise.
61764         * lib/umaxtostr.c (inttype_is_signed): Likewise.
61765         * lib/inttostr.c (inttostr): Use verify to cross-check the
61766         inttype_is_signed value and the signedness of the actual type.
61767         * modules/inttostr (Depends-on): Add verify.
61769 2009-10-30  Eric Blake  <ebb9@byu.net>
61771         build: avoid compiler warnings
61772         * lib/fchmodat.c (lchmod): Mark unused variables.
61773         * lib/getopt.c (_getopt_initialize): Likewise.
61774         * lib/mktime.c (__mktime_internal): Provide prototype.
61775         * lib/inttostr.c (inttostr): Avoid compiler warning even with
61776         older gcc that do not understand #pragma GCC diagnostic.
61777         * lib/uinttostr.c (inttype_is_unsigned): Define.
61778         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
61780 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
61782         stat: fix compilation on AIX
61783         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
61784         only see struct stat64.
61786 2009-10-30  Eric Blake  <ebb9@byu.net>
61788         exclude: make more robust
61789         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
61790         rather than masking a coding bug.
61791         Suggested by Bruno Haible.
61793 2009-10-30  Jim Meyering  <meyering@redhat.com>
61795         perl scripts: remove #!/usr/bin/perl in favor of more portable...
61796         Rather than putting #!/usr/bin/perl on the first line,
61797         start with a variant of what's recommended by "man perlrun" that
61798         invokes the first "perl" program from your shell's search path.
61799         * build-aux/gitlog-to-changelog: Replace #!... as above.
61800         Add a "Local Variables" perl mode setting.
61801         Prompted by a patch from Ludovic Courtès.
61802         Improved by Eric Blake.
61803         * build-aux/useless-if-before-free: Likewise.
61804         * build-aux/announce-gen: Likewise.
61805         * build-aux/update-copyright: Likewise.
61807 2009-10-29  Eric Blake  <ebb9@byu.net>
61809         filenamecat-lgpl: adjust clients
61810         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
61811         filenamecat.
61812         * modules/renameat (Depends-on): Likewise.
61814         filenamecat: split into filenamecat-lgpl
61815         * modules/filenamecat-lgpl: New module.
61816         * modules/filenamecat (Files): Move library-safe files into
61817         filenamecat-lgpl.
61818         (Depends-on): Add filenamecat-lgpl.
61819         (configure.ac): Declare witness.
61820         * lib/filenamecat.h (file_name_concat): Only declare when using
61821         GPL module.
61822         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
61823         Move...
61824         * lib/filenamecat-lgpl.c: ...into new file.
61825         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
61826         (gl_FILE_NAME_CONCAT): Use it.
61827         * MODULES.html.sh (File system functions): Mention new module.
61829         argp: avoid memory leak
61830         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
61831         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
61832         base_name, since the latter malloc()s and can call exit().
61833         Leak introduced 2006-07-03.
61835         dirname-lgpl: adjust clients that don't need full dirname
61836         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
61837         * modules/filenamecat (Depends-on): Likewise.
61838         * modules/linkat (Depends-on): Likewise.
61839         * modules/mkancesdirs (Depends-on): Likewise.
61840         * modules/mkdir (Depends-on): Likewise.
61841         * modules/openat (Depends-on): Likewise.
61842         * modules/savewd (Depends-on): Likewise.
61843         * modules/rename (Depends-on): Likewise.
61844         (License): Relax license.
61845         * modules/mkdir-tests (Depends-on): Drop progname.
61846         (Makefile.am): Delete unneeded LDADD.
61847         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
61849         dirname: split into dirname-lgpl
61850         * modules/dirname-lgpl: New module.
61851         * modules/dirname (Files): Move library-safe files into
61852         dirname-lgpl.
61853         (Depends-on): Add dirname-lgpl.
61854         (configure.ac): Declare witness.
61855         * modules/double-slash-root (License): Relax license.
61856         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
61857         module.
61858         * lib/dirname.c (dir_len, mdir_name): Move...
61859         * lib/dirname-lgpl.c: ...into new file.
61860         * lib/basename.c (last_component, base_len): Move...
61861         * lib/basename-lgpl.c: ...into new file.
61862         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
61863         (gl_DIRNAME): Use it.
61864         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
61865         Mention new module.
61866         * modules/dirname-tests (Depends-on): Add progname.
61867         * tests/test-dirname.c (program_name): Delete.
61869         mkdir: make safe for libraries
61870         * modules/mkdir (Depends-on): Drop xalloc.
61871         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
61872         exit.
61874         tests: avoid some compiler warnings
61875         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
61876         literals.
61877         * tests/test-memchr.c (main): Avoid type mismatch.
61878         * tests/test-arpa_inet.c (main): Avoid unused parameters.
61879         * tests/test-base64.c (main): Likewise.
61880         * tests/test-getdelim.c (main): Likewise.
61881         * tests/test-gethostname.c (main): Likewise.
61882         * tests/test-getline.c (main): Likewise.
61883         * tests/test-netinet_in.c (main): Likewise.
61884         * tests/test-select.c (open_server_socket, main): Likewise.
61885         * tests/test-select-stdin.c (main): Likewise.
61886         * tests/test-sockets.c (main): Likewise.
61887         * tests/test-strsignal.c (main): Likewise.
61888         * tests/test-sys_select.c (main): Likewise.
61889         * tests/test-sys_socket.c (main): Likewise.
61890         * tests/test-u64.c (main): Likewise.
61891         * tests/test-xfprintf-posix.c (main): Likewise.
61892         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
61894         sockets: avoid compiler warning
61895         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
61897         maint: detect usage(1) and other suspicious exits
61898         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
61900 2009-10-29  Jim Meyering  <meyering@redhat.com>
61902         timespec: long-to-int truncation could make timespec_cmp malfunction
61903         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
61904         a multiple of 2^32 nanoseconds as no difference.
61906 2009-10-28  Jim Meyering  <meyering@redhat.com>
61908         fprintftime: wrap macro code argument in "do {...} while(0)"
61909         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
61910         cpy macro must be a statement that can be followed by a semicolon.
61911         Now that the else clause contains a comment and is hence longer
61912         than one line, I require curly braces.  That in turn requires
61913         that we wrap this code block in the standard do...while(0).
61915         fprintftime: remove stray semicolon from previous change
61916         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
61918         fprintftime: avoid a warning about ignored fwrite return value
61919         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
61920         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
61921         that is unsafe.
61922         * modules/fprintftime (Depends-on): Add ignore-value.
61924         exclude: avoid an unwarranted warning
61925         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
61927 2009-10-27  Eric Blake  <ebb9@byu.net>
61929         fseek: avoid compilation failure when fflush is replaced
61930         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
61931         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
61932         module is in use.
61933         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
61934         module is not in use; since REPLACE_FSEEK worked otherwise.
61935         (GNULIB_FTELLO): Likewise for ftell.
61936         Reported by Ian Beckwith and others.
61938 2009-10-27  Bruno Haible  <bruno@clisp.org>
61940         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
61941         Reported by Jim Meyering.
61943 2009-10-27  Jim Meyering  <jim@meyering.net>
61944             Bruno Haible  <bruno@clisp.org>
61946         Avoid warning despite dropping the return value of fwrite.
61947         * lib/unicodeio.c: Include ignore-value.h.
61948         (fwrite_success_callback): Explicitly ignore fwrite's return value.
61949         * modules/unicodeio (Depends-on): Add ignore-value.
61951 2009-10-26  Eric Blake  <ebb9@byu.net>
61953         areadlinkat: fix fallback path
61954         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
61955         pointer and zero.
61957 2009-10-22  Pádraig Brady  <P@draigBrady.com>
61959         Use a better IO block size for modern systems
61960         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
61961         * lib/md2.c: Likewise.
61962         * lib/md4.c: Likewise.
61963         * lib/md5.c: Likewise.
61964         * lib/sha1.c: Likewise.
61965         * lib/sha256.c: Likewise.
61966         * lib/sha512.c: Likewise.
61968 2009-10-22  Eric Blake  <ebb9@byu.net>
61970         tests: avoid several compiler warnings
61971         * tests/test-getcwd.c (main): Avoid buffer underflow.
61972         * tests/test-getdate.c (main): String literals are not safe with
61973         putenv, so use setenv.  Declare unused argument.
61974         * modules/getdate-tests (Depends-on): Add setenv.
61975         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
61976         problems with string literals in char *.
61977         * tests/test-hash.c (main): Avoid shadowing declaration.
61978         (insert_new): Treat string literals as char const *.
61979         * tests/test-getopt.h (test_getopt): Likewise.
61980         (getopt_loop): Alter types to minimize casting elsewhere.
61981         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
61982         (test_getopt_long_posix): Likewise.
61983         (do_getopt_long): Add wrapper to minimize casting.
61984         * tests/test-atexit.c (clear_temp_file): Use void.
61985         * tests/test-areadlink-with-size.c (main): Declare unused
61986         arguments.
61987         * tests/test-areadlink.c (main): Likewise.
61988         * tests/test-areadlinkat-with-size.c (main): Likewise.
61989         * tests/test-areadlinkat.c (main): Likewise.
61990         * tests/test-canonicalize-lgpl.c (main): Likewise.
61991         * tests/test-canonicalize.c (main): Likewise.
61992         * tests/test-dirent-safer.c (main): Likewise.
61993         * tests/test-dirname.c (main): Likewise.
61994         * tests/test-dup2.c (main): Likewise.
61995         * tests/test-fchdir.c (main): Likewise.
61996         * tests/test-fcntl-h.c (main): Likewise.
61997         * tests/test-fcntl-safer.c (main): Likewise.
61998         * tests/test-fdopendir.c (main): Likewise.
61999         * tests/test-fdutimensat.c (main): Likewise.
62000         * tests/test-fflush.c (main): Likewise.
62001         * tests/test-filenamecat.c (main): Likewise.
62002         * tests/test-filevercmp.c (main): Likewise.
62003         * tests/test-fopen-safer.c (main): Likewise.
62004         * tests/test-fopen.c (main): Likewise.
62005         * tests/test-fpending.c (main): Likewise.
62006         * tests/test-fpurge.c (main): Likewise.
62007         * tests/test-freading.c (main): Likewise.
62008         * tests/test-fstatat.c (main): Likewise.
62009         * tests/test-fsync.c (main): Likewise.
62010         * tests/test-futimens.c (main): Likewise.
62011         * tests/test-getndelim2.c (main): Likewise.
62012         * tests/test-gettimeofday.c (main): Likewise.
62013         * tests/test-getopt.c (main): Likewise.
62014         * tests/test-i-ring.c (main): Likewise.
62015         * tests/test-inttypes.c (main): Likewise.
62016         * tests/test-link.c (main): Likewise.
62017         * tests/test-lstat.c (main): Likewise.
62018         * tests/test-math.c (main): Likewise.
62019         * tests/test-md5.c (main): Likewise.
62020         * tests/test-memchr2.c (main): Likewise.
62021         * tests/test-memrchr.c (main): Likewise.
62022         * tests/test-mkdir.c (main): Likewise.
62023         * tests/test-mkdirat.c (main): Likewise.
62024         * tests/test-mkfifoat.c (main): Likewise.
62025         * tests/test-open.c (main): Likewise.
62026         * tests/test-openat-safer.c (main): Likewise.
62027         * tests/test-openat.c (main): Likewise.
62028         * tests/test-quotearg.c (main): Likewise.
62029         * tests/test-rawmemchr.c (main): Likewise.
62030         * tests/test-readlink.c (main): Likewise.
62031         * tests/test-remove.c (main): Likewise.
62032         * tests/test-rename.c (main): Likewise.
62033         * tests/test-renameat.c (main): Likewise.
62034         * tests/test-rmdir.c (main): Likewise.
62035         * tests/test-sha1.c (main): Likewise.
62036         * tests/test-signal.c (main): Likewise.
62037         * tests/test-sigaction.c (main): Likewise.
62038         * tests/test-stat.c (main): Likewise.
62039         * tests/test-stat-time.c (main): Likewise.
62040         * tests/test-stddef.c (main): Likewise.
62041         * tests/test-stdint.c (main): Likewise.
62042         * tests/test-stdio.c (main): Likewise.
62043         * tests/test-stdlib.c (main): Likewise.
62044         * tests/test-strchrnul.c (main): Likewise.
62045         * tests/test-strerror.c (main): Likewise.
62046         * tests/test-string.c (main): Likewise.
62047         * tests/test-strtod.c (main): Likewise.
62048         * tests/test-strverscmp.c (main): Likewise.
62049         * tests/test-symlink.c (main): Likewise.
62050         * tests/test-symlinkat.c (main): Likewise.
62051         * tests/test-sys_stat.c (main): Likewise.
62052         * tests/test-sys_time.c (main): Likewise.
62053         * tests/test-time.c (main): Likewise.
62054         * tests/test-unistd.c (main): Likewise.
62055         * tests/test-unlink.c (main): Likewise.
62056         * tests/test-unlinkat.c (main): Likewise.
62057         * tests/test-utimens.c (main): Likewise.
62058         * tests/test-utimensat.c (main): Likewise.
62059         * tests/test-version-etc.c (main): Likewise.
62060         * tests/test-wchar.c (main): Likewise.
62061         * tests/test-wctype.c (main): Likewise.
62062         * tests/test-xprintf-posix.c (main): Likewise.
62063         * tests/test-posixtm.c (main): Likewise.
62064         (STREQ): Delete unused macro.
62065         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
62066         shadowed variables.
62067         * tests/test-memchr.c (main): Likewise.
62069 2009-10-21  Eric Blake  <ebb9@byu.net>
62071         areadlinkat: avoid failure on older glibc
62072         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
62073         rather than mis-comparing 0 against FUNC_RESULT of char*.
62075 2009-10-21  Bruno Haible  <bruno@clisp.org>
62077         * modules/stpncpy (License): Relicense under LGPLv2+.
62078         Reported by David Lutterkort <lutter@redhat.com>.
62080 2009-10-20  Eric Blake  <ebb9@byu.net>
62082         utimensat: work around Solaris 9 bug
62083         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
62084         has trailing slash bugs.
62085         * tests/test-lutimens.h (test_lutimens): Enhance test.
62086         * tests/test-utimens.h (test_utimens): Likewise.
62087         * doc/posix-functions/utime.texi (utime): Enhance documentation.
62088         * doc/posix-functions/utimes.texi (utimes): Likewise.
62089         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62090         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
62091         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
62092         * doc/posix-functions/futimens.texi (futimens): Likewise.
62094         fdutimensat: new module
62095         * modules/fdutimensat: New file.
62096         * lib/fdutimensat.c (fdutimensat): Likewise.
62097         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
62098         * MODULES.html.sh (File system functions): Mention module.
62099         * modules/fdutimensat-tests: New test.
62100         * tests/test-fdutimensat.c: Likewise.
62102         doc: regenerate INSTALL
62103         * doc/INSTALL: Reflect recent autoconf update.
62104         * doc/INSTALL.ISO: Likewise.
62105         * doc/INSTALL.UTF-8: Likewise.
62107 2009-10-20  Pádraig Brady  <P@draigBrady.com>
62109         acl: warn if ACL support is not detected
62110         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
62112 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
62114         * lib/nproc.h: Add extern "C" block for C++.
62116 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
62117             Bruno Haible  <bruno@clisp.org>
62119         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
62120         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
62121         * doc/posix-functions/isalpha.texi: Likewise.
62122         * doc/posix-functions/isblank.texi: Likewise.
62123         * doc/posix-functions/iscntrl.texi: Likewise.
62124         * doc/posix-functions/isdigit.texi: Likewise.
62125         * doc/posix-functions/isgraph.texi: Likewise.
62126         * doc/posix-functions/islower.texi: Likewise.
62127         * doc/posix-functions/isprint.texi: Likewise.
62128         * doc/posix-functions/ispunct.texi: Likewise.
62129         * doc/posix-functions/isspace.texi: Likewise.
62130         * doc/posix-functions/isupper.texi: Likewise.
62131         * doc/posix-functions/isxdigit.texi: Likewise.
62133 2009-10-18  Bruno Haible  <bruno@clisp.org>
62135         Tests for module 'isblank'.
62136         * modules/isblank-tests: New file.
62137         * tests/test-isblank.c: New file.
62139         New module 'isblank'.
62140         * lib/isblank.c: New file.
62141         * m4/isblank.m4: New file.
62142         * modules/isblank: New file.
62143         * doc/posix-functions/isblank.texi: Mention the new module.
62145 2009-10-18  Bruno Haible  <bruno@clisp.org>
62147         New module 'ctype'.
62148         * lib/ctype.in.h: New file.
62149         * m4/ctype.m4: New file.
62150         * modules/ctype: New file.
62151         * doc/posix-headers/ctype.texi: Mention the new module.
62153 2009-10-18  Jim Meyering  <meyering@redhat.com>
62155         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
62156         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
62157         right after its initialization, rather than farther down.
62158         Keeping these in close proximity makes it easier to ensure
62159         that each such variable is initialized.  E.g.,
62161             LIB_CLOCK_GETTIME=
62162             AC_SUBST([LIB_CLOCK_GETTIME])
62164         This change also increments these serial numbers.
62165         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
62166         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62167         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62169 2009-10-18  Bruno Haible  <bruno@clisp.org>
62171         Don't let environment variables perturb build.
62172         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
62173         (gl_PREREQ_GETHRXTIME): ... not here.
62175 2009-10-18  Bruno Haible  <bruno@clisp.org>
62177         Avoid symlink attack in localcharset module.
62178         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
62179         (O_NOFOLLOW): Define fallback.
62180         (get_charset_aliases): Don't open the file if it is a symbolic link.
62181         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
62182         gl_FCNTL_H.
62183         (gl_FCNTL_H): Require it.
62184         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
62185         * modules/localcharset (Files): Add m4/fcntl_h.m4.
62186         Reported by Fergal Glynn <fglynn@veracode.com>.
62188 2009-10-18  Bruno Haible  <bruno@clisp.org>
62190         Implement nproc for mingw.
62191         * lib/nproc.c: Include <windows.h>
62192         (num_processors): On native Windows platforms, try GetSystemInfo.
62194 2009-10-18  Bruno Haible  <bruno@clisp.org>
62196         Implement nproc for IRIX.
62197         * lib/nproc.c: Include <sys/sysmp.h>.
62198         (num_processors): On IRIX systems, try sysmp.
62199         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
62201 2009-10-18  Bruno Haible  <bruno@clisp.org>
62203         Implement nproc for HP-UX.
62204         * lib/nproc.c: Include <sys/pstat.h>
62205         (num_processors): On HP-UX systems, try pstat_getdynamic.
62206         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
62207         pstat_getdynamic.
62209 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
62210             Bruno Haible  <bruno@clisp.org>
62212         Implement nproc for NetBSD, OpenBSD.
62213         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
62214         (ARRAY_SIZE): New macro.
62215         (num_processors): On BSD systems, try sysctl of HW_NCPU.
62216         * m4/nproc.m4: New file.
62217         * modules/nproc (Files): Add m4/nproc.m4.
62218         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
62219         (Makefile.am): Instead, augment lib_SOURCES.
62221 2009-10-18  Bruno Haible  <bruno@clisp.org>
62223         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
62224         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
62225         sys/param.h.
62227 2009-10-16  Eric Blake  <ebb9@byu.net>
62229         utimensat: new module
62230         * modules/utimensat: New file.
62231         * lib/utimensat.c (utimensat): Likewise.
62232         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62233         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
62234         so we can work around Linux bugs.
62235         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62236         * modules/sys_stat (Makefile.am): Substitute them.
62237         * lib/sys_stat.in.h (utimensat): Declare it.
62238         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62239         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62240         * modules/utimensat-tests: New test.
62241         * tests/test-utimensat.c: Likewise.
62243         utimens: let lutimens work on non-symlinks
62244         * lib/utimens.c (lutimens): Fall back to utimens rather than
62245         failing with ENOSYS, when file is not a symlink.
62246         (utimens): Reduce redirection.
62247         * tests/test-lutimens.h (test_lutimens): Update test to cover
62248         non-symlinks.
62249         * tests/test-utimens.h (test_utimens): Update test to cover
62250         symlinks.
62251         * tests/test-utimens.c (main): Update caller.
62253         utimens: cache whether utimensat syscall works
62254         * lib/utimens.c (utimensat_works_really): New cache variable.
62255         (fdutimens, lutimens): Use it to avoid failing syscall.
62257         test-stat-time, test-utimens: improve portability
62258         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
62259         ext4 on alpha, and for cygwin.
62260         * tests/test-utimens-common.h: New file.
62261         (nap): Factor delays into single function.
62262         * tests/test-lutimens.h (test_lutimens): Use new header.
62263         * tests/test-futimens.h (test_futimens): Likewise.
62264         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
62265         timestamps to occur from same machine, as was done previously for
62266         test_utimens.
62267         * modules/utimens-tests (Files): Ship new file.
62268         * modules/futimens-tests (Files): Likewise.
62269         Reported in part by Jim Meyering.
62271         sys_stat: sort replacement declarations
62272         * lib/sys_stat.in.h: Sort declarations.
62273         * lib/futimens.c (futimens): Fix typo.
62275 2009-10-15  Jim Meyering  <meyering@redhat.com>
62277         don't let environment settings perturb build
62278         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
62279         could cause a configure-time and/or build-time malfunction.
62280         Typically, a configure-time function-in-library test is performed
62281         via code like this:
62283           LIB_VAR=
62284           AC_SUBST([LIB_VAR])
62285           prefix_saved_LIBS=$LIBS
62286             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
62287                        [test "$ac_cv_search_FUNC" = "none required" ||
62288                         LIB_VAR=$ac_cv_search_FUNC])
62289           LIBS=$prefix_saved_LIBS
62291         However, in each of the files affected by this change, the LIB_VAR=
62292         initialization was omitted.  Thus, when set in the environment, its
62293         value would propagate into generated Makefiles when FUNC is not found
62294         in LIB_NAME.
62295         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
62296         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
62297         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62299 2009-10-14  Eric Blake  <ebb9@byu.net>
62301         fchdir: avoid infinite recursion in mingw
62302         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
62303         recursing.
62305         test-stat-time: port to mingw
62306         * tests/test-stat-time.c (force_unlink): Return a value.
62307         (test_ctime) [W32]: Fix compilation error.
62308         (nap): Don't call usleep with too large an argument.  Use
62309         force_unlink.
62310         * doc/pastposix-functions/usleep.texi (usleep): Document the
62311         portability issue.
62313 2009-10-13  Jim Meyering  <meyering@redhat.com>
62315         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
62316         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
62317         * modules/pipe-filter-ii: Likewise.
62318         * modules/sys_socket-tests: Likewise.
62319         * modules/tsearch-tests: Likewise.
62320         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
62321         (check): Depend on it.
62323 2009-10-12  Eric Blake  <ebb9@byu.net>
62325         utimens-tests: port to NFS file systems
62326         * tests/test-utimens.h (test_utimens): Refactor utimecmp
62327         comparisons to avoid spurious failures from timestamp drift
62328         between NFS machines.
62330 2009-10-12  Eric Blake  <ebb9@byu.net>
62332         stat-time-tests: minor cleanups
62333         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
62334         * tests/test-stat-time.c (nap): Separate assignment from call.
62335         Suggested by Paolo Bonzini and Bruno Haible.
62337         sys_stat: guarantee struct timespec
62338         * lib/sys_stat.in.h (includes): Always include <time.h>
62339         * modules/sys_stat (Depends-on): Add time.
62340         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
62341         mode_t permission values.
62342         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
62343         get at subsecond timestamps.
62345 2009-10-10  Eric Blake  <ebb9@byu.net>
62347         futimens: new module
62348         * modules/futimens: New file.
62349         * lib/futimens.c (futimens): Likewise.
62350         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
62351         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
62352         we can work around Linux bugs.
62353         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
62354         * modules/sys_stat (Makefile.am): Substitute them.
62355         * lib/sys_stat.in.h (futimens): Declare it.
62356         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62357         * doc/posix-functions/futimens.texi (futimens): Likewise.
62358         * modules/futimens-tests: New test.
62359         * tests/test-futimens.c: Likewise.
62361         utimens: introduce fdutimens
62362         * lib/utimens.h (fdutimens): New prototype.
62363         * lib/utimens.c (gl_futimens): Move guts...
62364         (fdutimens): ...to new interface.
62365         * tests/test-utimens.c (do_fdutimens): Use it.
62367         utimens: add UTIME_NOW and UTIME_OMIT support
62368         * lib/utimens.c (validate_timespec, update_timespec): New helper
62369         functions.
62370         (gl_futimens, lutimens): Use them.
62371         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
62372         stdbool, sys_stat.
62373         (Link): Mention resulting library dependency.
62374         * modules/utimecmp (Link): Likewise.
62375         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
62376         (Makefile.am): Pick up library dependency.
62377         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
62378         definition.
62379         * tests/test-sys_stat.c: Test the definitions.
62380         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
62381         * NEWS: Document library dependency.
62383         utimecmp: support symlink timestamps
62384         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
62385         hashing when possible.  Use pathconf when available.
62386         (SYSCALL_RESOLUTION): Recognize tighter resolution.
62387         * modules/utimecmp (Depends-on): Add lstat.
62389         utimens: add lutimens interface
62390         * lib/utimens.c (lutimens): New function.
62391         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
62392         * lib/utimens.h (lutimens): Declare new interface.
62393         * tests/test-utimens.c (main): Enhance test.
62394         * tests/test-lutimens.h (test_lutimens): New file.
62395         * modules/utimens-tests (Files): Distribute it.
62396         (Depends-on): Add symlink.
62397         (configure.ac): Check for usleep.
62399         utimens: validate futimens usage
62400         * lib/utimens.c (gl_futimens): Require valid fd up front, using
62401         fewer syscalls on failure later on.  Avoid compiler warning on
62402         mingw.
62403         * modules/utimens (Depends-on): Add dup2.
62405         utimens: add test
62406         * modules/utimens-tests: New test.
62407         * tests/test-utimens.h: New file.
62408         * tests/test-futimens.h: Likewise.
62409         * tests/test-utimens.c: Likewise.
62411         doc: mention timestamp portability issues
62412         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
62413         instead.
62414         * doc/posix-functions/utime.texi (utime): Likewise.
62415         * doc/posix-functions/utimes.texi (utimes): Likewise.
62416         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
62417         instead.
62418         * doc/posix-functions/futimens.texi (futimens): Mention utimens
62419         module.
62420         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
62421         Mention weakness with symlink timestamps.
62422         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
62423         to utimensat/futimens instead.
62424         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
62426         test-dup2: enhance test
62427         * tests/test-dup2.c (main): Also check AT_FDCWD.
62429         test-stat-time: avoid more spurious failures
62430         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
62431         xfs; and avoid race if the two timestamps cross quantization edge.
62433         relocatable: prefer 'file system' over 'filesystem'
62434         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
62435         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
62436         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
62437         * doc/relocatable.texi (Enabling Relocatability): Likewise.
62438         * lib/relocatable.c (compute_curr_prefix): Likewise.
62440 2009-10-10  Jim Meyering  <meyering@redhat.com>
62442         stat-time-tests: check for the usleep function
62443         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
62445 2009-10-10  Bruno Haible  <bruno@clisp.org>
62447         * modules/xnanosleep: Put the Link section after the Include section.
62449 2009-10-09  Eric Blake  <ebb9@byu.net>
62451         dup2: work around FreeBSD 6.1 bug
62452         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
62453         * doc/posix-functions/dup2.texi (dup2): Document it.
62454         Reported by Nelson H. F. Beebe and Jim Meyering.
62456         test-stat-time: port to buggy NFS clients
62457         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
62458         (test_ctime): Also skip test if mtime and ctime are skewed.
62460         maint: prefer 'file system' over 'filesystem'
62461         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
62462         * doc/posix-functions/lstat.texi (lstat): Likewise.
62463         * lib/file-has-acl.c (file_has_acl): Likewise.
62464         * lib/fwriteerror.c [TEST]: Likewise.
62465         * tests/test-areadlink.h (test_areadlink): Likewise.
62466         * tests/test-areadlinkat-with-size.c (main): Likewise.
62467         * tests/test-areadlinkat.c (main): Likewise.
62468         * tests/test-canonicalize-lgpl.c (main): Likewise.
62469         * tests/test-canonicalize.c (main): Likewise.
62470         * tests/test-fstatat.c (main): Likewise.
62471         * tests/test-linkat.c (main): Likewise.
62472         * tests/test-lstat.h (test_lstat_func): Likewise.
62473         * tests/test-mkdir.h (test_mkdir): Likewise.
62474         * tests/test-readlink.h (test_readlink): Likewise.
62475         * tests/test-remove.c (main): Likewise.
62476         * tests/test-rename.h (test_rename): Likewise.
62477         * tests/test-renameat.c (main): Likewise.
62478         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62479         * tests/test-symlink.h (test_symlink): Likewise.
62480         * tests/test-symlinkat.c (main): Likewise.
62481         * tests/test-unlink.h (test_unlink_func): Likewise.
62482         * tests/test-unlinkat.c (main): Likewise.
62484         maint: make realtime library usage explicit
62485         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
62486         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
62487         * modules/settime (Link): Likewise.
62488         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
62490         test-stat-time: speed up execution
62491         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
62492         warning on mingw.
62493         (nap): New helper function.
62494         (prepare_test): Use it to reduce sleep time.
62495         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
62496         execution.
62497         * modules/stat-time-tests (configure.ac): Check for usleep.
62499 2009-10-09  Jim Meyering  <meyering@redhat.com>
62501         selinux-h: always use getfilecon wrappers
62502         * lib/getfilecon.c: New file.
62503         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
62504         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
62505         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
62506         (fgetfilecon): Provide a stub.
62507         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
62508         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
62509         file unconditionally.
62510         When <selinux/selinux.h> is found, arrange to use wrappers.
62511         * modules/selinux-h (Files): Add getfilecon.c.
62512         (Makefile.am): Substitute include-next-related bits
62513         into the now-always-generated selinux/selinux.h file.
62514         * doc/glibc-functions/lgetfilecon.texi: New file.
62515         * doc/glibc-functions/fgetfilecon.texi: New file.
62516         * doc/glibc-functions/getfilecon.texi: New file.
62517         * doc/glibc-functions/getfilecon-desc.texi: New file.
62518         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
62519         which to pull in the new files.
62520         * MODULES.html.sh (Misc): Add selinux-h.
62522 2009-10-08  Jim Meyering  <meyering@redhat.com>
62524         unistd: fix comment typo
62525         * lib/unistd.in.h (euidaccess): Fix a comment typo.
62527 2009-10-08  Eric Blake  <ebb9@byu.net>
62529         areadlink: use SIZE_MAX consistently
62530         * modules/areadlink (Depends-on): Add stdint.
62531         * modules/areadlink-with-size (Depends-on): Likewise.
62532         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
62533         gives NULL; drop sys/types, since unistd gives size_t; and add
62534         stdint for SIZE_MAX.
62535         (SIZE_MAX): Rely on headers.
62536         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
62537         and add stdint.
62538         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
62539         (SIZE_MAX): Likewise.
62540         (INITIAL_BUF_SIZE): Turn into enum.
62541         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
62543 2009-10-08  Jim Meyering  <meyering@redhat.com>
62545         areadlinkat: avoid compilation failure
62546         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
62547         Fix typo in comment.
62549 2009-10-07  Eric Blake  <ebb9@byu.net>
62551         areadlinkat-with-size: new module
62552         * modules/areadlinkat-with-size: New module.
62553         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
62554         * lib/areadlink.h (areadlinkat): Declare it.
62555         * MODULES.html.sh (File system functions): Mention it.
62556         * modules/areadlinkat-with-size-tests: New test.
62557         * tests/test-areadlinkat-with-size.c: New file.
62559         xreadlinkat: new module
62560         * modules/xreadlinkat: New module.
62561         * lib/xreadlinkat.c (xreadlinkat): New file.
62562         * lib/xreadlink.h (xreadlinkat): Declare it.
62563         * MODULES.html.sh (File system functions): Mention it.
62565         areadlinkat: new module
62566         * lib/at-func.c (FUNC_FAIL): New define.
62567         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
62568         * modules/areadlinkat: New module.
62569         * lib/linkat.c (areadlinkat): Move...
62570         * lib/areadlinkat.c (areadlinkat): ...to new file.
62571         * lib/areadlink.h (areadlinkat): Declare it.
62572         * modules/linkat (Depends-on): Add areadlinkat.
62573         * MODULES.html.sh (File system functions): Mention it.
62574         * modules/areadlinkat-tests: New test.
62575         * tests/test-areadlinkat.c: New file.
62577         areadlink, areadlink-with-size: add tests
62578         * modules/areadlink-tests: New test.
62579         * modules/areadlink-with-size-tests: Likewise.
62580         * tests/test-areadlink.h: New file.
62581         * tests/test-areadlink.c: Likewise.
62582         * tests/test-areadlink-with-size.c: Likewise.
62584         maint: minor cleanups
62585         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
62586         _UNUSED_PARAMETER_ instead.
62587         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
62588         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
62589         * modules/linkat-tests (Files): Distribute test-link.h.
62591         openat, utimens: whitespace cleanup
62592         * lib/openat.c: Prefer space throughout, rather than mix of 8
62593         spaces vs. tabs.
62594         * lib/at-func.c: Likewise.
62595         * lib/utimens.c: Likewise.
62597         openat: avoid using wrong fd
62598         * lib/openat.c (openat_permissive): Reject user's fd if saving the
62599         working directory chooses same fd.
62600         * lib/at-func.c (AT_FUNC_NAME): Likewise.
62602         mkdir, mkdirat: fix cygwin 1.5.x bug
62603         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
62604         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
62605         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
62606         bug.
62607         (gl_PREREQ_MKDIR): Delete unused macro.
62608         * modules/mkdir (Files): Track file rename.
62609         (configure.ac): Update macro name.
62610         * modules/openat (Depends-on): Add mkdir.
62611         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
62613         mkdir, mkdirat: add tests
62614         * modules/mkdir-tests: New test.
62615         * tests/test-mkdir.h: New file.
62616         * tests/test-mkdir.c: Likewise.
62617         * tests/test-mkdirat.c: Likewise.
62618         * modules/openat-tests (Files): Add new files.
62619         (Makefile.am): Run new test.
62621 2009-10-06  Eric Blake  <ebb9@byu.net>
62623         doc: tweak *at function documentation
62624         * doc/posix-functions/faccessat.texi (faccessat): Mention
62625         known issue with replacement.
62626         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
62627         * doc/posix-functions/linkat.texi (linkat): Likewise.
62628         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
62629         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
62630         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
62631         * doc/posix-functions/renameat.texi (renameat): Likewise.
62632         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
62634         openat: fix GNU/Hurd bug in unlinkat
62635         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
62636         broken.
62637         * doc/posix-functions/unlink.texi (unlink): Document this.
62638         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
62640         fdopendir: fix GNU/Hurd bug
62641         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
62642         allowing non-directory fds.
62643         * lib/fdopendir.c (rpl_fdopendir): Work around it.
62644         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
62645         * modules/dirent (Makefile.am): Substitute it.
62646         * lib/dirent.in.h (fdopendir): Declare replacement.
62647         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
62648         * tests/test-fdopendir.c (main): Test something other than
62649         /dev/null, since on Hurd that behaves like a directory.
62651         test-symlink: port to GNU/Hurd
62652         * tests/test-symlink.h (test_symlink): Relax expected errno.
62654         doc: tweak more cygwin information
62655         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
62656         now compatible with glibc.
62657         * doc/posix-functions/getopt.texi (getopt): Likewise.
62659         getopt-gnu: add another test
62660         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
62661         guarantee behavior relied on by m4.
62662         * tests/test-getopt.c (main): Use it.
62663         * modules/getopt-posix-tests (Depends-on): Add setenv.
62664         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
62666         getopt: fix compilation on darwin
62667         * lib/getopt.in.h (includes): Leave breadcrumbs during system
62668         include.
62669         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
62670         Reported by Ludovic Courtès.
62672 2009-10-06  Bruno Haible  <bruno@clisp.org>
62674         * modules/size_max (Description): Discourage its use.
62675         Reported by Simon Josefsson.
62677 2009-10-06  Jim Meyering  <meyering@redhat.com>
62679         linkat: avoid compilation failure
62680         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
62682 2009-10-05  Eric Blake  <ebb9@byu.net>
62684         linkat: support Linux 2.6.17
62685         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
62686         linkat on Linux, but allow cache variable override.
62687         * lib/linkat.c (rpl_linkat): Define override.
62688         * modules/linkat (Depends-on): Add symlinkat.
62689         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
62690         * modules/unistd (Makefile.am): Substitute it.
62691         * lib/unistd.in.h (linkat): Declare replacement.
62692         Reported by Pádraig Brady.
62694         quotearg: port test to systems with C.UTF-8 locale
62695         * tests/test-quotearg.c (struct result_strings): Add another
62696         member, differentiating between C.ASCII and C.UTF-8 handling.
62697         (compare_strings): Add parameter.
62698         (main): Adjust all callers.
62700         getopt: avoid clash with FreeBSD _getopt_internal
62701         * lib/getopt.in.h (_getopt_internal): Override the name.
62702         * lib/getopt_int.h (includes): Pick up any overrides.
62703         Reported by Reuben Thomas.
62705         hash: allow C89 compilation
62706         * lib/hash.c (check_tuning): Move declaration before statement.
62707         Reported by Reuben Thomas.
62709 2009-10-05  Karl Berry  <karl@gnu.org>
62711         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
62713 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
62714             Bruno Haible  <bruno@clisp.org>
62716         * lib/uname.c (uname): Use a table-driven algorithm to compute
62717         Windows NT versions.
62719 2009-10-04  Bruno Haible  <bruno@clisp.org>
62721         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
62722         program_invocation_short_name.
62723         * modules/progname (configure.ac): Test for presence of
62724         program_invocation_short_name.
62725         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
62727 2009-10-04  Bruno Haible  <bruno@clisp.org>
62729         * lib/progname.c (set_program_name): Fix comment.
62730         Reported by Jim Meyering.
62732 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62733             Bruno Haible  <bruno@clisp.org>
62735         * lib/uname.c: Include <string.h>.
62736         (uname): Do only one call to GetVersionEx in the common case.
62738 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
62739             Bruno Haible  <bruno@clisp.org>
62741         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
62742         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
62743         (uname): Add support for Windows CE and various non-x86 CPU types.
62745 2009-10-03  Bruno Haible  <bruno@clisp.org>
62747         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
62748         invocation to tests/configure.ac.
62749         Reported by Ian Beckwith <ianb@erislabs.net>.
62751 2009-10-02  Eric Blake  <ebb9@byu.net>
62753         fchdir: avoid compiler warning
62754         * lib/fchdir.c (canonicalize_file_name)
62755         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
62757         test-open: support mingw errno values
62758         * tests/test-open.h (test_open): Relax test.
62759         * tests/test-fopen.h (test_fopen): Likewise.
62760         * tests/test-openat-safer.c (main): Likewise.
62762         open: fix opening directory on mingw
62763         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
62765         test-open: on GNU/Hurd, /dev/null is a directory
62766         * tests/test-fopen.h (main): Rename...
62767         (test_fopen): ...to this.  Use a guaranteed non-directory when
62768         confirming open behavior on trailing slash.
62769         * tests/test-openat-safer.c (main): Likewise.
62770         * tests/test-open.h (main): Likewise....
62771         (test_open): ...to this.
62772         * tests/test-fopen.c (main): Adjust caller.
62773         * tests/test-fopen-safer.c (main): Likewise.
62774         * tests/test-open.c (main): Likewise.
62775         * tests/test-fcntl-safer.c (main): Likewise.
62776         Reported by Samuel Thibault.
62778         rename, fchdir: don't ignore chdir failure
62779         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
62780         * lib/rename.c (rpl_rename) [W32]: Likewise.
62781         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
62782         an empty destination directory if source cannot be renamed,
62783         although there is still possibility for failure.
62784         * doc/posix-functions/rename.texi (rename): Document the race.
62785         Reported by Jim Meyering.
62787         maint: cleanup whitespace in recent commits
62788         * lib/rename.c (rpl_rename): Remove tabs.
62789         * tests/test-link.h (test_link): Likewise.
62790         * lib/fchdir.c (get_name): Likewise.
62791         Reported by Jim Meyering.
62793 2009-10-02  Ben Pfaff  <blp@gnu.org>
62795         relocatable-prog-wrapper: Add missing dependency on
62796         double-slash-root.
62797         * modules/relocatable-prog-wrapper: Add dependency.
62798         Reported by Ian Beckwith <ianb@erislabs.net>.
62800 2009-10-02  Eric Blake  <ebb9@byu.net>
62802         renameat: fix Solaris bugs
62803         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
62804         needed fixing.
62805         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
62806         * modules/stdio (Makefile.am): Substitute it.
62807         * lib/stdio.in.h (renameat): Declare replacement.
62808         * lib/renameat.c (rpl_renameat): Implement fix.
62810         renameat: new module
62811         * modules/renameat: New file.
62812         * lib/renameat.c (renameat): Likewise.
62813         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
62814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
62815         * modules/stdio (Makefile.am): Substitute them.
62816         * lib/stdio.in.h (renameat): Declare it.
62817         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
62818         * doc/posix-functions/renameat.texi (renameat): Likewise.
62819         * modules/renameat-tests: New test.
62820         * tests/test-renameat.c: Likewise.
62822         rename: fix mingw bugs
62823         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
62824         directory overwrite bugs.
62826         rename: fix another cygwin 1.5 bug
62827         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
62828         checks.
62829         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
62830         unnecessary cygwin workarounds.  Also work around bug with moving
62831         full directory onto an empty one.
62832         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
62834         rename-dest-slash: merge into rename module
62835         * modules/rename-dest-slash (Status): Mark obsolete.
62836         (Depends-on): Add rename.
62837         (Files): Let rename do it all.
62838         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
62839         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
62840         * m4/rename-dest-slash.m4: ...so this file can be deleted.
62841         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
62842         * lib/rename.c (rpl_rename): Update comments.
62844         rename: fix cygwin 1.5.x bugs
62845         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
62846         * lib/rename.c (rpl_rename): Work around them.
62847         * modules/rename (Depends-on): Add same-inode.
62849         rename: fix Solaris 10 bug
62850         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62851         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
62852         was the only bug.
62854         rename: fix Solaris 9 bug
62855         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
62856         on non-directory.  Avoid calling exit.
62857         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
62858         strdup.
62859         * modules/rename-tests (Depends-on): Drop lstat.
62860         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
62861         (gl_PREREQ_RENAME): Delete unused macro.
62863         rename-dest-slash: fix NetBSD bug
62864         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
62865         links.
62866         * modules/rename-dest-slash (Depends-on): Add same-inode.
62868         rename-tests: new test, exposes several platform bugs
62869         * modules/rename-tests: New file.
62870         * tests/test-rename.h: Likewise.
62871         * tests/test-rename.c: Likewise.
62872         * doc/posix-functions/rename.texi (rename): Improve documentation,
62873         including bugs that will eventually be fixed in gnulib.
62875 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
62877         * lib/uname.c: Include <stdlib.h>
62878         (uname): Assume version info is available.
62880 2009-10-02  Jim Meyering  <meyering@redhat.com>
62882         gnu-web-doc-update: correct --help output
62883         * build-aux/gnu-web-doc-update: Make --help output relevant.
62885         gnu-web-doc-update: add standard options
62886         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
62888         gnu-web-doc-update: New module.
62889         Use this script to automatically update the on-line web documentation
62890         for your GNU project at http://www.gnu.org/software/$pkg/manual/
62891         * modules/gnu-web-doc-update: New file, from coreutils.
62892         * build-aux/gnu-web-doc-update: New script.
62894 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
62896         link: LoadLibrary is not needed.
62897         * lib/link.c: Use GetModuleHandle.
62899 2009-10-01  Eric Blake  <ebb9@byu.net>
62901         getopt: bump serial number
62902         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
62903         change.
62905         tests: tighten link, rmdir, and remove tests
62906         * tests/test-link.h (includes): No need to use <config.h> here.
62907         Clean up if directory hard link was created, otherwise test for
62908         trailing '.'.
62909         * tests/test-linkat.c (main): Simplify.
62910         * tests/test-remove.c (main): Enhance test for trailing '.'.
62911         * tests/test-rmdir.h (test_rmdir_func): Likewise.
62913 2009-10-01  Jim Meyering  <meyering@redhat.com>
62915         maint.mk: requiring "make major" was annoying, for a "minor" release.
62916         What is intended is "stable", to contrast with alpha and beta,
62917         so require "make stable", not "make major".
62918         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
62919         (get_tool_versions): Likewise.
62920         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
62922 2009-09-30  Ben Pfaff  <blp@gnu.org>
62924         Fix broken build of replacement for Windows tmpfile().
62925         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
62926         flags argument added along with the 'mkostemp' module.
62928 2009-09-28  Bruno Haible  <bruno@clisp.org>
62930         Avoid identifier clash with POSIX function 'remove' defined as a macro.
62931         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
62932         to 'remove_elt'.
62933         (gl_list_remove): Update.
62934         * lib/gl_list.c (gl_list_remove): Update.
62935         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
62936         to 'remove_elt'.
62937         (gl_oset_remove): Update.
62938         * lib/gl_list.c (gl_oset_remove): Update.
62939         Reported by Eric Blake.
62941 2009-09-28  Eric Blake  <ebb9@byu.net>
62943         doc: mention yet more cygwin 1.7 status
62944         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
62945         cygwin.
62946         * doc/glibc-functions/execvpe.texi (execvpe): New file.
62947         * doc/gnulib.texi (Glibc unistd.h): Mention it.
62949         argp: fix test failure
62950         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
62951         that are not upper-case.  Pass correct range to tolower.
62953 2009-09-27  Jim Meyering  <meyering@redhat.com>
62955         test-yesno: work around sparc-dash here-document infelicity
62956         Without this change, the literal \177 byte in a here document
62957         would make dash 0.5.5.1-3 access uninitialized memory.
62958         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
62959         Instead, use a marker, "@", and filter through tr to create the desired
62960         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
62962 2009-09-27  Bruno Haible  <bruno@clisp.org>
62964         Disable untested support for new flavours of ACLs on AIX.
62965         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
62966         progress.
62967         * lib/set-mode-acl.c (qset_acl): Likewise.
62969 2008-12-07  Bruno Haible  <bruno@clisp.org>
62971         Add support for new flavours of ACLs on AIX. (Untested.)
62972         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
62973         (file_has_acl): Add support for newer AIX.
62974         * lib/set-mode-acl.c (qset_acl): Likewise.
62975         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
62976         Rainer Tammer <tammer@tammer.net>.
62978 2009-09-26  Eric Blake  <ebb9@byu.net>
62980         argp: fix compilation of getopt
62981         * lib/getopt.in.h (includes): Use different guard than glibc.
62982         Reported by Sergey Poznyakoff.
62984         doc: mention more cygwin 1.7 status
62985         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
62986         bug.
62987         * doc/posix-functions/execl.texi (execl): Likewise.
62988         * doc/posix-functions/execle.texi (execle): Likewise.
62989         * doc/posix-functions/execlp.texi (execlp): Likewise.
62990         * doc/posix-functions/execv.texi (execv): Likewise.
62991         * doc/posix-functions/execve.texi (execve): Likewise.
62992         * doc/posix-functions/execvp.texi (execvp): Likewise.
62993         * doc/glibc-functions/canonicalize_file_name.texi
62994         (canonicalize_file_name): Cygwin 1.7 now provides this.
62995         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
62996         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
62997         on AT_SYMLINK_NOFOLLOW.
62999 2009-09-24  Eric Blake  <ebb9@byu.net>
63001         test-linkat: make test more robust
63002         * tests/test-linkat.c (main): Avoid collision with EEXIST.
63004         getopt: fix inclusion guards for cygwin
63005         * modules/getopt-posix (Depends-on): Add include-next.
63006         (Makefile.am): Substitute more items in replacement header.
63007         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
63008         <getopt.h>.
63009         * lib/getopt.in.h (includes): Use split inclusion guard, and
63010         prefer <getopt.h> over include <unistd.h> when one is present.
63011         (option): Also override name of 'struct option'.
63013         same-inode: revert prior change; it is not yet ready
63014         * NEWS: Undo mention of this change.
63015         * lib/same-inode.h (same-inode.h): Undo tri-state change.
63016         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63017         * lib/cycle-check.c (cycle_check): Likewise.
63018         * lib/same.c (same_name): Likewise.
63019         * lib/at-func2.c (at_func2): Likewise.
63021 2009-09-23  Eric Blake  <ebb9@byu.net>
63023         linkat: new module
63024         * modules/linkat: New file.
63025         * lib/at-func2.c (at_func2): Likewise.
63026         * lib/linkat.c (linkat): Likewise.
63027         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
63028         * lib/openat-priv.h (at_func2): Add declaration.
63029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63030         * modules/unistd (Makefile.am): Substitute them.
63031         * lib/unistd.in.h (linkat): Declare it.
63032         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63033         * doc/posix-functions/linkat.texi (linkat): Likewise.
63034         * doc/posix-functions/link.texi (link): Tweak wording.
63035         * tests/test-link.c (main): Move guts...
63036         * tests/test-link.h (test_link): ...into new file.
63037         * modules/linkat-tests: New test.
63038         * tests/test-linkat.c: Likewise.
63039         * modules/link-tests (Files): Ship new file.
63040         (Depends-on): Add stdbool.
63042         dirname: add library-safe mdir_name
63043         * lib/dirname.h (mdir_name): New prototype.
63044         * lib/dirname.c (dir_name): Move guts...
63045         (mdir_name): ...to new function that avoids xalloc_die.
63047         fchdir: another mingw fix
63048         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
63049         * lib/fchdir.c (get_name): New helper method; skips canonicalize
63050         on mingw (where it has not yet been ported), and make it optional
63051         elsewhere.
63052         (_gl_register_fd): Use it.
63054         same-inode: make SAME_INODE tri-state, to port to mingw
63055         * NEWS: Mention this change.
63056         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
63057         st_ino always being 0.
63058         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
63059         * lib/cycle-check.c (cycle_check): Likewise.
63060         * lib/same.c (same_name): Likewise.
63062         lstat: avoid mingw compilation error
63063         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
63064         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
63065         lstat ourselves.
63066         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
63067         was adequate.
63068         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
63069         the checks for lstat.
63070         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
63072         link: fix test failure on Solaris 9
63073         * lib/link.c (rpl_link): Don't assume link will catch bogus
63074         trailing slash on source.
63076         test-symlinkat: enhance test
63077         * tests/test-readlink.c (main): Move guts...
63078         * tests/test-readlink.h (test_readlink): ...into new file.
63079         * tests/test-symlink.c (main): Move guts...
63080         * tests/test-symlink.h (test_symlink): ...into new file.
63081         * tests/test-symlinkat.c (main): Use new files for further
63082         coverage.
63083         (do_symlink, do_readlink): New helper functions.
63084         * modules/symlink-tests (Files): Ship new file.
63085         (Depends-on): Add stdbool.
63086         * modules/readlink-tests (Files): Ship new file.
63087         (Depends-on): Add stdbool.
63088         * modules/symlinkat-tests (Files): Use new files.
63090 2009-09-23  Eric Blake  <ebb9@byu.net>
63092         readlink: document portability issue with symlink length
63093         * doc/posix-functions/lstat.texi (lstat): Mention that some file
63094         systems have bogus st_size on symlinks, and mention the
63095         areadlink-with-size module.
63096         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
63097         * doc/posix-functions/readlink.texi (readlink): Mention the
63098         areadlink module, and ERANGE failure.
63099         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63100         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
63102         readlink: fix Solaris 9 bug with trailing slash
63103         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
63104         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
63105         * doc/posix-functions/readlink.texi (readlink): Document this.
63106         * modules/readlink-tests: New test.
63107         * tests/test-readlink.c: Likewise.
63109         readlink: fix cygwin 1.5.x bug with return type
63110         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
63111         * lib/unistd.in.h (readlink): Use ssize_t.
63112         * lib/readlink.c (readlink): Likewise.
63113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63114         * modules/unistd (Makefile.am): Substitute it.
63115         * lib/unistd.in.h (readlink): Declare replacement.
63116         * doc/posix-functions/readlink.texi (readlink): Document this.
63118         symlink: use throughout gnulib
63119         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
63120         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
63121         symlink is not used.
63122         * modules/symlinkat (Depends-on): Add symlink.
63123         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63124         * modules/canonicalize-tests (Depends-on): Likewise.
63125         * modules/lstat-tests (Depends-on): Likewise.
63126         * modules/openat-tests (Depends-on): Likewise.
63127         * modules/remove-tests (Depends-on): Likewise.
63128         * modules/rmdir-tests (Depends-on): Likewise.
63129         * modules/unlink-tests (Depends-on): Likewise.
63130         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
63131         * tests/test-canonicalize.c (symlink): Likewise.
63132         * tests/test-fstatat.c (symlink): Likewise.
63133         * tests/test-lstat.c (symlink): Likewise.
63134         * tests/test-remove.c (symlink): Likewise.
63135         * tests/test-rmdir.c (symlink): Likewise.
63136         * tests/test-unlink.c (symlink): Likewise.
63137         * tests/test-unlinkat.c (symlink): Likewise.
63139         symlink: new module, for Solaris 9 bug
63140         * modules/symlink: New file.
63141         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
63142         * lib/symlink.c: Likewise.
63143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
63144         * modules/unistd (Makefile.am): Substitute them.
63145         * lib/unistd.in.h (symlink): Declare replacement.
63146         * MODULES.html.sh (File system functions): Mention it.
63147         * doc/posix-functions/symlink.texi (symlink): Likewise.
63148         * modules/symlink-tests: New test.
63149         * tests/test-symlink.c: Likewise.
63151 2009-09-23  Bruno Haible  <bruno@clisp.org>
63153         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
63154         when needed.
63155         Test case: gnulib-tool --import --with-tests atexit inttypes.
63156         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
63158 2009-09-23  Bruno Haible  <bruno@clisp.org>
63160         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
63161         subcommand, not in a subshell.
63163 2009-09-22  Eric Blake  <ebb9@byu.net>
63165         unistd: sort replacement declarations
63166         * lib/unistd.in.h: Sort declarations.
63168         open, openat: minor optimization
63169         * lib/open.c (open): If open succeeded, len is non-zero.
63170         * lib/openat.c (rpl_openat): Likewise.
63172         link-follow: ensure correct result
63173         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
63174         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
63175         distinguish between possible failures.
63177 2009-09-21  Eric Blake  <ebb9@byu.net>
63179         fts: avoid compiler warning
63180         * lib/fts.c (dirent_inode_sort_may_be_useful)
63181         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
63183 2009-09-19  Bruno Haible  <bruno@clisp.org>
63185         * lib/progreloc.c (canonicalize_file_name): New declaration.
63187 2009-09-19  Eric Blake  <ebb9@byu.net>
63189         link: fix quoting
63190         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
63192         openat: fix openat bugs on Solaris 9
63193         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
63194         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
63195         * modules/openat (Depends-on): Add open.
63196         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
63197         * modules/fcntl-h (Makefile.am): Substitute it.
63198         * lib/fcntl.in.h (openat): Declare replacement.
63199         * doc/posix-functions/openat.texi (openat): Document this.
63201         openat: move fstatat and unlinkat into correct files
63202         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
63203         compiled.
63204         * lib/openat.c (fstatat, unlinkat): Move...
63205         * lib/fstatat.c (fstatat): ...into correct files.
63206         * lib/unlinkat.c (unlinkat): Likewise.
63208         openat: fix unlinkat bugs on Solaris 9
63209         * lib/unlinkat.c (unlinkat): New file.
63210         * modules/openat (Depends-on): Add unlink.
63211         (Files): Distribute it.
63212         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
63213         trailing slash behavior is broken.
63214         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
63215         * modules/unistd (Makefile.am): Substitute it.
63216         * lib/unistd.in.h (unlinkat): Declare replacement.
63217         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
63219         openat: fix fstatat bugs on Solaris 9
63220         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
63221         stat.
63222         * doc/posix-functions/fstatat.texi (fstatat): Document this.
63224         test-unlinkat: enhance test, to expose Solaris 9 bug
63225         * tests/test-unlink.c (main): Factor guts...
63226         * tests/test-unlink.h (test_rmdir_func): ...into new file.
63227         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
63228         * tests/test-rmdir.c (main): Adjust caller.
63229         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
63230         (unlinker): New helper function.
63231         (rmdirat): Enhance check.
63232         * modules/rmdir-tests (Depends-on): Add stdbool.
63233         * modules/unlink-tests (Depends-on): Likewise.
63234         (Files): Add test-unlink.h.
63235         * modules/openat-tests (Files): Likewise.
63236         (Depends-on): Add unlinkdir.
63238         test-fstatat: new test, to expose Solaris 9 bugs
63239         * tests/test-stat.c (main): Factor guts...
63240         * tests/test-stat.h (test_stat_func): ...into new file.
63241         * tests/test-lstat.c (main): Factor guts...
63242         * tests/test-lstat.h (test_lstat_func): ...into new file.
63243         * tests/test-fstatat.c: New file.
63244         * modules/stat-tests (Files): Add test-stat.h.
63245         * modules/lstat-tests (Files): Add test-lstat.h.
63246         (Depends-on): Add stdbool.
63247         * modules/openat-tests (Depends-on): Add pathmax.
63248         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
63249         (Makefile.am): Run new test.
63251         remove: new module, for mingw and Solaris 9 bugs
63252         * modules/remove: New file.
63253         * lib/remove.c: Likewise.
63254         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
63255         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
63256         * modules/stdio (Makefile.am): Use them.
63257         * lib/stdio.in.h (remove): Declare replacement.
63258         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63259         * doc/posix-functions/remove.texi (remove): Likewise.
63260         * modules/remove-tests: New test.
63261         * tests/test-remove.c: Likewise.
63263         unlink: new module, for Solaris 9 bug
63264         * modules/unlink: New file.
63265         * lib/unlink.c: Likewise.
63266         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
63267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63268         * modules/unistd (Makefile.am): Use them.
63269         * lib/unistd.in.h (stat): Declare replacement.
63270         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63271         * doc/posix-functions/unlink.texi (unlink): Likewise.
63272         * modules/unlink-tests: New test.
63273         * tests/test-unlink.c: Likewise.
63275         lstat: fix Solaris 9 bug
63276         * lib/lstat.c (lstat): Also check for trailing slash on
63277         non-symlink, non-directories.  Use stat module to simplify logic.
63278         * doc/posix-functions/lstat.texi (lstat): Document it.
63279         * modules/lstat-tests (Depends-on): Add errno, same-inode.
63280         (configure.ac): Check for symlink.
63281         * tests/test-lstat.c (main): Add more tests.
63283         stat: add as dependency to other modules
63284         * modules/chown (Depends-on): Add stat.
63285         * modules/euidaccess (Depends-on): Likewise.
63286         * modules/fchdir (Depends-on): Likewise.
63287         * modules/isdir (Depends-on): Likewise.
63288         * modules/link (Depends-on): Likewise.
63289         * modules/lstat (Depends-on): Likewise.
63290         * modules/mkdir-p (Depends-on): Likewise.
63291         * modules/modechange (Depends-on): Likewise.
63292         * modules/open (Depends-on): Likewise.
63293         * modules/readlink (Depends-on): Likewise.
63294         * modules/same (Depends-on): Likewise.
63296         stat: fix Solaris 9 bug
63297         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
63298         slash.
63299         * lib/stat.c (rpl_stat): Work around it.
63300         * doc/posix-functions/stat.texi (stat): Update documentation.
63302         stat: new module, for mingw bug
63303         * modules/stat: New file.
63304         * lib/stat.c: Likewise.
63305         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
63306         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63307         * modules/sys_stat (Makefile.am): Use them.
63308         * lib/sys_stat.in.h (stat): Declare replacement.
63309         * lib/openat.c (fstatat): Deal with lstat and stat being function
63310         macros.
63311         * modules/openat (Depends-on): Add inline.
63312         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
63313         * doc/posix-functions/stat.texi (stat): Likewise.
63314         * modules/stat-tests: New test.
63315         * tests/test-stat.c: Likewise.
63317 2009-09-19  Jim Meyering  <meyering@redhat.com>
63319         syntax-check: detect unnecessary inclusion of canonicalize.h
63320         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
63322 2009-09-19  Eric Blake  <ebb9@byu.net>
63324         canonicalize-lgpl: adjust clients to use correct header
63325         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63326         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
63327         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
63328         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
63329         * lib/progreloc.c (includes): Likewise.
63331 2009-09-19  Jim Meyering  <meyering@redhat.com>
63333         test-posixtm.c: correct a comment
63334         * tests/test-posixtm.c: Correct first-line comment.
63335         Spotted by Eric Blake.
63337 2009-09-16  Jim Meyering  <meyering@redhat.com>
63339         posixtm-tests: make T const-correct; add a test case
63340         * tests/test-posixtm.c (T): Declare const.
63341         Add a test for -(2^31+1).
63342         Remove useless can-succeed-only-in-2002 test.
63344         posixtm-tests: adjust the sole failing test
63345         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
63346         expected output matches what mktime now produces.  Cross-checked via
63347         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
63349         posixtm: move #ifdef'd tests into a new module
63350         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
63351         * tests/test-posixtm.c: ... this new file.
63352         * modules/posixtm-tests: New module.
63354 2009-09-19  Eric Blake  <ebb9@byu.net>
63356         openat: simplify use of at-func.c
63357         * lib/at-func.c (includes): Include prerequisites here, to
63358         simplify requirements on client files.
63359         * lib/openat-priv.h: Add double-inclusion guard.
63360         * lib/faccessat.c (includes): Simplify.
63361         * lib/fchmodat.c (includes): Likewise.
63362         * lib/fchownat.c (includes): Likewise.
63363         * lib/mkdirat.c (includes): Likewise.
63364         * lib/mkfifoat.c (includes): Likewise.
63365         * lib/symlinkat.c (includes): Likewise.
63367         openat: allow return of fd 0
63368         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
63369         * modules/save-cwd (Depends-on): Replace fcntl-safer with
63370         unistd-safer.
63371         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
63372         <fcntl.h>; this module does not leak fds.
63373         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
63374         must be allowed to return 0, leaving openat_safer to add the
63375         safety.
63376         (openat_permissive): Avoid writing to just-opened fd 2 if
63377         restoring the current directory fails.
63378         * lib/openat-die.c (openat_restore_fail): Add comment.
63379         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
63380         (save_cwd): Guarantee safe fd, but without use of open_safer.
63381         * tests/test-openat.c: New test.
63382         * modules/openat-tests (Files, Makefile.am): Distribute and build
63383         new file.
63385         relocatable-prog-wrapper: fix build
63386         * modules/relocatable-prog-wrapper (Files): Update name of
63387         canonicalize m4 file, broken on 2009-09-17.
63388         Reported by emad hajjar <aleppos@hotmail.com>.
63390 2009-09-19  Bruno Haible  <bruno@clisp.org>
63392         * lib/safe-alloc.h: Use the standard header with GPL copyright.
63393         * lib/safe-alloc.c: Likewise.
63394         Reported by Ian Beckwith <ianb@erislabs.net>.
63396 2009-09-18  Bruno Haible  <bruno@clisp.org>
63398         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
63399         Reported by <erobles@sensacd.com.mx>.
63401 2009-09-17  Eric Blake  <ebb9@byu.net>
63403         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
63404         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
63405         slashes when checking if last component is missing.
63406         * tests/test-canonicalize.c (main): Test this.
63408         canonicalize, canonicalize-lgpl: honor // if distinct from /
63409         * modules/canonicalize (Files): Add double-slash-root.m4.
63410         * modules/canonicalize-lgpl (Files): Likewise.
63411         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
63412         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
63413         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
63414         fallback definition.
63415         (canonicalize_filename_mode): Use it to protect //.
63416         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
63417         (__realpath): Likewise.
63418         * tests/test-canonicalize.c (main): Test this.
63419         * tests/test-canonicalize-lgpl.c (main): Likewise.
63420         * modules/canonicalize-tests (Depends-on): Add same-inode.
63421         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
63423         canonicalize-lgpl: fix glibc bug with trailing slash
63424         * m4/canonicalize-lgpl.m4: Move contents...
63425         * m4/canonicalize.m4: ...here.
63426         (gl_CANONICALIZE_LGPL): Factor realpath check...
63427         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
63428         glibc 2.3.5 bug, fixed 2005-04-27.
63429         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
63430         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
63431         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
63432         * modules/canonicalize-lgpl (Files): Manage file rename.
63433         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63434         * modules/stdlib (Makefile.am): Substitute witness.
63435         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
63436         is needed.
63437         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
63438         replacement is required.
63439         * lib/canonicalize.c (canonicalize_file_name): Likewise.
63440         * doc/glibc-functions/canonicalize_file_name.texi
63441         (canonicalize_file_name): Document this.
63442         * doc/posix-functions/realpath.texi (realpath): Likewise.
63444         canonicalize-lgpl: reject non-directory with trailing slash
63445         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
63446         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
63447         catches failures in glibc 2.3.5.
63448         * tests/test-canonicalize.c (main): Likewise.
63450         canonicalize-lgpl: use native realpath if it works
63451         * lib/canonicalize-lgpl.c (realpath): Guard with
63452         FUNC_REALPATH_WORKS.
63453         * lib/stdlib.in.h (realpath): Make declaration optional based on
63454         HAVE_REALPATH.
63455         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
63456         native realpath works.
63457         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
63458         * modules/stdlib (Makefile.am): Substitute witness.
63460         canonicalize, canonicalize-lgpl: use <stdlib.h>
63461         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
63462         (Include): Mention <stdlib.h>.
63463         (configure.ac): Mention functions we provide.
63464         * modules/canonicalize (configure.ac): Likewise.
63465         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
63466         realpath if canonicalize_file_name is missing.
63467         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
63468         * modules/stdlib (Makefile.am): Substitute witnesses.
63469         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
63470         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
63471         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
63472         * NEWS: Document this.
63473         * doc/glibc-functions/canonicalize_file_name.texi
63474         (canonicalize_file_name): Likewise.
63475         * doc/posix-functions/realpath.texi (realpath): Likewise.
63476         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
63478         test-canonicalize: consolidate into single C program
63479         * tests/test-canonicalize.sh: Delete; move setup into...
63480         * tests/test-canonicalize.c (main): ...the program, making it
63481         easier to run in debugger.  Add some tests.
63482         * modules/canonicalize-tests (Files): Remove unused file.
63483         (Depends-on): Add progname.
63484         (configure.ac, Makefile.am): Simplify.
63486         test-canonicalize-lgpl: consolidate into single C program
63487         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
63488         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
63489         easier to run in debugger.  Add some tests.
63490         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
63491         (configure.ac, Makefile.am): Simplify.
63493         canonicalize: avoid resolvepath
63494         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
63495         unnecessary checks.
63496         * lib/canonicalize.c (includes): Simplify.
63497         (canonicalize_file_name): Drop resolvepath implementation.
63498         * modules/canonicalize (Depends-on): Drop filenamecat.
63500         canonicalize: don't lose errno
63501         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
63502         over calls to free.
63504         canonicalize: simplify errno handling
63505         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
63506         assignment.
63508         canonicalize, canonicalize-lgpl: update module dependencies
63509         * modules/canonicalize (Depends-on): Add extensions, lstat,
63510         pathmax, stdlib.
63511         (Files): Drop pathmax.h.
63512         (configure.ac): Adjust macro name.
63513         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
63514         lstat, stdlib, sys_stat.
63515         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
63516         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
63517         extensions.
63518         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
63519         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
63520         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
63521         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
63522         declaration, if available.
63523         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
63524         we can rely on the readlink module.
63525         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
63526         (includes): Use <unistd.h> unconditionally.
63528 2009-09-17  Eric Blake  <ebb9@byu.net>
63530         maint: make Include sections of modules consistent
63531         * modules/alloca: Use only header name; no need to list #include.
63532         * modules/alloca-opt: Likewise.
63533         * modules/arpa_inet: Likewise.
63534         * modules/canon-host: Likewise.
63535         * modules/configmake: Likewise.
63536         * modules/dirent: Likewise.
63537         * modules/eealloc: Likewise.
63538         * modules/environ: Likewise.
63539         * modules/fchdir: Likewise.
63540         * modules/fcntl: Likewise.
63541         * modules/fcntl-h: Likewise.
63542         * modules/gethrxtime: Likewise.
63543         * modules/gettime: Likewise.
63544         * modules/ignore-value: Likewise.
63545         * modules/inet_ntop: Likewise.
63546         * modules/inet_pton: Likewise.
63547         * modules/inttypes: Likewise.
63548         * modules/isnand-nolibm: Likewise.
63549         * modules/isnanf-nolibm: Likewise.
63550         * modules/mbchar: Likewise.
63551         * modules/mbfile: Likewise.
63552         * modules/mbiter: Likewise.
63553         * modules/mbuiter: Likewise.
63554         * modules/netdb: Likewise.
63555         * modules/netinet_in: Likewise.
63556         * modules/nproc: Likewise.
63557         * modules/pagealign_alloc: Likewise.
63558         * modules/poll: Likewise.
63559         * modules/printf-frexp: Likewise.
63560         * modules/pthread: Likewise.
63561         * modules/putenv: Likewise.
63562         * modules/random_r: Likewise.
63563         * modules/relocatable-prog: Likewise.
63564         * modules/search: Likewise.
63565         * modules/select: Likewise.
63566         * modules/selinux-h: Likewise.
63567         * modules/settime: Likewise.
63568         * modules/signal: Likewise.
63569         * modules/size_max: Likewise.
63570         * modules/socklen: Likewise.
63571         * modules/ssize_t: Likewise.
63572         * modules/stdarg: Likewise.
63573         * modules/stdbool: Likewise.
63574         * modules/stddef: Likewise.
63575         * modules/stdint: Likewise.
63576         * modules/stdio: Likewise.
63577         * modules/stdlib: Likewise.
63578         * modules/string: Likewise.
63579         * modules/strings: Likewise.
63580         * modules/sys_file: Likewise.
63581         * modules/sys_ioctl: Likewise.
63582         * modules/sys_select: Likewise.
63583         * modules/sys_socket: Likewise.
63584         * modules/sys_stat: Likewise.
63585         * modules/sys_time: Likewise.
63586         * modules/sys_times: Likewise.
63587         * modules/sys_utsname: Likewise.
63588         * modules/sys_wait: Likewise.
63589         * modules/sysexits: Likewise.
63590         * modules/time: Likewise.
63591         * modules/times: Likewise.
63592         * modules/tmpfile: Likewise.
63593         * modules/trim: Likewise.
63594         * modules/unistd: Likewise.
63595         * modules/wchar: Likewise.
63596         * modules/wctype: Likewise.
63598 2009-09-17  Bruno Haible  <bruno@clisp.org>
63600         Make getdate.y compile on QNX and NetBSD 5 / i386.
63601         * m4/getdate.m4 (gl_GETDATE): Conditionally define
63602         TIME_T_FITS_IN_LONG_INT.
63603         * lib/getdate.y (long_time_t): New type.
63604         (relative_time): Change type of 'seconds' field to long_time_t.
63605         (get_date): Update types of local variables. Check against overflow
63606         during conversion from long_time_t to time_t.
63607         Reported by Matt Kraai <kraai@ftbfs.org>
63608         and Hasso Tepper <hasso@netbsd.org>.
63610 2009-09-17  Bruno Haible  <bruno@clisp.org>
63612         * modules/COPYING: Update copyright years.
63613         * modules/README: Likeiwse.
63614         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
63615         Reported by Ian Beckwith <ianb@erislabs.net>.
63617 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63619         * users.txt: Update references for gnuit package.
63621 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
63623         * m4/getdelim.m4: Fix typo in copyright line.
63625 2009-09-17  Bruno Haible  <bruno@clisp.org>
63627         * lib/atoll.c: Use the standard header with GPL copyright.
63628         * lib/argz.in.h: Likewise.
63629         * lib/glob.c: Likewise.
63630         * lib/glob-libc.h: Likewise.
63631         * lib/random_r.c: Likewise.
63632         * lib/siglist.h: Likewise.
63633         * lib/strsignal.c: Likewise.
63634         Reported by Ian Beckwith <ianb@erislabs.net>.
63636 2009-09-17  Eric Blake  <ebb9@byu.net>
63638         rmdir: ensure correct dependency order
63639         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
63641 2009-09-17  Bruno Haible  <bruno@clisp.org>
63643         Disable assertion that fails on NetBSD 5 / i386.
63644         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
63645         Reported by Sam Steingold <sds@gnu.org>
63646         and Hasso Tepper <hasso@netbsd.org>.
63648 2009-09-16  Eric Blake  <ebb9@byu.net>
63650         unlinkdir: port to mingw
63651         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
63652         on which no one can unlink a directory.
63654         stdlib: sort witness names
63655         * modules/stdlib (Makefile.am): Sort replacements.
63656         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
63657         * lib/stdlib.in.h: Likewise.
63659         parse-duration-tests: avoid link failure
63660         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
63661         LIBINTL.
63662         Reported by Tom G. Christensen.
63664         openat-tests: ensure unlinkat behaves like rmdir
63665         * tests/test-rmdir.c (main): Factor guts...
63666         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
63667         * modules/rmdir-tests (Files): Ship new file.
63668         * modules/openat-tests: New test.
63669         * tests/test-unlinkat.c: Likewise.
63671         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
63672         * modules/rmdir-errno (Status, Notice): Now obsolete.
63674         rmdir: work around cygwin 1.5.x and mingw bugs
63675         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
63676         * lib/rmdir.c (rmdir): Work around it.
63677         * modules/rmdir (Status, Notice): No longer obsolete.
63678         (Files): Add dos.m4.
63679         (Depends-on): Add unistd.
63680         (configure.ac): Set witnesses.
63681         (License): Relax to LGPLv2+.
63682         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
63683         * modules/unistd (Makefile.am): Substitute witnesses.
63684         * lib/unistd.in.h (rmdir): Declare replacement.
63685         * doc/posix-functions/rmdir.texi (rmdir): Document this.
63686         * modules/rmdir-tests: New tests.
63687         * tests/test-rmdir.c: Likewise.
63689 2009-09-15  Eric Blake  <ebb9@byu.net>
63691         fchdir: improve use of replacement functions
63692         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
63693         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
63694         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
63695         REPLACE_CLOSEDIR.
63696         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
63697         * modules/sys_stat (Makefile.am): Substitute correct witness.
63698         * modules/dirent (Makefile.am): Likewise.
63699         * modules/unistd (Makefile.am): Likewise.
63700         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
63701         * lib/unistd.in.h (dup): Likewise.
63702         * lib/sys_stat.in.h (fstat): Likewise.
63704         maint: ignore gnulib-tool temp files
63705         * .gitignore: Ignore files created during gnulib-tool --test.
63707 2009-09-13  Jim Meyering  <meyering@redhat.com>
63709         posixtm: don't reject a time that specify "60" as the number of seconds
63710         * lib/posixtm.c (posixtime): The code to reject invalid dates
63711         would also reject a time specified with the .60 suffix.
63712         But POSIX allows that, in order to accommodate leap seconds.
63713         So don't reject it.
63714         (main): Adjust tests accordingly.
63715         * modules/posixtm (Depends-on): Add stpcpy.
63717 2009-09-11  Jim Meyering  <meyering@redhat.com>
63719         announce-gen: include [$release_type] in emitted Subject:
63720         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
63721         e.g., [stable] in the emitted Subject: line.
63723 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63725         Remove obsolete macros from several modules.
63726         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
63727         obsolete Autoconf macros with their modern counterparts.
63728         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
63729         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
63730         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
63731         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
63732         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
63733         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63734         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
63735         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
63736         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
63737         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
63738         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
63739         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
63740         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
63741         * m4/sockets.m4 (gl_SOCKETS): Likewise.
63742         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
63743         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
63744         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
63745         * m4/time_r.m4 (gl_TIME_R): Likewise.
63746         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
63747         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
63748         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
63750         Fix copyright header in build-aux scripts.
63751         * build-aux/git-version-gen: Fix copyright header to match GPLv3
63752         recommendation.
63753         * build-aux/ncftpput-ftp: Likewise.
63754         * build-aux/update-copyright: Likewise.
63756 2009-09-09  Eric Blake  <ebb9@byu.net>
63758         test-link: allow Linux choice of errno
63759         * tests/test-link.c (main): Relax test for alternate error.
63761         strndup: fix improper m4 caching
63762         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
63763         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
63764         (gl_PREREQ_STRNDUP): Delete.
63765         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
63766         * modules/string (Makefile.am): Substitute it.
63767         * lib/string.in.h (strndup): Modernize prototype.
63769         getcwd: port to mingw
63770         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
63771         different from the POSIX assumptions made throughout the getcwd
63772         module; fortunately, the mingw getcwd does not need replacement.
63773         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
63774         * modules/getcwd-tests: New test.
63775         * tests/test-getcwd.c: Likewise.
63777         link: fix platform bugs
63778         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
63779         * lib/link.c (link): Work around them.  Fix related mingw bug.
63780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
63781         * modules/unistd (Makefile.am): Substitute it.
63782         * lib/unistd.in.h (link): Declare replacement.
63783         * doc/posix-functions/link.texi (link): Document this.
63784         * modules/link (Depends-on): Add strdup-posix, sys_stat.
63786         test-link: consolidate into single C program, test more cases
63787         * tests/test-link.sh: Delete.
63788         * tests/test-link.c: Test more error conditions.  Exposes bugs on
63789         at least Cygwin and Solaris.
63790         * modules/link-tests (Files): Remove unused file.
63791         (Depends-on): Add errno, sys_stat.
63792         (Makefile.am): Simplify.
63794 2009-09-08  Bruno Haible  <bruno@clisp.org>
63796         Work around towlower, towupper bug on mingw.
63797         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
63798         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
63799         * doc/posix-functions/towlower.texi: Mention the mingw bug.
63800         * doc/posix-functions/towupper.texi: Likewise.
63801         Reported by Eric Blake.
63803 2009-09-08  Jim Meyering  <meyering@redhat.com>
63805         build: don't try to run autoheader if we don't use it
63806         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
63807         is not used in configure.ac.
63809 2009-09-08  Eric Blake  <ebb9@byu.net>
63811         euidaccess: fix compilation error
63812         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
63814         rawmemchr: relax license
63815         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
63816         okay.
63817         Reported by Jim Meyering.
63819         mkfifoat: new module
63820         * modules/mkfifoat: New file.
63821         * lib/mkfifoat.c: Likewise.
63822         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
63823         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
63824         * modules/sys_stat (Makefile.am): Use them.
63825         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
63826         * MODULES.html.sh (File system functions): Mention module.
63827         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
63828         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
63829         * modules/mkfifoat-tests: New test.
63830         * tests/test-mkfifoat.c: Likewise.
63832         strchrnul: relax license
63833         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
63834         okay.
63835         Reported by Jim Meyering.
63837 2009-09-08  Eric Blake  <ebb9@byu.net>
63839         fstatat: fix compilation on Solaris
63840         * lib/fstatat.c (includes): Add fcntl.h.
63841         Reported by Pádraig Brady.
63843 2009-09-07  Eric Blake  <ebb9@byu.net>
63845         rename: modernize replacement
63846         * modules/rename (Depends-on): Add stdio.
63847         (configure.ac): Declare witness.
63848         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
63849         stdio take care of replacement.
63850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
63851         * modules/stdio (Makefile.am): Substitute them.
63852         * lib/stdio.in.h (rename): Declare replacement.
63853         * lib/rename.c (includes): Allow cross-compilation to non-windows
63854         machines.
63855         * doc/posix-functions/rename.texi (rename): Improve
63856         documentation.
63858         stdio: sort witness names
63859         * modules/stdio (Makefile.am): Sort replacements.
63860         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
63861         * lib/stdio.in.h: Likewise.
63863         getcwd: minor cleanups
63864         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
63865         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
63867         openat: provide more convenience names
63868         * modules/faccessat (configure.ac): Add C witness.
63869         * lib/unistd.in.h (readlinkat): Fix typo.
63870         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
63871         convenience wrappers.
63872         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
63873         wrappers in syntax checks.
63875 2009-09-06  Eric Blake  <ebb9@byu.net>
63877         doc: fix comments in recent patches
63878         * lib/faccessat.c: Mention correct function.
63879         * lib/fchmodat.c: Likewise.
63880         * lib/fchownat.c: Likewise.
63881         * lib/symlinkat.c: Likewise.
63882         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
63883         constants.
63885         faccessat, symlinkat: continue cleanup of previous patch
63886         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
63887         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
63888         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
63889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
63890         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
63891         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
63892         set.
63894 2009-09-06  Bruno Haible  <bruno@clisp.org>
63896         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
63897         (fstatat): Declare if GNULIB_FSTATAT is set.
63898         (mkdirat): Declare if GNULIB_MKDIRAT is set.
63899         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
63900         (unlinkat): Declare if GNULIB_UNLINKAT is set.
63901         * modules/fcntl-h (Files): Remove m4/openat.m4.
63902         * modules/sys_stat (Files): Remove m4/openat.m4.
63903         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
63904         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
63905         * modules/unistd (Files): Remove m4/openat.m4.
63906         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
63907         GNULIB_OPENAT.
63908         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
63909         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
63910         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
63911         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
63912         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
63913         gl_OPENAT_DEFAULTS.
63914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
63915         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
63916         Don't require gl_OPENAT_DEFAULTS.
63917         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
63918         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
63919         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
63920         (gl_OPENAT_DEFAULTS): Remove macro.
63922 2009-09-06  Bruno Haible  <bruno@clisp.org>
63924         * modules/openat (configure.ac): Remove unneeded witness.
63926 2009-09-06  Bruno Haible  <bruno@clisp.org>
63928         Set errno to ENOSYS when a function is entirely unsupported.
63929         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
63930         EOPNOTSUPP.
63931         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
63932         * modules/chown (Depends-on): Remove errno.
63934 2009-09-06  Bruno Haible  <bruno@clisp.org>
63936         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
63938 2009-09-06  Bruno Haible  <bruno@clisp.org>
63940         * lib/sys_stat.in.h: Fix preprocessor command indentation.
63942 2009-09-06  Ben Pfaff  <blp@gnu.org>
63943             Bruno Haible  <bruno@clisp.org>
63945         Work around a glibc bug in strtok_r.
63946         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
63947         Undefine if UNDEFINE_STRTOK_R is set.
63948         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
63949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
63950         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
63951         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
63952         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
63953         UNDEFINE_STRTOK_R.
63954         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
63956 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
63958         exclude: minor fix
63959         * lib/exclude.c: Include wctype.h
63961 2009-09-06  Akim Demaille  <demaille@gostai.com>
63963         bootstrap: improve error message
63964         * build-aux/bootstrap (find_tool): Upon failure, report the list
63965         of candidates.
63966         Honor the initial value of the envvar.
63968 2009-09-05  Eric Blake  <ebb9@byu.net>
63970         symlinkat: new module
63971         * modules/symlinkat: New file.
63972         * lib/symlinkat.c: Likewise.
63973         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
63974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
63975         * modules/unistd (Makefile.am): Use them.
63976         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
63977         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
63978         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
63979         * MODULES.html.sh (File system functions): Mention module.
63980         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
63981         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
63982         * modules/symlinkat-tests: New test.
63983         * tests/test-symlinkat.c: Likewise.
63985         test-openat-safer: add more checks
63986         * tests/test-openat-safer.c (main): Check more code paths.
63988 2009-09-05  Jim Meyering  <meyering@redhat.com>
63990         syntax-check: detect unnecessary inclusion of openat.h
63991         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
63993 2009-09-05  Bruno Haible  <bruno@clisp.org>
63995         Support towlower, towupper.
63996         * doc/posix-functions/towlower.texi: Mention module wctype.
63997         * doc/posix-functions/towupper.texi: Likewise.
63998         * lib/wctype.in.h (towlower, towupper): New functions.
63999         * tests/test-wctype.c: Include stdio.h, stdlib.h.
64000         (ASSERT): New macro.
64001         (e): New variable.
64002         (main): Test also towlower, towupper. Test WEOF argument.
64003         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
64005 2009-09-05  Bruno Haible  <bruno@clisp.org>
64007         Fix conversion behaviour when the input is invalid.
64008         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
64009         mark occurring in first pass of indirect conversion.
64010         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
64011         input.
64012         Found by clang's static analyzer.
64014 2009-09-05  Bruno Haible  <bruno@clisp.org>
64016         * tests/test-striconveh.c (main): Test indirect conversion on platforms
64017         where direct conversion is possible.
64019 2009-09-04  Eric Blake  <ebb9@byu.net>
64021         openat: fail with ENOENT on empty name
64022         * lib/openat-proc.c (openat_proc_name): Special-case the empty
64023         buffer.
64025         link-follow: fix logic bug in prior patch
64026         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
64027         reversed sense of yes and no in prior patch.  Avoid confusing
64028         compilation failure with desired semantics.
64030         link-follow: accommodate mingw and cross-compilation
64031         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
64032         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
64033         cross-compilation results to -1, to make linkat easier to
64034         implement when cross-compiling.  Trivially support mingw.
64035         * modules/link-follow (configure.ac): Call new name.
64036         * NEWS: Mention this.
64038 2009-09-03  Eric Blake  <ebb9@byu.net>
64040         faccessat: compile replacement
64041         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
64042         needed.
64044         fts: fix compilation error
64045         * lib/fts.c (includes): Re-add "openat.h", for
64046         openat_needs_fchdir.
64048         faccessat: new module
64049         * modules/faccessat: New file.
64050         * lib/faccessat.c: Likewise.
64051         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
64052         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
64053         * modules/unistd (Makefile.am): Use it.
64054         * lib/unistd.in.h (faccessat): Declare it.
64055         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
64056         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
64057         * MODULES.html.sh (File system functions): Mention it.
64058         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
64059         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
64061         euidaccess: prefer POSIX over non-standard implementation
64062         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
64063         * lib/euidaccess.c (euidaccess): Use it if available.
64065         openat: make template easier to use
64066         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
64067         AT_FUNC_F2 to be undefined.
64068         (VALIDATE_FLAG): New macro; use it to reject bad flags.
64069         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
64070         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
64071         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
64072         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
64073         Likewise.
64074         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
64075         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
64076         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
64077         Likewise.
64079         openat: declare in POSIX headers
64080         * NEWS: Mention this.
64081         * modules/openat (configure.ac): Declare witnesses.
64082         (Depends-on): Add fcntl-h, sys_stat, unistd.
64083         (Include): Mention correct headers.
64084         * modules/fcntl-h (Depends-on): Add link-warning.
64085         (Files): Add openat.m4.
64086         (Makefile.am): Substitute witnesses.
64087         * modules/sys_stat (Files, Makefile.am): Likewise.
64088         * modules/unistd (Files, Makefile.am): Likewise.
64089         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
64090         (gl_OPENAT_DEFAULTS): New macro.
64091         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
64092         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
64093         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
64094         (SYS_STAT_H): Remove unused variable.
64095         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
64096         * lib/fcntl--.h (includes): Remove unneeded header.
64097         * lib/openat-safer.c (includes): Likewise.
64098         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
64099         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
64100         appropriate headers.
64101         (__OPENAT_PREFIX): Delete.
64102         * lib/fcntl.in.h (openat): Provide declaration.
64103         (AT_FDCWD): Fix Solaris bug.
64104         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
64105         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
64106         * lib/fchmodat.c (includes):  Adjust to find declaration.
64107         * lib/fchownat.c (includes): Likewise.
64108         * lib/mkdirat.c (includes): Likewise.
64109         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
64110         still visible.
64112 2009-09-02  Eric Blake  <ebb9@byu.net>
64114         errno: use consistently
64115         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
64116         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
64117         * lib/canonicalize.c (ELOOP): Likewise.
64118         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
64119         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
64120         * lib/lchown.c (EOPNOTSUPP): Likewise.
64121         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
64122         * lib/savewd.c (ESTALE): Likewise.
64123         * lib/settime.c (ENOSYS): Likewise.
64124         * lib/utimens.c (ENOSYS): Likewise.
64125         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
64126         * lib/chdir-safer.c (ELOOP): Likewise.
64127         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
64128         * modules/c-stack (Depends-on): Add errno.
64129         * modules/canonicalize (Depends-on): Likewise.
64130         * modules/chdir-safer (Depends-on): Likewise.
64131         * modules/fdopendir (Depends-on): Likewise.
64132         * modules/inet_ntop (Depends-on): Likewise.
64133         * modules/inet_pton (Depends-on): Likewise.
64134         * modules/lchown (Depends-on): Likewise.
64135         * modules/openat (Depends-on): Likewise.
64136         * modules/savewd (Depends-on): Likewise.
64137         * modules/settime (Depends-on): Likewise.
64138         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
64140         fts: avoid leaking fds
64141         * modules/fts (Depends-on): Add cloexec.
64142         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
64143         flag.
64145         fts: make directory fds more robust
64146         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
64147         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
64149         backupfile, chdir-long, fts, savedir: make safer
64150         * lib/backupfile.c (includes): Use "dirent--.h", since
64151         numbered_backup can write to stderr during readdir.
64152         * lib/savedir.c (includes): Likewise.
64153         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
64154         emulation can write to stderr on failure.
64155         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
64156         * lib/getcwd.c: Document why opendir_safer is unused.
64157         * lib/glob.c: Likewise.
64158         * lib/scandir.c: Likewise.
64159         * lib/openat-proc.c: Likewise, for open_safer.
64160         * modules/backupfile (Depends-on): Add dirent-safer.
64161         * modules/savedir (Depends-on): Likewise.
64162         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
64163         * modules/chdir-long (Depends-on): Add openat-safer.
64165         openat-safer: new module
64166         * modules/openat-safer: New file.
64167         * lib/openat-safer.c: Likewise.
64168         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
64169         * lib/fcntl-safer.h (openat_safer): Declare.
64170         * lib/fcntl--.h (openat): Override.
64171         * MODULES.html.sh (File descriptor based I/O): Mention it.
64172         * lib/openat.h: Add double-inclusion guards.
64173         * lib/openat.c (includes): Only include "fcntl-safer.h", not
64174         "fcntl--.h", so we can implement openat.
64175         * modules/openat-safer-tests: New test.
64176         * tests/test-openat-safer.c: New file.
64178         dirent-safer: new module
64179         * modules/dirent-safer: New file.
64180         * lib/dirent--.h: Likewise.
64181         * lib/dirent-safer.h: Likewise.
64182         * lib/opendir-safer.c: Likewise.
64183         * m4/dirent-safer.m4: Likewise.
64184         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
64185         * modules/dirent-safer-tests: New test.
64186         * tests/test-dirent-safer.c: New file.
64187         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
64189         fdopendir: optimize on mingw
64190         * lib/unistd.in.h (_gl_directory_name): New prototype.
64191         * lib/fchdir.c (_gl_directory_name): Implement it.
64192         (fchdir): Use it to simplify implementation.
64193         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
64194         fchdir, when available, to avoid calling [f]chdir().
64196         fdopendir: split into its own module
64197         * lib/openat.c (fdopendir): Move...
64198         * lib/fdopendir.c: ...into new file.
64199         * modules/fdopendir: New module.
64200         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
64201         * modules/openat (Depends-on): Add fdopendir.
64202         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
64203         fdopendir here.
64204         * modules/savedir (Depends-on): Only need fdopendir, not full
64205         openat.
64206         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
64207         * lib/openat.h (fdopendir): Drop prototype.
64208         * lib/dirent.in.h (fdopendir): Provide prototype.
64209         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
64210         * modules/dirent (Makefile.am): Substitute them.
64211         * MODULES.html.sh (File system functions): Mention it.
64212         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
64213         * modules/fdopendir-tests: New file.
64214         * tests/test-fdopendir.c: Likewise.
64216         fchdir: use more consistent macro convention
64217         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
64218         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
64219         REPLACE_FCHDIR, rather than relying on config.h macros.
64220         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
64221         inside a single make-time REPLACE_FCHDIR block, rather than using
64222         the config.h FCHDIR_REPLACEMENT.
64223         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
64224         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
64225         Manage fstat replacement.
64226         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
64227         REPLACE_FCHDIR.
64228         * modules/sys_stat (Files): Add m4/unistd_h.m4.
64229         (Makefile.am): Substitute REPLACE_FCHDIR.
64230         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
64231         FCHDIR_REPLACEMENT.
64232         * lib/dup-safer.c (dup_safer): Likewise.
64233         * lib/dup2.c (rpl_dup2): Likewise.
64234         * lib/dup3.c (rpl_dup3): Likewise.
64235         * lib/open.c (rpl_open): Likewise.
64237         fchdir: simplify error handling, and support dup3
64238         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
64239         stdbool, malloc-posix, realloc-posix.
64240         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
64241         (ensure_dirs_slot): Return false on allocation failure.
64242         (rpl_dup2): Delete.
64243         (_gl_register_dup): New function.
64244         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
64245         (_gl_register_fd): Close fd on allocation failure.
64246         * lib/fcntl.in.h (_gl_register_fd): Update signature.
64247         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
64248         prototype.
64249         (rpl_dup2_fchdir): Delete prototype.
64250         * lib/open.c (open): Update caller.
64251         * lib/dup2.c (dup2): Track fchdir metadata.
64252         * lib/dup3.c (dup3): Likewise.
64253         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
64254         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
64256 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64258         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
64259         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
64260         don't pass arguments to AC_OUTPUT.
64262 2009-09-02  Bruno Haible  <bruno@clisp.org>
64264         * modules/mkdtemp (License): Relicense under LGPLv2+.
64265         Reported by Paolo Bonzini.
64267 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64269         Replace uses of obsolete autoconf macros in Jim's modules.
64270         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
64271         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
64272         can evoke a warning from autoconf when run with -Wobsolete
64273         enabled.  They were declared obsolete for good reasons (see
64274         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
64275         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
64276         should not continue using the deprecated macros.
64277         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
64278         obsolete Autoconf macros with modern counterparts.
64279         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
64280         * m4/dos.m4 (gl_AC_DOS): Likewise.
64281         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
64282         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
64283         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
64284         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
64285         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
64286         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
64287         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
64288         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
64289         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
64290         Likewise.
64291         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
64292         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
64293         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
64294         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
64295         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
64296         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
64298 2009-09-01  Eric Blake  <ebb9@byu.net>
64300         fchdir: fix off-by-one bug in previous patch
64301         * lib/fchdir.c (rpl_fstat): Use correct bounds.
64302         (_gl_unregister_fd): Delete useless if.
64304 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
64306         maint.mk: sort the list of syntax-check rules
64307         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
64308         easier to get a sense of progress when the rules are run sequentially
64309         and take a long time.
64311 2009-09-01  Simon Josefsson  <simon@josefsson.org>
64313         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
64314         * modules/netinet_in: Likewise.
64315         * modules/sys_file: Likewise.
64316         * modules/sys_ioctl: Likewise.
64317         * modules/sys_select: Likewise.
64318         * modules/sys_socket: Likewise.
64319         * modules/sys_stat: Likewise.
64320         * modules/sys_time: Likewise.
64321         * modules/sys_times: Likewise.
64322         * modules/sys_utsname: Likewise.
64323         * modules/sys_wait: Likewise.
64325 2009-09-01  Jim Meyering  <meyering@redhat.com>
64327         fts: help ensure that return values are not ignored
64328         * lib/fts_.h (__GNUC_PREREQ): Define.
64329         (__attribute_warn_unused_result__): Define.
64330         (fts_children, fts_close, fts_open, fts_read): Declare with
64331         __attribute_warn_unused_result__.
64333         fts: fts_close now fails also when closing a dir file descriptor fails
64334         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
64335         and propagate to caller, along with errno.
64337         announce-gen: correct formatting in --help output
64338         * build-aux/announce-gen (usage): Move the one-line description in
64339         --help output "up", to where it belongs, just after Usage:.
64341 2009-08-31  Eric Blake  <ebb9@byu.net>
64343         fchdir: port to mingw
64344         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
64345         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
64346         opened, then use a substitute.
64347         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
64348         replacement.
64349         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
64350         (_gl_register_fd): No need to check stat if open already filters
64351         all directories.
64352         (fchdir): Fix error condition to match POSIX.
64353         * modules/fchdir (Depends-on): Add sys_stat.
64354         * doc/posix-functions/open.texi (open): Document the limitation.
64355         * modules/fchdir-tests: New file.
64356         * tests/test-fchdir.c: Likewise.
64358         canonicalize: allow cross-testing from cygwin to mingw
64359         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
64360         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
64361         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
64362         Likewise.
64363         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
64364         target does not support symlinks.
64365         * tests/test-canonicalize-lgpl.sh: Likewise.
64367         chown: avoid compilation warning on mingw
64368         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
64369         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
64370         mingw.
64371         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
64372         * modules/chown (Depends-on): Add errno.
64374 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
64376         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
64377         command.
64379 2009-08-31  Jim Meyering  <meyering@redhat.com>
64381         canonicalize: remove useless initialization
64382         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
64383         initialization of local, "end".
64385 2009-08-30  Bruno Haible  <bruno@clisp.org>
64387         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
64388         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
64389         ENOSYS.
64391 2009-08-30  Bruno Haible  <bruno@clisp.org>
64393         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
64394         /usr/xpg4/bin/tr when it exists.
64395         * tests/test-pipe-filter-gi1.sh: Likewise.
64397 2009-08-30  Bruno Haible  <bruno@clisp.org>
64399         Work around deficient /usr/bin/id program on Solaris.
64400         * tests/test-file-has-acl.sh (ID): New variable.
64401         * tests/test-set-mode-acl.sh (ID): Likewise.
64402         * tests/test-copy-acl.sh (ID): Likewise.
64403         * tests/test-copy-file.sh (ID): Likewise.
64405 2009-08-30  Bruno Haible  <bruno@clisp.org>
64407         New module 'xstriconveh'.
64408         * lib/xstriconveh.h: New file.
64409         * lib/xstriconveh.c: New file.
64410         * modules/xstriconveh: New file.
64412 2009-08-30  Bruno Haible  <bruno@clisp.org>
64414         Make it easier to use mem_cd_iconveh.
64415         * lib/striconveh.h (iconveh_t): New type.
64416         (iconveh_open, iconveh_close): New declarations.
64417         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64418         with a single 'const iconveh_t *' argument.
64419         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
64420         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
64421         with a single 'const iconveh_t *' argument.
64422         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
64423         * tests/test-striconveh.c (main): Update.
64424         * NEWS: Mention the change.
64426 2009-08-30  Bruno Haible  <bruno@clisp.org>
64428         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
64429         problem.
64431 2009-08-30  Bruno Haible  <bruno@clisp.org>
64433         Work around iconv_open problem on Solaris.
64434         * lib/iconv_open-solaris.gperf: New file.
64435         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
64436         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
64437         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
64438         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
64439         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
64440         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
64442 2009-08-29  Jim Meyering  <meyering@redhat.com>
64444         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
64445         * top/maint.mk (cvs-check): Remove target; it was just an alias
64446         to the better-named vc-diff-check.
64447         (maintainer-distcheck): Remove rule.  It was used only from
64448         the (alpha/beta/major) target, and all of its commands but one
64449         were coreutils-specific.
64450         (vc-dist): Remove rule.
64451         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
64452         Run vc-diff-check, not vc-dist.
64453         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
64455 2009-08-27  Bruno Haible  <bruno@clisp.org>
64457         * tests/test-bitrotate.c (main): Remove test that uses a shift count
64458         of 0.
64460 2009-08-27  Bruno Haible  <bruno@clisp.org>
64462         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
64463         compilers.
64464         * doc/func.texi: Document the SunPRO C bug.
64466 2009-08-27  Bruno Haible  <bruno@clisp.org>
64468         Fix link error on Solaris.
64469         * tests/test-parse-duration.c (xstrdup): Remove function.
64471 2009-08-26  Pádraig Brady  <P@draigbrady.com>
64473         ignore-value: handle pointer types, too
64474         * lib/ignore-value.h (__attribute__): Remove definition.
64475         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
64476         of a more concise and more-often effective "(void) i" statement.
64477         (ignore_ptr): New function to suppress warnings from functions that
64478         return pointers, and to make it explicit that one function doesn't
64479         handle all cases.
64481 2009-08-25  Bruno Haible  <bruno@clisp.org>
64483         dup2: work around a Linux bug.
64484         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
64485         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
64486         * doc/posix-functions/dup2.texi: Mention the Linux bug.
64487         Reported by Simon Josefsson.
64489 2009-08-25  Jim Meyering  <meyering@redhat.com>
64491         libguestfs uses gnulib
64492         * users.txt: Add libguestfs.
64494 2009-08-24  Eric Blake  <ebb9@byu.net>
64496         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
64497         * lib/pipe2.c (includes): Add binary-io.h.
64498         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
64500 2009-08-24  Bruno Haible  <bruno@clisp.org>
64502         Tolerate declared but missing accept4 syscall.
64503         * lib/accept4.c (accept4): Invoke original accept4 function first, if
64504         available.
64505         * lib/sys_socket.in.h (accept4): If the function is already present,
64506         override it.
64507         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
64508         * modules/accept4 (Makefile.am): Compile accept4.c always.
64509         Reported by Paolo Bonzini and Eric Blake.
64511 2009-08-23  Bruno Haible  <bruno@clisp.org>
64513         New module 'accept4'.
64514         * lib/sys_socket.in.h (accept4): New declaration.
64515         * lib/accept4.c: New file.
64516         * m4/accept4.m4: New file.
64517         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
64518         GNULIB_ACCEPT4, HAVE_ACCEPT4.
64519         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
64520         HAVE_ACCEPT4.
64521         * modules/accept4: New file.
64522         * doc/glibc-functions/accept4.texi: Mention the new module.
64524 2009-08-24  Jim Meyering  <meyering@redhat.com>
64526         progname: also set global program_invocation_name, when possible
64527         Before this change, a libtool-enabled program that calls glibc's
64528         error function would report the program name as
64529         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
64530         * modules/progname (configure.ac): Check for a declaration of
64531         program_invocation_name.
64532         * lib/progname.c:  Include <errno.h>.
64533         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
64534         Set program_invocation_name.
64536 2009-08-23  Bruno Haible  <bruno@clisp.org>
64538         * lib/dup3.c: Include <string.h>.
64540 2009-08-23  Bruno Haible  <bruno@clisp.org>
64542         * lib/dup3.c (dup3): Test only once whether the system actually exists.
64543         * lib/pipe2.c (pipe2): Likewise.
64544         Suggested by Eric Blake.
64546 2009-08-23  Bruno Haible  <bruno@clisp.org>
64548         Tolerate declared but missing dup3 syscall.
64549         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
64550         * lib/unistd.in.h (dup3): If the function is already present,
64551         override it.
64552         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
64553         * modules/dup3 (Makefile.am): Compile dup3.c always.
64554         Reported by Paolo Bonzini.
64556 2009-08-23  Bruno Haible  <bruno@clisp.org>
64558         Tolerate declared but missing pipe2 syscall.
64559         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
64560         available.
64561         * lib/unistd.in.h (pipe2): If the function is already present,
64562         override it.
64563         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
64564         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
64565         Reported by Paolo Bonzini.
64567 2009-08-23  Bruno Haible  <bruno@clisp.org>
64569         * lib/pipe2.c (pipe2): Move #ifs inside function.
64571 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64573         quotearg: document limitations of quote_these_too
64574         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
64575         those limitations are created.
64576         * lib/quotearg.h (set_char_quoting): Document that digits and
64577         letters that are special after backslash are not permitted.
64578         (quotearg_char): Cross-reference set_char_quoting documentation.
64580 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
64582         quotearg: implement custom_quoting_style
64583         * lib/quotearg.c: (struct quoting_options): Add left_quote and
64584         right_quote fields.
64585         (set_custom_quoting): New public function.
64586         (quotearg_buffer_restyled): Add left_quote and right_quote
64587         arguments, handle them very much like locale quoting, and update
64588         all uses.
64589         (quotearg_n_custom): New public function.
64590         (quotearg_n_custom_mem): New public function.
64591         (quotearg_custom): New public function.
64592         (quotearg_custom_mem): New public function.
64593         * lib/quotearg.h: Prototype and document new public functions.
64594         (enum quoting_style): For escape_quoting_style and
64595         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
64596         ignored even though they're otherwise like c_quoting_style.
64597         Add custom_quoting_style member and document with comparison to
64598         clocale_quoting_style.
64599         * tests/test-quotearg.c (custom_quotes): New array.
64600         (custom_results): New array.
64601         (main): Extend to test custom quoting.
64603 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64605         quotearg: fix right quote escaping when it's in quote_these_too
64606         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
64607         quote, be sure to prepend only one backslash.
64608         * tests/test-quotearg.c (use_quote_double_quotes): New function.
64609         (main): Test it.
64611 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
64613         quotearg-tests: test escaping of embedded locale quotes
64614         * tests/test-quotearg.c (struct result_strings): Add member for
64615         new input.
64616         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
64617         (inputs): Add new input.
64618         (results_g): Add expected results.
64619         (flag_results): Likewise.
64620         (locale_results): Likewise.
64621         (compare_strings): Check those.
64623 2009-08-23  Bruno Haible  <bruno@clisp.org>
64625         Tests for module 'dup3'.
64626         * modules/dup3-tests: New file.
64627         * tests/test-dup3.c: New file.
64629         New module 'dup3'.
64630         * lib/unistd.in.h (dup3): New declaration.
64631         * lib/dup3.c: New file.
64632         * m4/dup3.m4: New file.
64633         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
64634         HAVE_DUP3.
64635         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
64636         * modules/dup3: New file.
64637         * doc/glibc-functions/dup3.texi: Mention the new module.
64639 2009-08-23  Bruno Haible  <bruno@clisp.org>
64641         Tweak the dup2 test.
64642         * tests/test-dup2.c (main): Create the test file empty. Verify that an
64643         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
64644         the test file is still empty. Fix argument order of lseek.
64646 2009-08-23  Bruno Haible  <bruno@clisp.org>
64648         Avoid test link errors when the modules getopt-gnu, gettext are used.
64649         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
64650         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64652 2009-08-23  Bruno Haible  <bruno@clisp.org>
64654         Fix getdtablesize() on mingw.
64655         * lib/getdtablesize.c (getdtablesize): Implement differently.
64656         * lib/unistd.in.h (getdtablesize): Improve comment.
64658 2009-08-23  Bruno Haible  <bruno@clisp.org>
64660         New module 'mkostemp'.
64661         Based on Ulrich Drepper's 2007-08-10 change in glibc.
64662         * lib/stdlib.in.h (mksotemp): New declaration.
64663         * lib/mkostemp.c: New file, from glibc with modifications.
64664         * lib/tempname.h (GT_FILE): Remove outdated comment.
64665         (gen_tempname): Add flags argument.
64666         * lib/tempname.c (__GT_BIGFILE): Remove macro.
64667         (__GT_FILE): Map to 1.
64668         (small_open, large_open): Remove macros.
64669         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
64670         * lib/mkstemp.c (mkstemp): Update.
64671         * lib/mkdtemp.c (mkdtemp): Likewise.
64672         * m4/mkostemp.m4: New file.
64673         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
64674         HAVE_MKOSTEMP.
64675         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
64676         HAVE_MKOSTEMP.
64677         * modules/mkostemp: New file, based on modules/mkstemp.
64678         * doc/glibc-functions/mkostemp.texi: Mention the new module.
64679         * NEWS: Mention the change.
64681 2009-08-23  Bruno Haible  <bruno@clisp.org>
64683         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
64684         Reported by Eric Blake.
64686 2009-08-23  Bruno Haible  <bruno@clisp.org>
64688         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
64689         Reported by Eric Blake.
64691 2009-08-23  Bruno Haible  <bruno@clisp.org>
64693         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
64694         * modules/pipe2 (Depends-on): Likewise.
64696 2009-08-23  Eric Blake  <ebb9@byu.net>
64698         fcntl-h: add O_TTY_INIT support
64699         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
64700         * tests/test-fcntl-h.c (o): Test it.
64701         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64703         fcntl-h: rename from fcntl, in preparation for fcntl(2)
64704         * modules/fcntl: Move <fcntl.h> header replacement...
64705         * modules/fcntl-h: ...to new name, so as not to collide with
64706         like-named function.
64707         * tests/test-fcntl.c: Rename...
64708         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
64709         * modules/fcntl-tests: Rename...
64710         * modules/fcntl-h-tests: ...to this.  Update test file name.
64711         * modules/chdir-long (Depends-on): Update clients.
64712         * modules/chdir-safer (Depends-on): Likewise.
64713         * modules/fcntl-safer (Depends-on): Likewise.
64714         * modules/fts (Depends-on): Likewise.
64715         * modules/mkancesdirs (Depends-on): Likewise.
64716         * modules/mkdir-p (Depends-on): Likewise.
64717         * modules/open (Depends-on): Likewise.
64718         * modules/savewd (Depends-on): Likewise.
64719         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
64720         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
64722 2009-08-22  Bruno Haible  <bruno@clisp.org>
64724         * modules/binary-io (License): Relicense under LGPL.
64725         * modules/pipe2 (License): Likewise.
64727 2009-08-22  Bruno Haible  <bruno@clisp.org>
64729         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
64730         return value.
64731         * lib/pipe-filter-gi.c (filter_init): Likewise.
64732         Reported by Eric Blake.
64734 2009-08-22  Bruno Haible  <bruno@clisp.org>
64736         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
64737         * modules/pipe (Depends-on): Add pipe2.
64739 2009-08-22  Bruno Haible  <bruno@clisp.org>
64741         Tests for module 'pipe2'.
64742         * modules/pipe2-tests: New file.
64743         * tests/test-pipe2.c: New file.
64745         New module 'pipe2'.
64746         * lib/unistd.in.h (pipe2): New declaration.
64747         * lib/pipe2.c: New file.
64748         * m4/pipe2.m4: New file.
64749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
64750         HAVE_PIPE2.
64751         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
64752         * modules/pipe2: New file.
64753         * doc/glibc-functions/pipe2.texi: Mention the new module.
64755 2009-08-22  Bruno Haible  <bruno@clisp.org>
64757         Reference some new glibc functions.
64758         * doc/glibc-functions/accept4.texi: New file.
64759         * doc/glibc-functions/dup3.texi: New file.
64760         * doc/glibc-functions/mkostemp.texi: New file.
64761         * doc/glibc-functions/pipe2.texi: New file.
64762         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
64763         (Glibc sys/socket.h): Refer to accept4.
64764         (Glibc unistd.h): Refer to dup3, pipe2.
64765         Reported by Eric Blake.
64767 2009-08-22  Jim Meyering  <meyering@redhat.com>
64768             Bruno Haible  <bruno@clisp.org>
64770         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
64771         This makes it so packages using automake-1.11's silent-rules option
64772         can print e.g., a single "GEN    configmake.h" line, rather than
64773         the 30+ statements that perform the job.  If you want to see the
64774         actual commands, you can still run "make V=1".
64775         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
64776         so that make output is abbreviated when those variables are defined
64777         appropriately.
64778         * modules/argz: Likewise.
64779         * modules/arpa_inet: Likewise.
64780         * modules/byteswap: Likewise.
64781         * modules/configmake: Likewise.
64782         * modules/dirent: Likewise.
64783         * modules/errno: Likewise.
64784         * modules/fcntl: Likewise.
64785         * modules/float: Likewise.
64786         * modules/fnmatch: Likewise.
64787         * modules/getopt-posix: Likewise.
64788         * modules/glob: Likewise.
64789         * modules/iconv_open: Likewise.
64790         * modules/inttypes: Likewise.
64791         * modules/localcharset: Likewise.
64792         * modules/locale: Likewise.
64793         * modules/math: Likewise.
64794         * modules/netdb: Likewise.
64795         * modules/netinet_in: Likewise.
64796         * modules/poll: Likewise.
64797         * modules/posix_spawnp-tests: Likewise.
64798         * modules/sched: Likewise.
64799         * modules/search: Likewise.
64800         * modules/selinux-h: Likewise.
64801         * modules/signal: Likewise.
64802         * modules/spawn: Likewise.
64803         * modules/stdarg: Likewise.
64804         * modules/stdbool: Likewise.
64805         * modules/stddef: Likewise.
64806         * modules/stdint: Likewise.
64807         * modules/stdio: Likewise.
64808         * modules/stdlib: Likewise.
64809         * modules/string: Likewise.
64810         * modules/strings: Likewise.
64811         * modules/sys_file: Likewise.
64812         * modules/sys_ioctl: Likewise.
64813         * modules/sys_select: Likewise.
64814         * modules/sys_socket: Likewise.
64815         * modules/sys_stat: Likewise.
64816         * modules/sys_time: Likewise.
64817         * modules/sys_times: Likewise.
64818         * modules/sys_utsname: Likewise.
64819         * modules/sys_wait: Likewise.
64820         * modules/sysexits: Likewise.
64821         * modules/time: Likewise.
64822         * modules/unistd: Likewise.
64823         * modules/wchar: Likewise.
64824         * modules/wctype: Likewise.
64826 2009-08-22  Jim Meyering  <meyering@redhat.com>
64828         announce-gen: detect write failure
64829         * build-aux/announce-gen: Add Coda at end.
64830         Remove equivalent-but-more-verbose block at top.
64832 2009-08-19  Akim Demaille  <demaille@gostai.com>
64834         bootstrap: --help to stdout.
64835         * bootstrap (usage): Don't send --help to stderr.
64836         Use a here doc instead of a long string.
64838 2009-08-21  Eric Blake  <ebb9@byu.net>
64840         test-popen-safer: split from test-popen
64841         * tests/test-popen.c (main): Move...
64842         * tests/test-popen.h: ...into new file.
64843         * tests/test-popen-safer2.c: New file.
64844         * modules/popen-tests (Files): Add test-popen.h.
64845         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
64846         Suggested by Bruno Haible.
64848         test-fcntl-safer: split from test-open
64849         * tests/test-open.c (main): Move...
64850         * tests/test-open.h: ...into new file.
64851         * tests/test-fcntl-safer.c: New file.
64852         * modules/open-tests (Files): Add test-open.h.
64853         * modules/fcntl-safer-tests: New file.
64854         Suggested by Bruno Haible.
64856         test-fopen-safer: split from test-fopen
64857         * tests/test-fopen.c (main): Move...
64858         * tests/test-fopen.h: ...into new file.
64859         * tests/test-fopen-safer.c: New file.
64860         * modules/fopen-tests (Files): Add test-fopen.h.
64861         * modules/fopen-safer-tests: New file.
64862         Suggested by Bruno Haible.
64864 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64866         popen-safer: test O_CLOEXEC at run-time.
64867         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
64869 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
64871         fcntl: move more flags to the header
64872         * lib/cloexec.c: Do not define FD_CLOEXEC here.
64873         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
64874         * lib/fcntl.in.h: Do both things here.
64876 2009-08-21  Jim Meyering  <meyering@redhat.com>
64878         consistently remove $@-t before redirecting to it
64879         * modules/argz: Remove $@-t and $@ before redirecting to the former.
64880         * modules/alloca-opt: Likewise.
64881         * modules/byteswap: Likewise.
64882         * modules/fnmatch: Likewise.
64883         * modules/getopt-posix: Likewise.
64884         * modules/glob: Likewise.
64885         * modules/poll: Likewise.
64886         * modules/posix_spawnp-tests: Likewise.
64887         * modules/sys_socket: Likewise.
64888         * modules/sysexits: Likewise.
64890 2009-08-21  Eric Blake  <ebb9@byu.net>
64892         popen: simplify access to original popen
64893         * lib/popen.c (rpl_popen): No need to worry about popen being a
64894         macro.
64895         Reported by Bruno Haible.
64897 2009-08-20  Eric Blake  <ebb9@byu.net>
64899         build: avoid some compiler warnings
64900         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
64901         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
64902         type.
64903         (new_exclude_segment, excluded_file_pattern_p)
64904         (excluded_file_name_p): Reduce scope.
64905         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
64906         old-style declaration.
64908 2009-08-20  Simon Josefsson  <simon@josefsson.org>
64910         * tests/test-exclude1.sh: Handle Windows EOL.
64911         * tests/test-exclude2.sh: Likewise.
64912         * tests/test-exclude3.sh: Likewise.
64913         * tests/test-exclude4.sh: Likewise.
64914         * tests/test-exclude5.sh: Likewise.
64915         * tests/test-exclude6.sh: Likewise.
64916         * tests/test-exclude7.sh: Likewise.
64918 2009-08-19  Akim Demaille  <demaille@gostai.com>
64920         bootstrap: find sha1sum when named gsha1sum.
64921         * bootstrap (find_tool): New.
64922         ($SHA1SUM): New.
64923         Use it.
64925 2009-08-20  Jim Meyering  <meyering@redhat.com>
64927         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
64928         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
64929         expression that converts "." in a file name to "\." in the resulting
64930         regexp.  Start with a dummy statement, so that prior shell variable
64931         definitions are expanded portably.  Reported by Simon Josefsson.
64933 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
64935         Fix polling for writeability of a screen buffer.
64936         * lib/poll.c: Distinguish input and screen buffers for the
64937         Win32 implementation.
64938         * lib/select.c: Likewise.
64940 2009-08-19  Eric Blake  <ebb9@byu.net>
64942         popen-safer: prevent popen from clobbering std descriptors
64943         * modules/popen-safer: New file.
64944         * lib/popen-safer.c: Likewise.
64945         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
64946         * lib/stdio--.h (popen): Provide override.
64947         * lib/stdio-safer.h (popen_safer): Provide declaration.
64948         * tests/test-popen.c (includes): Partially test this.
64949         * modules/popen-safer-tests: New file, for more tests.
64950         * tests/test-popen-safer.c: Likewise.
64951         * MODULES.html.sh (file stream based Input/Output): Mention it.
64953         tests: test some of the *-safer modules
64954         * modules/fopen-safer (Depends-on): Add fopen.
64955         * modules/fcntl-safer (Depends-on): Add fcntl.
64956         * modules/stdlib-safer (Depends-on): Add stdlib.
64957         (configure.ac): Set indicator.
64958         * modules/unistd-safer (configure.ac): Likewise.
64959         * modules/tmpfile-safer (configure.ac): Likewise.
64960         (Depends-on): Add tmpfile.
64961         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
64962         active.
64963         * tests/test-fopen.c (includes): Test safer versions when they are
64964         in use.
64965         * tests/test-open.c (includes): Likewise.
64967         popen: fix cygwin 1.5 bug when stdin closed
64968         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
64969         * modules/popen: New file.
64970         * modules/popen-tests: Likewise.
64971         * tests/test-popen.c: Likewise.
64972         * m4/popen.m4: Likewise.
64973         * lib/popen.c: Likewise.
64974         * lib/stdio.in.h (popen): New declaration.
64975         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
64976         * modules/stdio (Makefile.am): Likewise.
64977         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
64979 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
64981         maint.mk: give full control over update-copyright exclusions
64982         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
64983         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
64984         (update-copyright): Don't force inclusion of top-level
64985         ChangeLog.  Don't force exclusion of all COPYING files, but make
64986         them the default exclusion instead.
64988 2009-08-16  Bruno Haible  <bruno@clisp.org>
64990         Fix test failures on Solaris 10.
64991         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
64992         tests when Solaris iconv() is used.
64993         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64994         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64995         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64996         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64997         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64999 2009-08-16  Bruno Haible  <bruno@clisp.org>
65001         Fix test failures on Solaris 10.
65002         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
65003         'tr' program and pass it as first argument.
65004         * tests/test-pipe-filter-gi1.sh: Likewise.
65005         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
65006         program as first argument.
65007         * tests/test-pipe-filter-gi1.c (main): Likewise.
65009 2009-08-16  Eric Blake  <ebb9@byu.net>
65011         fpurge: fix previous commits
65012         * modules/fpurge (Makefile.am): Make replacement conditional,
65013         partially reverting 2007-04-29 change; missed in previous
65014         attempt.
65015         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
65016         is missing.
65018 2009-08-16  Bruno Haible  <bruno@clisp.org>
65020         Clarify fpurge's effect on the file position.
65021         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
65022         * tests/test-fpurge.c (main): Make a second pass for checking the file
65023         position.
65025 2009-08-16  Bruno Haible  <bruno@clisp.org>
65027         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
65028         declaration of fpurge is missing.
65029         * tests/test-fpurge.c (main): Check that the file has not more contents
65030         than expected. Close the file before removing it.
65032 2009-08-15  Eric Blake  <ebb9@byu.net>
65034         fpurge: don't wrap working cygwin implementation
65035         * lib/fpurge.c (fpurge): Fix comment typo.
65036         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
65037         1.7 to avoid replacement.
65038         * tests/test-fpurge.c (main): Enhance test.
65040 2009-08-15  Eric Blake  <ebb9@byu.net>
65041         and Jim Meyering  <meyering@redhat.com>
65043         test-update-copyright: skip if perl is insufficient
65044         * tests/test-update-copyright.sh: Failure to run maintainer tool
65045         should not cause testsuite failure on cygwin 1.5.
65047 2009-08-14  Eric Blake  <ebb9@byu.net>
65049         doc: mention more functions added in cygwin 1.7.0
65050         * doc/posix-headers/limits.texi (limits.h): Update for recent
65051         cygwin additions.
65052         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
65053         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
65054         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
65055         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
65056         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
65058 2009-08-14  Eric Blake  <ebb9@byu.net>
65060         maint.mk: simplify update-copyright rule
65061         * top/maint.mk (update-copyright-local): Delete, and document how
65062         to do it in cfg.mk instead.
65063         (update-copyright-exclude-regexp): Delete, and document how to do
65064         it in .x-update-copyright instead.
65065         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
65066         exclude ChangeLog.
65068 2009-08-14  Bruno Haible  <bruno@clisp.org>
65070         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
65072 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65074         maint.mk: support update-copyright-env
65075         * top/maint.mk (update-copyright-env): Define place-holder.
65076         (update-copyright): Expand $(update-copyright-env) before
65077         invoking update-copyright.
65079 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65081         update-copyright: implement forced reformatting
65082         * build-aux/update-copyright: Implement and document
65083         UPDATE_COPYRIGHT_FORCE.
65084         * tests/test-update-copyright.sh: Test it.
65086 2009-08-14  Eric Blake  <ebb9@byu.net>
65087         and Bruno Haible  <bruno@clisp.org>
65089         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
65090         * tests/test-locale.c: Revert previous patch related to NULL.
65091         * tests/test-stdio.c: Likewise.
65092         * tests/test-stdlib.c: Likewise.
65093         * tests/test-string.c: Likewise.
65094         * tests/test-unistd.c: Likewise.
65095         * modules/time-tests (Depends-on): Add verify.
65096         * modules/wchar-tests (Depends-on): Likewise.
65097         * tests/test-time.c: Test for NULL compliance.
65098         * tests/test-wchar.c: Likewise.
65099         * modules/locale (Depends-on): Add stddef.
65100         * modules/stdio (Depends-on): Likewise.
65101         * modules/stdlib (Depends-on): Likewise.
65102         * modules/string (Depends-on): Likewise.
65103         * modules/time (Depends-on): Likewise.
65104         * modules/unistd (Depends-on): Likewise.
65105         * modules/wchar (Depends-on): Likewise.
65106         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
65107         * lib/stdlib.in.h (includes): Likewise.
65108         * lib/string.in.h (includes): Likewise.
65109         * lib/time.in.h (includes): Likewise.
65110         * lib/unistd.in.h (includes): Likewise.
65111         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
65112         replaced.
65113         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65114         * m4/stddef_h.m4: New file.
65115         * modules/stddef: Likewise.
65116         * lib/stddef.in.h: Likewise.
65117         * modules/stddef-tests: Likewise.
65118         * tests/test-stddef.c: Likewise.
65119         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
65120         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
65121         * doc/posix-headers/locale.texi (locale.h): Likewise.
65122         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
65123         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
65124         * doc/posix-headers/string.texi (string.h): Likewise.
65125         * doc/posix-headers/time.texi (time.h): Likewise.
65126         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
65127         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
65129 2009-08-14  Eric Blake  <ebb9@byu.net>
65131         doc: improve git diff of texinfo files
65132         * .gitattributes: Add rule for *.texi files, with hint on how to
65133         use it.
65134         Copied from m4, and based on a report by Bruno Haible.
65136 2009-08-14  Bruno Haible  <bruno@clisp.org>
65138         Disable multithread support by default on Cygwin 1.5.x for real.
65139         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
65141 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
65143         update-copyright: much ado about intervals
65144         * build-aux/update-copyright: Implement and document
65145         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
65146         of copyright year intervals.
65147         Also, document UPDATE_COPYRIGHT_YEAR.
65148         * tests/test-update-copyright.sh: Test it.
65150         update-copyright: convert 2-digit to 4-digit years
65151         * build-aux/update-copyright: Implement and document.
65152         * tests/test-update-copyright.sh: Update.
65154 2009-08-14  Jim Meyering  <meyering@redhat.com>
65156         test-exclude: avoid coreutils "make check" failure
65157         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
65158         just as in test-argmatch.c.
65160 2009-08-13  Eric Blake  <ebb9@byu.net>
65162         test-dup2: fix bad assumption
65163         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
65164         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
65166         test-version-etc: fix CRLF portability issue
65167         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
65168         recognize \r.
65169         * tests/test-argp-version-etc-1.sh: Likewise.
65171         getopt: update client modules
65172         * modules/argp (Depends-on): Use getopt-gnu.
65173         * modules/git-merge-changelog (Depends-on): Likewise.
65174         * modules/long-options (Depends-on): Likewise.
65175         * modules/xstrtol (Depends-on): Likewise.
65177 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65179         * tests/test-version-etc.sh: Don't fail on different
65180         project/version.  Don't fail on CRLF differences.  Rewrite to use
65181         multiple -e instead of multiple sed forks, suggested by Eric Blake
65182         <ebb9@byu.net>.
65183         * tests/test-argp-version-etc-1.sh: Likewise.
65185 2009-08-13  Simon Josefsson  <simon@josefsson.org>
65187         * tests/test-version-etc.sh: Don't fail on different
65188         project/version.
65190 2009-08-12  Bruno Haible  <bruno@clisp.org>
65192         Tests for modules 'getopt-posix', 'getopt-gnu'.
65193         * modules/getopt-posix-tests: New file.
65194         * tests/test-getopt.c: New file.
65195         * tests/test-getopt.h: New file.
65196         * tests/test-getopt_long.h: New file.
65198         New modules 'getopt-posix', 'getopt-gnu'.
65199         * modules/getopt-gnu: New file, renamed from modules/getopt.
65200         * modules/getopt-posix: New file.
65201         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
65202         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
65203         (gl_GETOPT): Remove macro.
65204         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
65205         Disable the test against BSD systems that declare optreset. Test
65206         against mingw bug. Test against lack of support of optional arguments
65207         on many platforms.
65208         * doc/glibc-headers/getopt.texi: Update module name and list of
65209         relevant platforms.
65210         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
65211         'getopt-gnu' and more portability problems.
65212         * NEWS: Mention the changes.
65214 2009-08-12  Bruno Haible  <bruno@clisp.org>
65216         Ensure that optarg etc. get declared by <unistd.h>.
65217         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
65218         AC_USE_SYSTEM_EXTENSIONS.
65219         * modules/getopt (Depends-on): Add 'extensions'.
65221 2009-08-12  Bruno Haible  <bruno@clisp.org>
65223         Avoid test link errors.
65224         * modules/pipe-filter-ii-tests (Makefile.am): Define
65225         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
65226         * modules/pipe-filter-gi-tests (Makefile.am): Define
65227         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
65228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65230 2009-08-12  Bruno Haible  <bruno@clisp.org>
65232         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
65233         gl_GETOPT_SUBSTITUTE before.
65234         (gl_GETOPT): Use it.
65235         * m4/argp.m4 (gl_ARGP): Update.
65236         Reported by Sergey Poznyakoff.
65238         * m4/getopt.m4: Reorder macros.
65239         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
65240         (gl_GETOPT_SUBSTITUTE): Remove macro.
65242 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65244         Minor improvement in gitlog-to-changelog
65246         * build-aux/gitlog-to-changelog: New option `--format' makes
65247         output format string configurable.
65249 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
65251         Optimize exclude: use hash tables for non-wildcard patterns.
65253         * lib/exclude.c: Include hash.h and mbuiter.h
65254         (struct exclude_pattern, exclude_segment): New data types.
65255         (struct exclude): Rewrite.
65256         (fnmatch_pattern_has_wildcards): New function.
65257         (new_exclude_segment, free_exclude_segment): New functions.
65258         (excluded_file_pattern_p, excluded_file_name_p): New functions.
65259         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
65260         * lib/exclude.h (is_fnmatch_pattern): New prototype.
65261         * modules/exclude: Depend on hash and mbuiter.
65263         * modules/exclude-tests: New file.
65264         * tests/test-exclude.c: New file.
65265         * tests/test-exclude1.sh: New file.
65266         * tests/test-exclude2.sh: New file.
65267         * tests/test-exclude3.sh: New file.
65268         * tests/test-exclude4.sh: New file.
65269         * tests/test-exclude5.sh: New file.
65270         * tests/test-exclude6.sh: New file.
65271         * tests/test-exclude7.sh: New file.
65273 2009-08-12  Bruno Haible  <bruno@clisp.org>
65275         Ensure that getopt() gets declared by <unistd.h>.
65276         * lib/unistd.in.h: Conditionally include getopt.h.
65277         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
65278         Set GNULIB_UNISTD_H_GETOPT.
65279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65280         GNULIB_UNISTD_H_GETOPT.
65281         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
65283 2009-08-12  Bruno Haible  <bruno@clisp.org>
65285         Clarify logic.
65286         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
65287         gl_replace_getopt instead of GETOPT_H.
65289 2009-08-12  Bruno Haible  <bruno@clisp.org>
65291         * m4/getopt.m4: Add comments.
65293 2009-08-12  Bruno Haible  <bruno@clisp.org>
65295         Disable multithread support by default on Cygwin 1.5.x.
65296         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
65297         set gl_use_threads=no if not specified otherwise.
65299 2009-08-11  Bruno Haible  <bruno@clisp.org>
65301         Avoid compilation error on NetBSD 5.0.
65302         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
65303         * tests/test-stdio.c: Likewise.
65304         * tests/test-stdlib.c: Likewise.
65305         * tests/test-string.c: Likewise.
65306         * tests/test-unistd.c: Likewise.
65307         Reported by Greg Troxel <gdt@ir.bbn.com>
65308         at <https://savannah.gnu.org/support/?106973>.
65310 2009-08-11  Bruno Haible  <bruno@clisp.org>
65312         * modules/dup2-tests (Depends-on): Remove close.
65314         Undo 2009-07-19 commit.
65315         * modules/acl-tests (Depends-on): Remove close.
65316         * modules/binary-io-tests (Depends-on): Likewise.
65317         * modules/closein-tests (Depends-on): Likewise.
65318         * modules/flock-tests (Depends-on): Likewise.
65319         * modules/fsync-tests (Depends-on): Likewise.
65320         * modules/lseek-tests (Depends-on): Likewise.
65321         * modules/pipe-tests (Depends-on): Likewise.
65322         * modules/posix_spawn-tests (Depends-on): Likewise.
65323         * modules/posix_spawnp-tests (Depends-on): Likewise.
65324         * modules/stat-time-tests (Depends-on): Likewise.
65325         * modules/yesno-tests (Depends-on): Likewise.
65327 2009-08-10  Bruno Haible  <bruno@clisp.org>
65329         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
65331 2009-08-10  Bruno Haible  <bruno@clisp.org>
65333         Fix a gcc warning.
65334         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
65336 2009-08-10  Bruno Haible  <bruno@clisp.org>
65338         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
65339         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
65340         not only the first time.
65341         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
65342         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
65343         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
65344         is 1, not only the first time.
65346 2009-08-10  Bruno Haible  <bruno@clisp.org>
65348         Make it possible to use module 'gethostname' without module 'close'.
65349         * lib/unistd.in.h (close): Evoke a link error only if
65350         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
65352         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65353         * modules/unistd (Makefile.am): Substitute
65354         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65355         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
65356         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
65357         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
65358         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65359         * modules/sys_ioctl (Makefile.am): Substitute
65360         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65361         * modules/socket (configure.ac): On native Windows, set
65362         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
65363         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
65364         Reported by Sam Steingold <sds@gnu.org>.
65366 2009-08-10  Bruno Haible  <bruno@clisp.org>
65368         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
65369         * modules/ioctl (configure.ac): Likewise.
65371 2009-08-10  Bruno Haible  <bruno@clisp.org>
65373         Avoid collision between gnulib wrapper and libintl wrapper.
65374         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
65375         already defined in intl/printf.c.
65376         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
65377         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
65379 2009-08-09  Bruno Haible  <bruno@clisp.org>
65381         Make <sys/select.h> really self-contained, also on Solaris 10.
65382         * lib/sys_select.in.h: Include <string.h>.
65383         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
65384         Solaris 10 problem.
65385         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
65386         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
65387         Reported by Jim Meyering.
65389 2009-08-09  Bruno Haible  <bruno@clisp.org>
65391         Avoid warnings from 'aclocal' that are due to a use of macro name
65392         AM_XGETTEXT_OPTION that is not defined in automake.
65393         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
65394         automake.
65395         * modules/error (configure.ac): Likewise.
65396         * modules/propername (configure.ac): Likewise.
65397         * modules/vasprintf (configure.ac): Likewise.
65398         * modules/verror (configure.ac): Likewise.
65399         * modules/xprintf (configure.ac): Likewise.
65400         * modules/xvasprintf (configure.ac): Likewise.
65402 2009-08-08  Bruno Haible  <bruno@clisp.org>
65404         Avoid compilation error in C++ mode.
65405         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
65406         Reported by Sam Steingold <sds@gnu.org>.
65408 2009-08-08  Bruno Haible  <bruno@clisp.org>
65410         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
65411         for the various Unix platforms.
65412         * doc/posix-headers/limits.texi: Update platforms list regarding
65413         HOST_NAME_MAX.
65414         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65416 2009-08-07  Jim Meyering  <meyering@redhat.com>
65418         selinux-at: fix typo in a comment
65419         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
65420         Spotted by Paolo Bonzini.
65422         selinux-at: remove redundant m4 code, add documentation
65423         * modules/selinux-at (configure.ac): Remove redundant code.
65424         LIB_SELINUX is already set via the dependent module, selinux-h.
65425         (Include): Add quotes around selinux-at.h.
65426         * lib/selinux-at.h: Add documentation.
65427         Reported by Bruno Haible in
65428         http://marc.info/?l=gnulib-bug&m=124958988300749
65430 2009-08-07  Bruno Haible  <bruno@clisp.org>
65432         Avoid link error on MacOS X 10.3 and 10.4.
65433         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
65434         on non-ELF systems.
65435         * lib/argp-pv.c (argp_program_version): Likewise.
65436         Reported by Simon Josefsson.
65438 2009-08-07  Simon Josefsson  <simon@josefsson.org>
65440         * tests/test-version-etc.sh: Use $EXEEXT.
65442 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
65444         update-copyright: update documentation to point to maint.mk
65445         * build-aux/update-copyright: Here.
65447 2009-08-06  Jim Meyering  <meyering@redhat.com>
65449         maint.mk: support update-copyright-local
65450         * top/maint.mk (update-copyright-local): Define place-holder.
65451         (update-copyright): Depend on $(update-copyright-local).
65453 2009-08-06  Jim Meyering  <meyering@redhat.com>
65455         selinux-at: new module
65456         Initially written for coreutils, this module will soon be
65457         used by findutils, too.
65458         * MODULES.html.sh [Misc]: Add selinux-at.
65459         * lib/selinux-at.h: New file, from coreutils.
65460         * lib/selinux-at.c: Likewise.
65461         * modules/selinux-at: Likewise.
65462         (License): Change from LGPL to GPL, since it depends
65463         on the GPL'd openat module.
65465         doc: update README
65466         * README: Remove references to cogito.
65467         Remove cvs-repo-updating instructions from 2007.
65468         Don't imply that CVS is better if you have limited disk space.
65470 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65472         update-copyright: support C-style comments
65473         * build-aux/update-copyright: Implement and document.
65474         * tests/test-update-copyright.sh: Test.
65476 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65478         update-copyright: support omitted "(C)"
65479         * build-aux/update-copyright: Implement and document.  Also,
65480         allow variable whitespace before "(C)".
65481         * tests/test-update-copyright.sh: Test.
65483 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65485         update-copyright: don't trip on non-FSF copyright statements
65486         * build-aux/update-copyright: Fix so that the first correctly
65487         formatted FSF copyright statement is recognized no matter what
65488         appears before it.  Update documentation.
65489         * tests/test-update-copyright.sh: Test that.
65491 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65493         update-copyright: clean up code a little
65494         * build-aux/update-copyright: Append "_re" to the name of any
65495         variable holding a regular expression.
65496         Replace "old" and "new" with "stmt" in variable names.
65497         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
65498         handled correctly.
65499         Format code more consistently.
65501 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
65503         update-copyright-tests: improve portability
65504         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
65505         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
65507 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65509         update-copyright: support @copyright{} and &copy;
65510         * build-aux/update-copyright: Implement and document.
65511         * tests/test-update-copyright.sh: Test.
65513 2009-08-04  Jim Meyering  <meyering@redhat.com>
65515         update-copyright-tests: correctly test EOL=\r\n handling
65516         * tests/test-update-copyright.sh: Put \r at the end of some lines
65517         for the dos-eol tests.  Based on a patch by Joel E. Denny.
65519         maint.mk: make update-copyright exclusion list more configurable
65520         * top/maint.mk (update-copyright): Default to excluding COPYING,
65521         but allow an override, in case someone does want to update that file.
65523         maint.mk: don't update copyright date in COPYING
65524         * top/maint.mk (update-copyright): Exclude COPYING.
65526         maint.mk: add a copyright-updating rule
65527         * top/maint.mk (update-copyright): New rule.
65528         Derived from coreutils/Makefile.am.
65530         update-copyright: rename some variables
65531         * build-aux/update-copyright: Rename a few variables for clarity.
65532         Tweak syntax.  List Joel E. Denny as coauthor.
65534 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
65536         update-copyright: fix bug for 2-digit last year and add tests
65537         * build-aux/update-copyright: Fix bug.
65538         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
65539         specified.
65540         * modules/update-copyright-tests: New
65541         * tests/test-update-copyright.sh: New.
65543 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65545         update-copyright: handle leading tabs in line prefix
65546         * build-aux/update-copyright: Count leading tabs as 8 spaces
65547         when computing margin.  This helps with the formatting of
65548         ChangeLogs, for example.
65549         Fix documentation a little.
65551 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65553         update-copyright: support EOL=\r\n
65554         * build-aux/update-copyright: Implement that.
65556 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
65558         update-copyright: automatically format copyright statements
65559         * build-aux/update-copyright: Implement that.
65560         Also, be a little more predictable and safer by always failing
65561         when the full copyright format is not perfectly recognized as an
65562         unbroken whole.  Discussed at
65563         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
65564         Rewrite documentation.
65566 2009-08-03  Bruno Haible  <bruno@clisp.org>
65568         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
65570 2009-08-02  Bruno Haible  <bruno@clisp.org>
65572         Tests for module 'uname'.
65573         * modules/uname-tests: New file.
65574         * tests/test-uname.c: New file.
65576         New module 'uname'.
65577         * lib/uname.c: New file.
65578         * m4/uname.m4: New file.
65579         * modules/uname: New file.
65580         * doc/posix-functions/uname.texi: Mention the new module.
65582 2009-08-02  Bruno Haible  <bruno@clisp.org>
65584         Tests for module 'sys_utsname'.
65585         * modules/sys_utsname-tests: New file.
65586         * tests/test-sys_utsname.c: New file.
65588         New module 'sys_utsname'.
65589         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
65590         * m4/sys_utsname_h.m4: New file.
65591         * modules/sys_utsname: New file.
65592         * doc/posix-headers/sys_utsname.texi: Mention the new module.
65594 2009-08-02  Bruno Haible  <bruno@clisp.org>
65596         Implicitly initialize the sockets library.
65597         * lib/gethostname.c: Include sockets.h.
65598         (rpl_gethostname): Invoke gl_sockets_startup.
65599         * lib/socket.c: Include sockets.h.
65600         (rpl_socket): Invoke gl_sockets_startup.
65601         * modules/gethostname (Depends-on): Add sockets.
65602         * modules/socket (Depends-on): Likewise.
65603         * tests/test-poll.c: Don't include sockets.h.
65604         (main): Don't invoke gl_sockets_startup.
65605         * tests/test-select.c: Don't include sockets.h.
65606         (main): Don't invoke gl_sockets_startup.
65608 2009-08-02  Bruno Haible  <bruno@clisp.org>
65610         Allow multiple calls to gl_sockets_startup.
65611         * lib/sockets.c (initialized_sockets_version): New variable.
65612         (gl_sockets_startup): Do nothing if already called for this or a higher
65613         version.
65614         (gl_sockets_cleanup): Reset initialized_sockets_version.
65616 2009-08-03  Simon Josefsson  <simon@josefsson.org>
65618         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
65619         different project/version.
65621 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
65622             Bruno Haible  <bruno@clisp.org>
65624         Tests for module 'pipe-filter-gi'.
65625         * modules/pipe-filter-gi-tests: New file.
65626         * tests/test-pipe-filter-gi1.sh: New file.
65627         * tests/test-pipe-filter-gi1.c: New file.
65628         * tests/test-pipe-filter-gi2.sh: New file.
65629         * tests/test-pipe-filter-gi2-main.c: New file.
65630         * tests/test-pipe-filter-gi2-child.c: New file.
65632         New module 'pipe-filter-gi'.
65633         * lib/pipe-filter-gi.c: New file.
65634         * modules/pipe-filter-gi: New file.
65636 2009-08-02  Bruno Haible  <bruno@clisp.org>
65637             Paolo Bonzini  <bonzini@gnu.org>
65639         Tests for module 'pipe-filter-ii'.
65640         * modules/pipe-filter-ii-tests: New file.
65641         * tests/test-pipe-filter-ii1.sh: New file.
65642         * tests/test-pipe-filter-ii1.c: New file.
65643         * tests/test-pipe-filter-ii2.sh: New file.
65644         * tests/test-pipe-filter-ii2-main.c: New file.
65645         * tests/test-pipe-filter-ii2-child.c: New file.
65647         New module 'pipe-filter-ii'.
65648         * lib/pipe-filter.h: New file.
65649         * lib/pipe-filter-ii.c: New file.
65650         * lib/pipe-filter-aux.h: New file.
65651         * modules/pipe-filter-ii: New file.
65653 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65655         * lib/gc-libgcrypt.c: Change copyright to FSF.
65656         * lib/gc-gnulib.c: Likewise.
65658 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
65660         * lib/gethostname.c: Include limits.h.
65662 2009-08-02  Simon Josefsson  <simon@josefsson.org>
65663             Bruno Haible  <bruno@clisp.org>
65665         Ensure HOST_NAME_MAX as part of the gethostname module.
65666         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
65667         define also HOST_NAME_MAX.
65668         * tests/test-gethostname.c: Include <limits.h>.
65669         (main): Check also HOST_NAME_MAX.
65670         * doc/posix-headers/limits.texi: Document the mingw problem.
65672 2009-08-02  Bruno Haible  <bruno@clisp.org>
65674         * lib/gethostname.c (gethostname): Fix handling of large len argument.
65675         Add comments.
65677 2009-03-31  Simon Josefsson  <simon@josefsson.org>
65679         * lib/gethostname.c: Add Windows wrapper.
65680         * m4/gethostname.m4: Look for gethostname in -lws2_32.
65681         * modules/gethostname: Depend on sys_socket & errno, for also
65682         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
65683         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
65685 2009-07-31  Jim Meyering  <meyering@redhat.com>
65687         getloadavg: fix symbol name in comment
65688         * lib/getloadavg.c: Correct a typo I introduced when adding
65689         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
65690         Matt Kraai spotted the problem.
65692 2009-07-29  Matt Kraai  <mkraai@beckman.com>
65694         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
65695         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
65696         code also if ! defined N_NAME_POINTER.
65697         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
65698         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
65699         but the n_name member is a 12-byte array.
65701 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
65703         update-copyright: generalize comment handling
65704         * build-aux/update-copyright: Handle copyright statements
65705         within more comment styles.
65706         Document usage.
65707         Report any file with an external copyright holder or parse failure.
65709 2009-07-29  Jim Meyering  <meyering@redhat.com>
65711         mktime: correct setting of REPLACE_MKTIME
65712         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
65714         update-copyright: new module
65715         * modules/update-copyright: New file.
65716         * build-aux/update-copyright: New file.
65717         * MODULES.html.sh (maint+release support): Add update-copyright.
65719 2009-07-27  Bruno Haible  <bruno@clisp.org>
65721         Fix compilation error when <ctime> is used and mktime is replaced.
65722         * lib/time.in.h (mktime): New declaration.
65723         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
65724         REPLACE_MKTIME instead of defining mktime in config.h.
65725         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
65726         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
65727         Reported by Ross McFarland <rwmcfa1@neces.com>.
65729 2009-07-27  Bruno Haible  <bruno@clisp.org>
65731         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
65732         Reported by Matt Kraai <mkraai@beckman.com>.
65734 2009-07-25  Jim Meyering  <meyering@redhat.com>
65736         maint.mk: avoid warnings about missing files
65737         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
65738         diagnostic when .prev-version does not exist.
65739         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
65740         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
65741         nonexistent cfg.mk.
65742         Suggestions from Simon Josefsson.
65744 2009-07-25  Bruno Haible  <bruno@clisp.org>
65746         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
65747         defined as macros. Needed on QNX 6.4.1.
65748         Reported by Matt Kraai <mkraai@beckman.com>.
65750 2009-07-23  Jim Meyering  <meyering@redhat.com>
65752         maint.mk: invoke "make dist" with a working value of XZ_OPT
65753         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
65755 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
65757         Make fseeko.c compile on QNX.
65758         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
65760 2009-07-22  Peter Simons  <simons@cryp.to>
65762         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
65763         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
65764         * lib/md4.h: Likewise.
65765         * lib/md5.h: Likewise.
65766         * lib/sha1.h: Likewise.
65767         * lib/sha256.h: Likewise.
65768         * lib/sha512.h: Likewise.
65770         tests-sha1: don't assign literal string to 'char *' variable
65771         * tests/test-sha1.c (main): Declare locals with "const" to match
65772         attributes of the right hand side.
65774 2009-07-21  Eric Blake  <ebb9@byu.net>
65776         dup2: fix more mingw problems
65777         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
65778         fd to itself.
65779         * doc/posix-functions/dup2.texi (dup2): Document the bug.
65780         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
65781         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
65782         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
65783         care of mingw bugs.
65785 2009-07-21  Jim Meyering  <meyering@redhat.com>
65787         vc-list-files: avoid failure when /bin/sh is dash
65788         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
65789         On some Debian based systems, /bin/sh is a symlink to dash, and running
65790         this command would omit the "/" following each 'tests' prefix:
65791           dash -x build-aux/vc-list-files -C . tests
65792         That is because bash and dash work differently:
65793           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
65794           bash ok
65795           dash odd
65797 2009-07-21  Eric Blake  <ebb9@byu.net>
65799         dup2-tests: test previous patch
65800         * modules/dup2-tests: New file.
65801         * tests/test-dup2.c: Likewise.
65802         * tests/test-open.c (main): Avoid unspecified behavior.
65803         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
65804         test.
65806         dup2: work around mingw and cygwin 1.5 bug
65807         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
65808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
65809         * modules/unistd (Makefile.am): Substitute it.
65810         * lib/unistd.in.h (dup2): Declare the replacement.
65811         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
65812         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
65813         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
65814         * modules/execute (Depends-on): Add dup2.
65815         * modules/fseterr (Depends-on): Likewise.
65816         * modules/pipe (Depends-on): Likewise.
65817         * modules/posix_spawn-internal (Depends-on): Likewise.
65819 2009-07-21  Bruno Haible  <bruno@clisp.org>
65821         * modules/.gitattributes: New file.
65823 2009-07-20  Bruno Haible  <bruno@clisp.org>
65825         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
65826         (main): Use it.
65828 2009-07-20  Eric Blake  <ebb9@byu.net>
65830         test-pipe: make a bit more robust.
65831         * tests/test-pipe.c (myerr): Allow error messages regardless of
65832         what we do to stderr.
65833         (test_pipe): Rearrange to avoid deadlock.
65834         (child_main): Try a larger read, to ensure we avoided deadlock.
65835         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
65836         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
65837         if misused.
65839 2009-07-19  Jim Meyering  <meyering@redhat.com>
65841         fts: avoid false-positive cycle-detection
65842         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
65843         for each new command line argument.
65845 2009-07-19  Bruno Haible  <bruno@clisp.org>
65847         Fix build error on mingw with the modules sys_select and unistd.
65848         * modules/acl-tests (Depends-on): Add close.
65849         * modules/binary-io-tests (Depends-on): Likewise.
65850         * modules/closein-tests (Depends-on): Likewise.
65851         * modules/flock-tests (Depends-on): Likewise.
65852         * modules/fsync-tests (Depends-on): Likewise.
65853         * modules/lseek-tests (Depends-on): Likewise.
65854         * modules/pipe-tests (Depends-on): Likewise.
65855         * modules/posix_spawn-tests (Depends-on): Likewise.
65856         * modules/posix_spawnp-tests (Depends-on): Likewise.
65857         * modules/stat-time-tests (Depends-on): Likewise.
65858         * modules/yesno-tests (Depends-on): Likewise.
65860 2009-07-19  Bruno Haible  <bruno@clisp.org>
65862         Unify conditionals.
65863         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
65864         macros, not at the compiler macros.
65865         * lib/pipe.c: Likewise.
65866         * lib/execute.c: Likewise.
65867         * lib/spawni.c: Likewise.
65869 2009-07-19  Bruno Haible  <bruno@clisp.org>
65871         Fix handling of closed stdin/stdout/stderr on mingw.
65872         * lib/w32spawn.h: Include unistd.h.
65873         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
65874         file descriptor with O_NOINHERIT flag.
65875         (fd_safer_noinherit): New function, based on fd-safer.c.
65876         (dup_safer_noinherit): New function, based on dup-safer.c.
65877         (undup_safer_noinherit): New function.
65878         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
65879         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
65880         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
65881         instead of fd_safer.
65882         * tests/test-pipe.c: Include <windows.h>.
65883         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
65884         result.
65886         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
65887         from main.
65888         (test_pipe): Pass an extra argument for disambiguation.
65889         (main): Invoke parent_main or child_main.
65891         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
65892         consistently.
65894 2009-07-18  Eric Blake  <ebb9@byu.net>
65896         test-pipe: fix mingw build
65897         * tests/test-pipe.c (main): Avoid fcntl on mingw.
65899 2009-07-18  Bruno Haible  <bruno@clisp.org>
65901         * modules/pipe-tests (Makefile.am): Fix typo.
65903 2009-07-18  Eric Blake  <ebb9@byu.net>
65905         error: fix mingw build
65906         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
65907         Reported by Bruno Haible.
65909         error: avoid undefined use of stdout
65910         * lib/error.c (error, error_at_line): Check that fd 1 is open
65911         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
65912         is handling faults and the close_stdout module wants to report the
65913         detection of closed stdout as an error.
65915 2009-07-17  Eric Blake  <ebb9@byu.net>
65917         pipe: be robust in face of closed fds
65918         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
65919         should cause child to misbehave.
65920         * modules/pipe-tests: New module.
65921         * tests/test-pipe.c: New file.
65922         * tests/test-pipe.sh: New file.
65923         Reported by Akim Demaille.
65925 2009-07-14  Bruno Haible  <bruno@clisp.org>
65927         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
65928         Reported by anonymous kc.
65930 2009-07-07  Jim Meyering  <meyering@redhat.com>
65932         maint.mk: don't look for translatable strings in *.m4 or *.mk
65933         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
65934         when searching for translatable strings.
65936 2009-07-05  Jim Meyering  <meyering@redhat.com>
65938         remove superfluous parentheses in STREQ definition
65939         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
65940         * lib/getugroups.c (STREQ): Likewise.
65941         * lib/fnmatch.c (STREQ): Likewise.
65942         Spotted by Bruno Haible.
65944 2009-07-04  Jim Meyering  <meyering@redhat.com>
65946         argv-iter: new module
65947         * MODULES.html.sh: Add argv-iter.
65948         * lib/argv-iter.c, lib/argv-iter.h: New files.
65949         * modules/argv-iter: New file.
65950         * modules/argv-iter-tests: New file.
65951         * tests/test-argv-iter.c: Test it.
65953 2009-07-04  Bruno Haible  <bruno@clisp.org>
65955         Fix assertion.
65956         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
65957         contains more exact copies of a given entry than file2, leave the extra
65958         copies unpaired rather than aborting.
65959         Reported by Eric Blake.
65961 2009-07-02  Bruno Haible  <bruno@clisp.org>
65963         Speedup git-merge-changelog for git cherry-pick.
65964         * lib/git-merge-changelog.c (struct entries_mapping): New type.
65965         (entries_mapping_get): New function, extracted from compute_mapping.
65966         (entries_mapping_reverse_get): New function.
65967         (compute_mapping): Add a 'full' argument. Return the result in a
65968         'struct entries_mapping'.
65969         (main): Update. Access the mappings through entries_mapping_get.
65970         Reported by Eric Blake.
65972 2009-07-02  Bruno Haible  <bruno@clisp.org>
65974         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
65975         best_i.
65977 2009-07-02  Bruno Haible  <bruno@clisp.org>
65979         Speed up approximate search for matching ChangeLog entries.
65980         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
65981         argument. Call fstrcmp_bounded instead of fstrcmp.
65982         (compute_mapping, try_split_merged_entry, main): Update callers.
65984 2009-07-02  Bruno Haible  <bruno@clisp.org>
65986         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
65988 2009-06-30  Bruno Haible  <bruno@clisp.org>
65990         Reduce the number of uc_is_cased calls.
65991         * lib/unicase.h (casing_suffix_context_t): Add
65992         'first_char_except_ignorable' field.
65993         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
65994         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
65995         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
65996         Update initializer.
65997         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
65998         case-ignorable characters.
65999         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
66000         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
66001         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
66002         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
66003         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
66005 2009-06-30  Bruno Haible  <bruno@clisp.org>
66007         Tests for module 'unicase/ignorable'.
66008         * modules/unicase/ignorable-tests: New file.
66009         * tests/unicase/test-ignorable.c: New file, generated by
66010         gen-uni-tables.
66012         Tests for module 'unicase/cased'.
66013         * modules/unicase/cased-tests: New file.
66014         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
66015         * tests/unicase/test-predicate-part1.h: New file, derived from
66016         tests/unictype/test-predicate-part1.h.
66017         * tests/unicase/test-predicate-part2.h: New file, same as
66018         tests/unictype/test-predicate-part2.h.
66020         Fix evaluation of "Before C" condition of FINAL_SIGMA.
66021         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
66022         (output_casing_properties): New function.
66023         (main): Call it.
66024         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
66025         * lib/unicase/cased.c: Include unictype/bitmap.h.
66026         (uc_is_cased): Define through a bitmap lookup.
66027         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
66028         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
66029         (uc_is_case_ignorable): Define through a bitmap lookup.
66030         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
66031         lib/unictype/bitmap.h.
66032         (Depends-on): Add inline. Clean up.
66033         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
66034         lib/unictype/bitmap.h.
66035         (Depends-on): Add inline. Clean up.
66036         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
66037         recognition.
66038         * tests/unicase/test-u16-tolower.c (main): Likewise.
66039         * tests/unicase/test-u32-tolower.c (main): Likewise.
66041 2009-06-30  Bruno Haible  <bruno@clisp.org>
66043         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
66044         * lib/unicase/u16-casemap.c: Likewise.
66045         * lib/unicase/u32-casemap.c: Likewise.
66047 2009-06-29  Bruno Haible  <bruno@clisp.org>
66049         Define u32_casefold as a wrapper around u32_ct_casefold.
66050         * lib/unicase/u32-casefold.c: Update.
66051         * modules/unicase/u32-casefold (Depends-on): Add
66052         unicase/u32-ct-casefold, unicase/empty-prefix-context,
66053         unicase/empty-suffix-context. Clean up.
66055         Define u16_casefold as a wrapper around u16_ct_casefold.
66056         * lib/unicase/u16-casefold.c: Update.
66057         * modules/unicase/u16-casefold (Depends-on): Add
66058         unicase/u16-ct-casefold, unicase/empty-prefix-context,
66059         unicase/empty-suffix-context. Clean up.
66061         Define u8_casefold as a wrapper around u8_ct_casefold.
66062         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
66063         * lib/unicase/u8-casefold.c: Update.
66064         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
66065         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66067         Define u32_totitle as a wrapper around u32_ct_totitle.
66068         * lib/unicase/u32-totitle.c: Update.
66069         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
66070         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66072         Define u16_totitle as a wrapper around u16_ct_totitle.
66073         * lib/unicase/u16-totitle.c: Update.
66074         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
66075         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66077         Define u8_totitle as a wrapper around u8_ct_totitle.
66078         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
66079         functions.
66080         (FUNC): Delegate to U_CT_TOTITLE.
66081         * lib/unicase/u8-totitle.c: Update.
66082         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
66083         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
66085         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
66086         invocation.
66087         * modules/unicase/u32-tolower (Depends-on): Add
66088         unicase/empty-prefix-context, unicase/empty-suffix-context.
66090         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
66091         invocation.
66092         * modules/unicase/u16-tolower (Depends-on): Add
66093         unicase/empty-prefix-context, unicase/empty-suffix-context.
66095         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
66096         * modules/unicase/u8-tolower (Depends-on): Add
66097         unicase/empty-prefix-context, unicase/empty-suffix-context.
66099         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
66100         invocation.
66101         * modules/unicase/u32-toupper (Depends-on): Add
66102         unicase/empty-prefix-context, unicase/empty-suffix-context.
66104         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
66105         invocation.
66106         * modules/unicase/u16-toupper (Depends-on): Add
66107         unicase/empty-prefix-context, unicase/empty-suffix-context.
66109         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
66110         * modules/unicase/u8-toupper (Depends-on): Add
66111         unicase/empty-prefix-context, unicase/empty-suffix-context.
66113         New module 'unicase/u32-ct-casefold'.
66114         * lib/unicase/u32-ct-casefold.c: New file.
66115         * modules/unicase/u32-ct-casefold: New file.
66117         New module 'unicase/u16-ct-casefold'.
66118         * lib/unicase/u16-ct-casefold.c: New file.
66119         * modules/unicase/u16-ct-casefold: New file.
66121         New module 'unicase/u8-ct-casefold'.
66122         * lib/unicase/u8-ct-casefold.c: New file.
66123         * lib/unicase/u-ct-casefold.h: New file, derived from
66124         lib/unicase/u-casefold.h.
66125         * modules/unicase/u8-ct-casefold: New file.
66127         New module 'unicase/u32-ct-totitle'.
66128         * lib/unicase/u32-ct-totitle.c: New file.
66129         * modules/unicase/u32-ct-totitle: New file.
66131         New module 'unicase/u16-ct-totitle'.
66132         * lib/unicase/u16-ct-totitle.c: New file.
66133         * modules/unicase/u16-ct-totitle: New file.
66135         New module 'unicase/u8-ct-totitle'.
66136         * lib/unicase/u8-ct-totitle.c: New file.
66137         * lib/unicase/u-ct-totitle.h: New file, derived from
66138         lib/unicase/u-totitle.h.
66139         * modules/unicase/u8-ct-totitle: New file.
66141         New module 'unicase/u32-ct-tolower'.
66142         * lib/unicase/u32-ct-tolower.c: New file.
66143         * modules/unicase/u32-ct-tolower: New file.
66145         New module 'unicase/u16-ct-tolower'.
66146         * lib/unicase/u16-ct-tolower.c: New file.
66147         * modules/unicase/u16-ct-tolower: New file.
66149         New module 'unicase/u8-ct-tolower'.
66150         * lib/unicase/u8-ct-tolower.c: New file.
66151         * modules/unicase/u8-ct-tolower: New file.
66153         New module 'unicase/u32-ct-toupper'.
66154         * lib/unicase/u32-ct-toupper.c: New file.
66155         * modules/unicase/u32-ct-toupper: New file.
66157         New module 'unicase/u16-ct-toupper'.
66158         * lib/unicase/u16-ct-toupper.c: New file.
66159         * modules/unicase/u16-ct-toupper: New file.
66161         New module 'unicase/u8-ct-toupper'.
66162         * lib/unicase/u8-ct-toupper.c: New file.
66163         * modules/unicase/u8-ct-toupper: New file.
66165         Add context arguments to u*_casemap functions.
66166         * lib/unicase/unicasemap.h: Include unicase.h.
66167         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
66168         suffix_context arguments.
66169         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
66170         functions.
66171         (FUNC): Add prefix_context and suffix_context arguments. Use
66172         uc_is_cased and uc_is_case_ignorable.
66173         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
66174         * lib/unicase/u16-casemap.c: Likewise.
66175         * lib/unicase/u32-casemap.c: Likewise.
66176         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
66177         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66178         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
66179         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66180         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
66181         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
66183         New module 'unicase/u32-suffix-context'.
66184         * lib/unicase/u32-suffix-context.c: New file.
66185         * modules/unicase/u32-suffix-context: New file.
66187         New module 'unicase/u16-suffix-context'.
66188         * lib/unicase/u16-suffix-context.c: New file.
66189         * modules/unicase/u16-suffix-context: New file.
66191         New module 'unicase/u8-suffix-context'.
66192         * lib/unicase/u8-suffix-context.c: New file.
66193         * lib/unicase/u-suffix-context.h: New file.
66194         * modules/unicase/u8-suffix-context: New file.
66196         New module 'unicase/empty-suffix-context'.
66197         * lib/unicase/empty-suffix-context.c: New file.
66198         * modules/unicase/empty-suffix-context: New file.
66200         New module 'unicase/u32-prefix-context'.
66201         * lib/unicase/u32-prefix-context.c: New file.
66202         * modules/unicase/u32-prefix-context: New file.
66204         New module 'unicase/u16-prefix-context'.
66205         * lib/unicase/u16-prefix-context.c: New file.
66206         * modules/unicase/u16-prefix-context: New file.
66208         New module 'unicase/u8-prefix-context'.
66209         * lib/unicase/u8-prefix-context.c: New file.
66210         * lib/unicase/u-prefix-context.h: New file.
66211         * lib/unicase/context.h: New file.
66212         * modules/unicase/u8-prefix-context: New file.
66214         New module 'unicase/empty-prefix-context'.
66215         * lib/unicase/empty-prefix-context.c: New file.
66216         * modules/unicase/empty-prefix-context: New file.
66218         New module 'unicase/ignorable'.
66219         * lib/unicase/ignorable.c: New file.
66220         * modules/unicase/ignorable: New file.
66222         New module 'unicase/cased'.
66223         * lib/unicase/caseprop.h: New file.
66224         * lib/unicase/cased.c: New file.
66225         * modules/unicase/cased: New file.
66227         New functions for case mapping of substrings.
66228         * lib/unicase.h (casing_prefix_context_t): New type.
66229         (unicase_empty_prefix_context): New variable.
66230         (u8_casing_prefix_context, u16_casing_prefix_context,
66231         u32_casing_prefix_context, u8_casing_prefixes_context,
66232         u16_casing_prefixes_context, u32_casing_prefixes_context): New
66233         declarations.
66234         (casing_suffix_context_t): New type.
66235         (unicase_empty_suffix_context): New variable.
66236         (u8_casing_suffix_context, u16_casing_suffix_context,
66237         u32_casing_suffix_context, u8_casing_suffixes_context,
66238         u16_casing_suffixes_context, u32_casing_suffixes_context,
66239         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
66240         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
66241         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
66242         declarations.
66244 2009-06-28  Jim Meyering  <meyering@redhat.com>
66246         boostrap: indent only with spaces
66247         * build-aux/bootstrap: Indent only with spaces, never TABs.
66249         bootstrap: split long lines
66250         * build-aux/bootstrap: Keep line length < 80.
66252         bootstrap: sync from coreutils
66253         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
66254         just as autoreconf does.  Verify a list of prerequisite
66255         package-name,version-number pairs if defined in bootstrap.conf.
66256         Refer to README-prereq, if prerequisites are not satisfied.
66258 2009-06-27  Eric Blake  <ebb9@byu.net>
66260         tests: add test for bogus NULL definition
66261         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
66262         * tests/test-stdlib.c: Likewise.
66263         * tests/test-string.c: Likewise.
66264         * tests/test-locale.c: Likewise.
66265         * tests/test-unistd.c: Likewise.
66266         * modules/stdio-tests (Depends-on): Add verify.
66267         * modules/stdlib-tests (Depends-on): Likewise.
66268         * modules/string-tests (Depends-on): Likewise.
66269         * modules/locale-tests (Depends-on): Likewise.
66270         * modules/unistd-tests (Depends-on): Likewise.
66272 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
66274         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
66275         self-explaining comment.
66276         * m4/selinux-selinux-h: Update serial.
66277         (gl_LIBSELINUX): New macro, adding a warning for missing development
66278         packages to code extracted from...
66279         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
66280         Add warning for missing development packages here, too.
66282 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
66284         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
66286 2009-06-25  Eric Blake  <ebb9@byu.net>
66288         version-etc: fix regression
66289         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
66290         gcc.
66291         (version_etc): Use it, to catch bugs with trailing NULL.
66292         * lib/version-etc.c (version_etc_arn): Delete unused argument.
66293         (version_etc_va): Fix logic bug.
66294         * modules/version-etc-tests: Add test.
66295         * tests/test-version-etc.c: New file.
66296         * tests/test-version-etc.sh: Likewise.
66298 2009-06-25  Sam Steingold  <sds@gnu.org>
66300         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
66301         mbtowc declaration.
66303 2009-06-25  Eric Blake  <ebb9@byu.net>
66305         fpurge: migrate into <stdio.h>
66306         * lib/fpurge.h: Delete...
66307         * lib/stdio.in.h (fpurge): ...and declare here, instead.
66308         * lib/fpurge.c (fpurge): Change declaring header.
66309         * modules/fpurge (Files): Drop deleted file.
66310         (Depends-on): Add stdio.
66311         (configure.ac): Set witness.
66312         * modules/stdio (Makefile.am): Support fpurge macros.
66313         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
66314         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
66315         * lib/fflush.c: Update client.
66316         * tests/test-fpurge.c: Likewise.
66317         * NEWS: Mention the change.
66319 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66321         * lib/argp-version-etc.c (program_authors): Add const
66322         qualifier.
66323         * lib/version-etc.c: Fix typos in the comments.
66324         * modules/argp-version-etc: Depends on version-etc.
66326 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66328         argp-version-etc: new module.
66330         * lib/argp-version-etc.c: New file.
66331         * lib/argp-version-etc.h: New file.
66332         * modules/argp-version-etc: New file.
66333         * modules/argp-version-etc-tests: New file.
66334         * tests/test-argp-version-etc.c: New test.
66335         * tests/test-argp-version-etc-1.sh: New test.
66337 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
66339         Provide additional interfaces and documentation for version-etc
66340         module.
66342         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
66343         interfaces.
66344         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
66345         prototypes.
66347 2009-06-24  Bruno Haible  <bruno@clisp.org>
66349         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
66350         HAVE_LIB${NAME} macro.
66351         Reported by Sam Steingold <sds@gnu.org>.
66353 2009-06-23  Simon Josefsson  <simon@josefsson.org>
66355         * modules/hash-tests (test_hash_LDADD): Link to libintl when
66356         needed.
66358 2009-06-21  Bruno Haible  <bruno@clisp.org>
66360         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
66361         work.
66362         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
66363         together with LIB${NAME}, LTLIB${NAME}.
66364         Reported by Sam Steingold <sds@gnu.org>.
66366 2009-06-20  Jim Meyering  <meyering@redhat.com>
66368         tests: make sc_require_test_exit_idiom more generic
66369         * top/maint.mk (Exit_witness_file): New overridable variable.
66370         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
66371         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
66373 2009-06-19  Jim Meyering  <meyering@redhat.com>
66375         hash: reverse order of src/dst parameters in an internal interface
66376         * lib/hash.c (transfer_entries): Reverse order of parameters to
66377         put DST before SRC.  Adjust callers.
66379         tests: test-hash: avoid wholesale duplication
66380         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
66381         Instead, use a loop and add a single conditional.
66383         tests: test-hash: allow seed selection via a command line argument
66384         * tests/test-hash.c (get_seed): New function.
66385         (main): Use it.
66387 2009-06-19  Eric Blake  <ebb9@byu.net>
66389         hash: avoid memory leak on allocation failure
66390         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
66391         failure.  Factor repeated algorithm...
66392         (transfer_entries): ...into new helper routine.
66393         (hash_delete): React to hash_rehash return value.
66395         hash: reduce memory pressure in hash_rehash no-op case
66396         * lib/hash.c (next_prime): Avoid overflow.
66397         (hash_initialize): Factor bucket size computation...
66398         (compute_bucket_size): ...into new helper function.
66399         (hash_rehash): Use new function and open coding to reduce memory
66400         pressure, and avoid a memory leak in USE_OBSTACK code.
66401         Reported by Jim Meyering.
66403 2009-06-18  Eric Blake  <ebb9@byu.net>
66405         hash: make rotation more obvious
66406         * modules/hash (Depends-on): Add bitrotate and stdint.
66407         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
66408         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
66409         (SIZE_MAX): Rely on headers for definition.
66410         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
66411         (raw_hasher): Use rotr_sz.
66412         Suggested by Jim Meyering.
66414         hash: fix memory leak in last patch
66415         * lib/hash.c (hash_rehash): Avoid memory leak.
66417         hash: avoid no-op rehashing
66418         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
66420         hash: provide default callback functions
66421         * lib/hash.c (raw_hasher, raw_comparator): New functions.
66422         (hash_initialize): Use them as defaults.
66423         * tests/test-hash.c (main): Test this.
66425         hash: minor optimization
66426         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
66427         when possible.
66428         (hash_initialize): Document this promise.
66429         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
66430         * tests/test-hash.c (hash_compare_strings): Test this.
66432 2009-06-18  Bruno Haible  <bruno@clisp.org>
66434         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
66435         going to be replaced anyway.
66437 2009-06-18  Bruno Haible  <bruno@clisp.org>
66439         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
66440         in one place.
66441         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
66442         be replaced anyway.
66444 2009-06-18  Eric Blake  <ebb9@byu.net>
66446         hash: check for resize before insertion
66447         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
66448         threshold before insertion, so that a pathological hash_rehash
66449         that fills every bucket can still trigger another rehash.
66451 2009-06-18  Jim Meyering  <meyering@redhat.com>
66453         hash-tests: add a loop around the small tests
66454         * tests/test-hash.c (main): Repeat small tests with selected
66455         small initial table sizes.
66457 2009-06-17  Eric Blake  <ebb9@byu.net>
66459         hash: minor cleanups
66460         * lib/hash.h (hash_entry): Make opaque, by moving...
66461         * lib/hash.c (hash_entry): ...here.
66462         (hash_insert): Clarify restrictions on what can be inserted.
66463         (hash_get_next): Clarify when it is safe to remove an element
66464         during traversal.
66465         (check_tuning): Skip verification when tuning is known safe.
66466         (hash_initialize): Clarify restrictions on tuning.
66468 2009-06-17  Jim Meyering  <jim@meyering.net>
66469         and Eric Blake  <ebb9@byu.net>
66471         hash-tests: new module
66472         * modules/hash-tests: New file.
66473         * tests/test-hash.c: New file.
66475 2009-06-17  Eric Blake  <ebb9@byu.net>
66477         strstr-simple: document new module
66478         * MODULES.html.sh: Document new module.
66480         strstr, strcasestr: replace on platforms with broken memchr
66481         * modules/strstr: Split into...
66482         * modules/strstr-simple: ...new module that does not care about
66483         performance, but does care about glibc bug.
66484         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
66485         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
66486         if platform memchr is broken, per Debian bug 521737.
66487         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
66488         memchr.
66489         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
66490         * doc/posix-functions/strstr.texi (strstr): Document the fix.
66491         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
66492         * modules/mountlist (Depends-on): Add strstr-simple.
66493         * modules/gen-uni-tables (Depends-on): Likewise.
66494         * modules/argz (Depends-on): Add strstr.
66496 2009-06-17  Bruno Haible  <bruno@clisp.org>
66498         * modules/posix_spawn-internal (Depends-on): Add errno.
66500 2009-06-17  Bruno Haible  <bruno@clisp.org>
66502         Define missing ESTALE on Interix 3.5.
66503         * lib/errno.in.h (ESTALE): Assign a value if missing.
66504         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
66505         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
66506         missing.
66507         * doc/posix-headers/errno.texi: Mention the Interix bug.
66508         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
66510 2009-06-15  Eric Blake  <ebb9@byu.net>
66512         memchr, memchr2: add valgrind exception
66513         * lib/memchr.valgrind: New file.
66514         * lib/memchr2.valgrind: New file.
66515         * modules/memchr (Files): Distribute valgrind file.
66516         * modules/memchr2 (Files): Likewise.
66518         docs: memchr is no longer obsolete
66519         * MODULES.html.sh: Move memchr from obsolete to string.h section.
66520         * lib/string.in.h (memchr): Simplify logic.
66522 2009-06-14  Jim Meyering  <meyering@redhat.com>
66524         link-follow: fix the "checking..." message to not mention trailing slash
66525         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
66526         never considered trailing slashes.
66528 2009-06-14  Bruno Haible  <bruno@clisp.org>
66530         * m4/memchr.m4: Mention also the bug on IA-64.
66531         * doc/posix-functions/memchr.texi: Likewise.
66533 2009-06-12  Eric Blake  <ebb9@byu.net>
66535         memchr: detect broken x86_64 and alpha implementations
66536         * modules/memchr-tests (Depends-on): Move mmap detection...
66537         * modules/memchr (Depends-on): ...here.
66538         (configure.ac): Set indicator.
66539         * lib/string.in.h (memchr): Declare replacement.
66540         * modules/string (Makefile.am): Trigger replacement.
66541         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
66542         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
66543         bugs.
66544         * doc/posix-functions/memchr.texi (memchr): Document the bug.
66545         * modules/getpagesize (License): Relax license.
66547 2009-06-11  Bruno Haible  <bruno@clisp.org>
66549         * lib/idpriv.h: Add more references.
66551 2009-06-08  Bruno Haible  <bruno@clisp.org>
66553         Tests for module 'idpriv-droptemp'.
66554         * modules/idpriv-droptemp-tests: New file.
66555         * tests/test-idpriv-droptemp.sh: New file.
66556         * tests/test-idpriv-droptemp.su.sh: New file.
66557         * tests/test-idpriv-droptemp.c: New file.
66559         New module 'idpriv-droptemp'.
66560         * lib/idpriv-droptemp.c: New file.
66561         * modules/idpriv-droptemp: New file.
66563 2009-06-08  Bruno Haible  <bruno@clisp.org>
66565         Tests for module 'idpriv-drop'.
66566         * modules/idpriv-drop-tests: New file.
66567         * tests/test-idpriv-drop.sh: New file.
66568         * tests/test-idpriv-drop.su.sh: New file.
66569         * tests/test-idpriv-drop.c: New file.
66571         New module 'idpriv-drop'.
66572         * lib/idpriv.h: New file.
66573         * lib-idpriv-drop.c: New file.
66574         * m4/idpriv.m4: New file.
66575         * modules/idpriv-drop: New file.
66577 2009-06-08  Bruno Haible  <bruno@clisp.org>
66579         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
66580         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
66581         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
66582         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
66583         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
66584         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
66585         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
66587 2009-06-08  Eric Blake  <ebb9@byu.net>
66589         test-strstr: use memory fence, when possible
66590         * tests/test-strstr.c (main): Use memory fence, in order to be
66591         more likely to trigger Debian bug 521737.
66592         * modules/strstr-tests (Files): Pull in additional files.
66594         memchr: no longer obsolete, for wider field testing
66595         * modules/memchr (Status, Notice): Delete, this module is no
66596         longer obsolete.
66597         * modules/vasnprintf (Depends-on): Add memchr.
66599 2009-06-07  Jim Meyering  <meyering@redhat.com>
66601         hash: declare some functions with the warn_unused_result attribute
66602         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
66604 2009-06-07  Bruno Haible  <bruno@clisp.org>
66606         * tests/test-alignof.c: Don't test int64_t if it does not exist.
66607         Reported by Eric Blake.
66609 2009-06-06  Eric Blake  <ebb9@byu.net>
66611         test-alignof: fix typo with long double
66612         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
66613         compiler error.
66615 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
66617         Escape non-texinfo { and }s.
66618         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
66619         markup error.
66621 2009-06-04  Jim Meyering  <meyering@redhat.com>
66623         gitlog-to-changelog: don't infloop on an empty commit log
66624         * build-aux/gitlog-to-changelog: Warn about an empty log message.
66625         Reported by Boris Petersen <transacid@centerim.org>.
66627 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
66629         version-etc: extend for packagers
66630         Add three new configure options, intended for packagers:
66631           --with-packager="packager name"
66632           --with-packager-version="packager-specific version"
66633           --with-packager-bug-reports="packager bug reporting"
66634         An example with coreutils:
66635           $ ./configure \
66636             --with-packager=Gentoo \
66637             --with-packager-bug-report=http://bugs.gentoo.org/ \
66638             --with-packager-version="patchset 1.6"
66639           $ ./src/ls --version | head -n2
66640           ls (GNU coreutils) 7.1-dirty
66641           Packaged by Gentoo (patchset 1.6)
66642         Note that the bug reporting info via --help doesn't show up because
66643         coreutils uses its own custom emit_bug_reporting_address() implementation
66644         in src/system.h.  If it didn't, it'd look like:
66645           $ ./src/ls --help | tail -n4
66646           Report bugs to <bug-coreutils@gnu.org>.
66647           Report Gentoo bugs to <http://bugs.gentoo.org/>.
66648           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
66649           General help using GNU software: <http://www.gnu.org/gethelp/>.
66650         * lib/version-etc.c: Print new information, if provided.
66651         * m4/version-etc.m4: New file.
66652         * modules/version-etc (Files): Add m4/version-etc.m4.
66653         (configure.ac): Add gl_VERSION_ETC.
66655 2009-05-31  Bruno Haible  <bruno@clisp.org>
66657         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
66658         and 'int64_t'.
66659         * modules/alignof-tests (Dependencies): Add stdint.
66660         Reported by Eric Blake.
66662 2009-05-31  Bruno Haible  <bruno@clisp.org>
66664         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
66665         restriction due to compiler bugs.
66666         Reported by Eric Blake.
66668 2009-05-31  Simon Josefsson  <simon@josefsson.org>
66669             Bruno Haible  <bruno@clisp.org>
66671         Fix test-alignof failure.
66672         * lib/alignof.h (alignof_slot): New macro.
66673         (alignof_type): New macro, with the same semantics as the previous
66674         'alignof'.
66675         (alignof): Alias to alignof_slot.
66676         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
66677         check that the results are usable as constant expressions.
66679 2009-05-31  Bruno Haible  <bruno@clisp.org>
66681         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
66682         * tests/test-memchr.c (main): Check that memchr does not read past the
66683         first occurrence of the byte.
66684         * tests/test-strstr.c (main): Update comment.
66685         Suggested by Eric Blake.
66687 2009-05-30  Bruno Haible  <bruno@clisp.org>
66689         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
66690         detail how to use dumpbin.
66691         Reported by David Byron <dbyron@dbyron.com>.
66693 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66695         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
66697 2009-06-02  Simon Josefsson  <simon@josefsson.org>
66699         * m4/manywarnings.m4: Add GCC 4.4 warnings.
66701 2009-05-28  Bruno Haible  <bruno@clisp.org>
66703         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
66704         build-aux/ files.
66706 2009-05-28  Simon Josefsson  <simon@josefsson.org>
66708         * gnulib-tool (func_import): Transform license on build-aux/ files too.
66710 2009-05-27  Simon Josefsson  <simon@josefsson.org>
66712         * gnulib-tool (sed_transform_main_lib_file)
66713         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
66714         regexps.
66716 2009-05-26  Simon Josefsson  <simon@josefsson.org>
66718         * tests/test-strstr.c: Add another self-test.
66719         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
66720         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
66722 2009-05-23  Bruno Haible  <bruno@clisp.org>
66724         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
66725         change.
66727 2009-05-21  Bruno Haible  <bruno@clisp.org>
66729         Simplify use of mode_t varargs.
66730         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
66731         uses 'mode_t' or 'int'.
66732         * lib/openat.c (openat): Likewise.
66733         * lib/open-safer.c (open_safer): Likewise.
66734         * m4/mode_t.m4: New file.
66735         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
66736         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
66737         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
66738         * modules/open (Files): Add m4/mode_t.m4.
66739         * modules/openat (Files): Likewise.
66740         * modules/fcntl-safer (Files): Likewise.
66741         Suggested by Eric Blake.
66743 2009-05-21  Pádraig Brady  <P@draigbrady.com>
66745         * doc/glibc-functions/fallocate.texi: New file.
66746         * doc/gnulib.texi: Include it.
66748 2009-05-21  Eric Blake  <ebb9@byu.net>
66749             Bruno Haible  <bruno@clisp.org>
66751         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
66752         invocations.
66753         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
66755 2009-05-21  Eric Blake  <ebb9@byu.net>
66756             Bruno Haible  <bruno@clisp.org>
66758         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
66759         include_next. Fix of 2008-11-20 commit.
66760         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
66761         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
66762         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
66763         NEXT_MATH_H.
66764         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
66765         instead of NEXT_MATH_H.
66767 2009-05-21  Bruno Haible  <bruno@clisp.org>
66769         Avoid redefinition warnings for SIZE_MAX.
66770         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
66771         Reported by Simon Josefsson.
66773 2009-05-21  Bruno Haible  <bruno@clisp.org>
66775         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
66776         AC_CACHE_VAL.
66778 2009-05-20  Bruno Haible  <bruno@clisp.org>
66780         Make zeroptr.h work on mingw.
66781         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
66782         mprotect.
66783         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
66784         * modules/memchr2-tests (configure.ac): Likewise.
66785         * modules/memcmp-tests (configure.ac): Likewise.
66786         * modules/memmem-tests (configure.ac): Likewise.
66787         * modules/memrchr-tests (configure.ac): Likewise.
66788         Reported by Simon Josefsson.
66790 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66792         * tests/test-glob.c: Include string.h for strcmp prototype.
66794 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66796         * modules/getdelim (Depends-on): Add explicit stdint, although it
66797         was implicitly already pulled in via realloc-posix.
66798         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
66800 2009-05-20  Simon Josefsson  <simon@josefsson.org>
66802         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
66803         G. Christensen" <tgc@jupiterrise.com>.
66804         * m4/sys_socket_h.m4: Check for sa_family_t.
66805         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
66806         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
66807         * tests/test-sys_socket.c: Check that sa_family_t works.
66809 2009-05-18  Eric Blake  <ebb9@byu.net>
66811         maint.mk: allow gnulib_dir in VPATH build
66812         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
66814 2009-05-15  Jim Meyering  <meyering@redhat.com>
66816         maint.mk: Give gnulib_dir a default definition.
66817         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
66818         Thus, most packages no longer need to specify this variable in cfg.mk
66820 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
66822         rename.m4: fix typos that would make non-mingw cross-configure fail
66823         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
66825 2009-05-13  Eric Blake  <ebb9@byu.net>
66827         mmap-anon: avoid out-of-order autoconf expansion
66828         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
66829         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
66830         * modules/memchr-tests (Depends-on): Add extensions.
66831         * modules/memchr2-tests (Depends-on): Add extensions.
66832         * modules/memcmp-tests (Depends-on): Add extensions.
66833         * modules/memmem-tests (Depends-on): Add extensions.
66834         * modules/memrchr-tests (Depends-on): Add extensions.
66836 2009-05-13  Bruno Haible  <bruno@clisp.org>
66838         Make some tests ISO C 99 compliant.
66839         * tests/zerosize-ptr.h: New file.
66840         * tests/test-memchr.c: Include zerosize-ptr.h.
66841         (main): Use a zero-size object pointer instead of NULL.
66842         * tests/test-memchr2.c: Include zerosize-ptr.h.
66843         (main): Use a zero-size object pointer instead of NULL.
66844         * tests/test-memcmp.c: Include zerosize-ptr.h.
66845         (main): Use a zero-size object pointer instead of NULL.
66846         * tests/test-memmem.c: Include zerosize-ptr.h.
66847         (main): Use a zero-size object pointer instead of NULL.
66848         * tests/test-memrchr.c: Include zerosize-ptr.h.
66849         (main): Use a zero-size object pointer instead of NULL.
66850         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
66851         m4/mmap-anon.m4.
66852         (Depends-on): Add getpagesize.
66853         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66854         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
66855         m4/mmap-anon.m4.
66856         (Depends-on): Add getpagesize.
66857         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66858         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
66859         m4/mmap-anon.m4.
66860         (Depends-on): Add getpagesize.
66861         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66862         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
66863         m4/mmap-anon.m4.
66864         (Depends-on): Add getpagesize.
66865         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66866         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
66867         m4/mmap-anon.m4.
66868         (Depends-on): Add getpagesize.
66869         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
66871 2009-05-12  Bruno Haible  <bruno@clisp.org>
66873         Tests for module 'alignof'.
66874         * modules/alignof-tests: New file.
66875         * tests/test-alignof.c: New file.
66877 2009-05-12  Bruno Haible  <bruno@clisp.org>
66879         Fix alignof macro.
66880         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
66881         vendor compilers that are always correct.
66883 2009-05-12  Bruno Haible  <bruno@clisp.org>
66885         Make the MAP_ANONYMOUS detection work on HP-UX 11.
66886         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
66887         not whether its fully works.
66889 2009-05-12  Bruno Haible  <bruno@clisp.org>
66891         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
66893 2009-05-12  Jim Meyering  <meyering@redhat.com>
66895         * top/maint.mk: Adjust backslash alignment.
66897 2009-05-11  Simon Josefsson  <simon@josefsson.org>
66899         * top/maint.mk: Make $(srcdir)/build-aux configurable.
66901 2009-05-11  Eric Blake  <ebb9@byu.net>
66903         argp: avoid undefined behavior
66904         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
66905         macros.
66907 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66909         * tests/test-vc-list-files-git.sh: Do git config of user.email and
66910         user.name to prevent git commit from complaining.
66912 2009-05-10  Bruno Haible  <bruno@clisp.org>
66914         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
66915         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
66916         it rewrites every file name only once.
66917         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
66919 2009-05-08  Bruno Haible  <bruno@clisp.org>
66921         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
66922         instead of 'max'.
66924 2009-05-08  Simon Josefsson  <simon@josefsson.org>
66926         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
66927         sockaddr_storage test.
66929 2009-05-07  Simon Josefsson  <simon@josefsson.org>
66931         * modules/sys_socket (Makefile.am): Substitute
66932         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
66933         * m4/sys_socket_h.m4: Check for sockaddr_storage.
66934         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
66935         * tests/test-sys_socket.c: Check sockaddr_storage.
66937 2009-05-08  Bruno Haible  <bruno@clisp.org>
66939         New module 'alignof'.
66940         * lib/alignof.h: New file.
66941         * modules/alignof: New file.
66943 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66944             Bruno Haible  <bruno@clisp.org>
66946         Fix test-file-has-acl on FreeBSD.
66947         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
66948         mask is implicitly added.
66949         * tests/test-file-has-acl.c: Include <signal.h>.
66950         (main): Terminate the test after 5 seconds.
66951         * modules/acl-tests (configure.ac): Check for alarm function.
66953 2009-05-04  Bruno Haible  <bruno@clisp.org>
66955         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
66956         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
66957         * modules/errno (configure.ac): Drop AC_REQUIRE.
66958         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
66959         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
66961 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66963         * modules/glob-tests: New module.
66964         * tests/test-glob.c: Add.
66966 2009-05-04  Simon Josefsson  <simon@josefsson.org>
66968         * modules/fnmatch-tests: New module.
66969         * tests/test-fnmatch.c: Add.
66971 2009-05-04  Eric Blake  <ebb9@byu.net>
66973         maint: make the new no-submodule-changes rule VPATH-safe
66974         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
66976 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66977             Bruno Haible  <bruno@clisp.org>
66979         acl: Fix infinite loop on FreeBSD.
66980         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
66981         of return value from acl_get_entry.
66982         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
66983         Likewise.
66985 2009-05-03  Bruno Haible  <bruno@clisp.org>
66987         * lib/acl-internal.h (acl_entries): Clarify return value.
66988         * lib/acl_entries.c (acl_entries): Likewise.
66990 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
66992         Bug fix in acl module.
66993         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
66995 2009-05-03  Bruno Haible  <bruno@clisp.org>
66997         Create gperf-generated file in the source dir, not in the build dir.
66998         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
66999         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
67000         * modules/unicase/locale-language (unicase/locale-languages.h):
67001         Likewise.
67002         * modules/unicase/special-casing (unicase/special-casing-table.h):
67003         Likewise.
67004         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
67005         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
67006         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
67007         Reported by Ralf Wildenhues.
67009 2009-05-03  Bruno Haible  <bruno@clisp.org>
67011         * modules/fnmatch (Description, configure.ac): Taken from
67012         fnmatch-posix.
67013         * modules/fnmatch-posix: Turn into a symbolic reference to the
67014         'fnmatch' module, and deprecate.
67015         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
67017 2009-05-03  Bruno Haible  <bruno@clisp.org>
67019         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
67020         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
67021         Reported by Ralf Wildenhues.
67023 2009-05-04  Simon Josefsson  <simon@josefsson.org>
67025         * m4/fnmatch.m4: Fix fnmatch re-define.
67027 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
67029         priv-set: new module and tests; adapt write-any-file
67030         * lib/priv-set.c: New file.
67031         * lib/priv-set.h: New file.
67032         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
67033         * lib/write-any-file.c: Simplify by using priv-set module.
67034         * m4/priv-set.m4: New file.
67035         * modules/priv-set: New file.
67036         * modules/unlinkdir: Add dependency on priv-set module.
67037         * modules/write-any-file: Likewise.
67039         Tests for module 'priv-set'.
67040         * modules/priv-set-tests: New file.
67041         * tests/test-priv-set.c: New file.
67043 2009-05-03  Jim Meyering  <meyering@redhat.com>
67044             Bruno Haible  <bruno@clisp.org>
67046         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
67047         use the converted UTF-8 variant of the name instead.
67049 2009-05-03  Jim Meyering  <meyering@redhat.com>
67051         tests: tighten some getdate tests
67052         * tests/test-getdate.c (main): Tighten tests: require equality,
67053         not just greater than.  Set TZ envvar to UTC0.
67055 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
67057         getdate: correctly interpret "next monday" when run on a Monday
67058         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
67059         that e.g., "next tues" (when run on a tuesday) results in a date
67060         that is one week in the future, and not today's date.
67061         I.e., add a week when the wday is the same as the current one.
67062         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
67063         and earlier by Martin Bernreuther and Jan Minář.
67064         * tests/test-getdate.c (main): Check that "next DAY" is always in
67065         the future and that "last DAY" is always in the past.
67067 2009-05-02  Jim Meyering  <meyering@redhat.com>
67069         build: ensure that a release build fails when a submodule is unclean
67070         * top/maint.mk (no-submodule-changes): New rule.
67071         (alpha beta major): Depend on it.
67073 2009-05-02  Bruno Haible  <bruno@clisp.org>
67075         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
67076         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
67077         shell variable gl_fnmatch_required to detect which variant is
67078         requested.
67079         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
67080         gl_FUNC_FNMATCH_POSIX.
67081         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
67082         exclude fnmatch-posix.
67084 2009-05-02  Bruno Haible  <bruno@clisp.org>
67086         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
67087         * modules/mbsrtowcs (License): Change to LGPLv2+.
67088         * modules/strnlen1 (License): Likewise.
67089         Reported by Simon Josefsson.
67091 2009-05-02  Bruno Haible  <bruno@clisp.org>
67093         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
67094         "cross".
67095         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
67096         gnulib-tool was called with option --source-base=lib.
67098 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67100         Use automake *-local hooks without commands, for extensibility.
67101         * modules/localcharset (Makefile.am): Rename install-exec-local
67102         rule to install-exec-localcharset, and make it a prerequisite of
67103         install-exec-local.  Likewise, rename the uninstall-local rule to
67104         uninstall-localcharset, and make it a prerequisite of the former.
67106 2009-05-01  Bruno Haible  <bruno@clisp.org>
67108         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
67109         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67110         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
67111         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
67112         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
67113         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67114         m4/locale-zh.m4, m4/codeset.m4.
67116         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
67117         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
67118         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
67119         m4/locale-zh.m4.
67121         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
67122         REPLACE_WCRTOMB if mbstate_t must be replaced.
67123         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
67124         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
67126 2009-05-01  Bruno Haible  <bruno@clisp.org>
67128         Avoid compiler warnings when redefining macros defined by <libintl.h>.
67129         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
67130         dngettext, dcngettext, textdomain, bindtextdomain,
67131         bind_textdomain_codeset): Undefine before redefining.
67133 2009-04-30  Bruno Haible  <bruno@clisp.org>
67135         Fix bug introduced on 2009-04-25.
67136         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
67137         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
67138         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
67139         is defined.
67140         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
67141         is defined.
67142         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
67143         is defined.
67144         Reported by Elbert_Pol <elbert.pol@gmail.com>.
67146 2009-04-28  Bruno Haible  <bruno@clisp.org>
67148         Comment tweaks.
67149         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
67150         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
67151         * lib/unicase.h (u*_casexfrm): Likewise.
67152         Reported by Paolo Bonzini.
67154 2009-04-28  Bruno Haible  <bruno@clisp.org>
67156         Fix a compilation error.
67157         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
67158         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
67159         Reported by Jim Meyering.
67161 2009-04-27  Bruno Haible  <bruno@clisp.org>
67163         New module 'libunistring'.
67164         * modules/libunistring: New file.
67165         * m4/libunistring.m4: New file.
67166         * MODULES.html.sh (Unicode string functions): Add it.
67168 2009-04-27  Eric Blake  <ebb9@byu.net>
67170         maint.mk: allow package-specific header to provide <config.h>
67171         * top/maint.mk (sc_require_config_h): New variable.
67172         (sc_require_config_h, sc_require_config_h_first): Use it.
67174 2009-04-27  Simon Josefsson  <simon@josefsson.org>
67176         * top/maint.mk (sc_avoid_if_before_free): Except
67177         useless-if-before-free script.
67179 2009-04-27  Eric Blake  <ebb9@byu.net>
67181         maintainer-makefile: depend on all required helper scripts
67182         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
67183         useless-if-before-free.
67184         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
67185         version, rather than assuming gnulib checkout is available.
67186         Reported by Simen Josefsson.
67188 2009-04-26  Bruno Haible  <bruno@clisp.org>
67190         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
67191         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
67192         "../" or "..".
67194 2009-04-26  Bruno Haible  <bruno@clisp.org>
67196         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
67197         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
67198         AC_LIB_HAVE_LINKFLAGS.
67200 2009-04-26  Bruno Haible  <bruno@clisp.org>
67202         Simplify calling convention of u*_conv_from_encoding.
67203         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
67204         u32_conv_from_encoding): Expect a resultbuf argument and return the
67205         result directly as a pointer.
67206         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
67207         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
67208         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
67209         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
67210         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
67211         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67212         Update.
67213         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
67214         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
67215         * lib/vasnprintf.c (VASNPRINTF): Update.
67216         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
67217         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
67218         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
67219         * NEWS: Mention the change.
67221 2009-04-26  Bruno Haible  <bruno@clisp.org>
67223         Simplify calling convention of u*_conv_to_encoding.
67224         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
67225         u32_conv_to_encoding): Expect a resultbuf argument and return the
67226         result directly as a pointer.
67227         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67228         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
67229         freeing scaled_offsets if mem_iconveha failed.
67230         * lib/unicase/u-casexfrm.h (FUNC): Update.
67231         * lib/uninorm/u-normxfrm.h (FUNC): Update.
67232         * lib/vasnprintf.c (VASNPRINTF): Update.
67233         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
67234         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
67235         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
67236         * NEWS: Mention the change.
67238 2009-04-26  Bruno Haible  <bruno@clisp.org>
67240         Avoid test failures on AIX and OSF/1.
67241         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
67242         malloc(0).
67243         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
67244         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
67245         Likewise.
67246         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
67247         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
67248         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
67249         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
67250         * doc/posix-functions/malloc.texi: Document the portability problem
67251         related to malloc(0).
67253 2009-04-26  Bruno Haible  <bruno@clisp.org>
67255         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
67256         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
67257         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
67259 2009-04-25  Bruno Haible  <bruno@clisp.org>
67261         Avoid link error when creating a namespace clean library.
67262         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
67263         as macro with arguments if already defined as an alias.
67264         * lib/signbitf.c (gl_signbitf): Don't undefine.
67265         * lib/signbitd.c (gl_signbitd): Don't undefine.
67266         * lib/signbitl.c (gl_signbitl): Don't undefine.
67268 2009-04-25  Jim Meyering  <meyering@redhat.com>
67270         vc-list-files: fix another quoting bug
67271         * build-aux/vc-list-files: Avoid sed backslash expansion
67272         of pathological directory names.
67274 2009-04-25  Eric Blake  <ebb9@byu.net>
67276         vc-list-files: fix shell quoting error
67277         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
67278         timestamp.
67280 2009-04-25  Jim Meyering  <meyering@redhat.com>
67282         vc-list-files: restore lost functionality with subdir argument
67283         * build-aux/vc-list-files: When given a non-"." sub-directory
67284         argument, substitute the $dir/ prefix back onto each resulting name.
67285         Otherwise, coreutils' root_tests check would fail.
67287 2009-04-24  Eric Blake  <ebb9@byu.net>
67289         vc-list-files: ignore git symlinks
67290         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
67291         than ls-files, to ignore git symlinks.
67293         maint.mk: import improvements from m4
67294         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
67295         (move_if_change): Delete unused macro.
67296         (news-date-check, vc-diff-check): Support VPATH builds.
67297         (announcement): Likewise.  Split --bootstrap-tools list...
67298         (boostrap-tools): ...into separate list, which can be overridden
67299         in cfg.mk.
67300         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
67301         requiring dependency on useless-if-before-free module.
67302         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
67303         Support VPATH builds.
67305 2009-04-24  Jim Meyering  <meyering@redhat.com>
67307         maint.mk: remove coreutils-specific rules and variables
67308         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
67309         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
67310         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
67312         maint.mk: remove obsolete rule
67313         * top/maint.mk (rel-check): Remove rule.
67314         (WGET, WGETFLAGS): Remove now-unused variables.
67316 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67318         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
67319         consistency.
67321         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
67322         '$(PATH_SEPARATOR)' instead of ':'.
67324 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67326         * lib/getopt1.c (main): Use 'const' for static array.
67328 2009-04-24  Simon Josefsson  <simon@josefsson.org>
67330         * top/maint.mk: Sync with coreutils.
67331         * NEWS: Explain incompatibilities.
67333 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67334             Bruno Haible  <bruno@clisp.org>
67336         Fix cross-compilation results.
67337         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
67338         statement, as third argument of AC_TRY_RUN.
67339         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
67340         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
67341         Likewise.
67342         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
67343         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
67344         Likewise.
67345         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
67346         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
67347         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
67349 2009-04-20  Bruno Haible  <bruno@clisp.org>
67351         Avoid test failure on mingw.
67352         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
67354 2009-04-20  Bruno Haible  <bruno@clisp.org>
67356         Avoid compilation error on mingw.
67357         * modules/localename-tests (Depends-on): Add locale.
67359 2009-04-19  Bruno Haible  <bruno@clisp.org>
67361         Support for building a shared library on Windows platforms.
67362         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
67363         (main): Test the presence of UNINORM_NFC here.
67364         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
67365         (main): Test the presence of UNINORM_NFD here.
67366         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
67367         (main): Test the presence of UNINORM_NFKC here.
67368         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
67369         (main): Test the presence of UNINORM_NFKD here.
67371 2009-04-19  Bruno Haible  <bruno@clisp.org>
67373         Avoid a compiler warning.
67374         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
67375         Change type of variable 'sequence'.
67377 2009-04-19  Bruno Haible  <bruno@clisp.org>
67379         * modules/configmake (Makefile.am): When the contents of configmake.h
67380         does not change, arrange to preserve its modification time.
67382 2009-04-17  Simon Josefsson  <simon@josefsson.org>
67384         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
67385         gettext domain.
67387 2009-04-16  Jim Meyering  <meyering@redhat.com>
67389         useless-if-before-free: improve conversion code
67390         * build-aux/useless-if-before-free: Adjust code-in-comment to match
67391         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
67393 2009-04-14  Bruno Haible  <bruno@clisp.org>
67395         * modules/fcntl (Depends-on): Add extensions.
67396         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
67398 2009-04-12  Ben Pfaff  <blp@gnu.org>
67400         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
67401         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
67403 2009-03-20  Ben Pfaff  <blp@gnu.org>
67405         Make rename replace existing destinations on Windows.
67406         * m4/rename.m4: Add test for Mingw.
67407         * lib/rename.c: Add rename replacement that uses MoveFileEx with
67408         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
67409         * doc/posix-functions/rename.texi: Document.
67411 2009-04-10  Bruno Haible  <bruno@clisp.org>
67413         New include file "iconveh.h".
67414         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
67415         * lib/striconveh.h: Include it.
67416         (enum iconv_ilseq_handler): Remove definition.
67417         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
67418         striconveh.h.
67419         * lib/striconveha.c: Include striconveh.h.
67420         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
67421         * modules/striconveh (Files): Add lib/iconveh.h.
67422         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
67423         lib/striconveh.h.
67425 2009-04-10  Bruno Haible  <bruno@clisp.org>
67427         * lib/uniconv.h: Update comment.
67429 2009-04-10  Bruno Haible  <bruno@clisp.org>
67431         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
67432         always.
67433         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
67434         * lib/unistr/u16-mbtouc-aux.c: Likewise.
67435         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
67436         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
67437         "unistring-notinline.h", so that the function gets defined always.
67438         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
67439         * lib/unistr/u8-uctomb.c: Likewise.
67440         * lib/unistr/u16-mbtouc.c: Likewise.
67441         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
67442         * lib/unistr/u16-uctomb.c: Likewise.
67443         * lib/unistr/u32-mbtouc.c: Likewise.
67444         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
67445         * lib/unistr/u32-uctomb.c: Likewise.
67447 2009-04-10  Bruno Haible  <bruno@clisp.org>
67449         Mark 'utime' obsolete.
67450         * modules/utime (Status, Notice): New sections.
67451         Suggested by Jim Meyering.
67453         Fix cross-compile guess for utime test.
67454         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
67455         autoconf.
67456         * doc/posix-functions/utime.texi: Give more precisions.
67457         Reported by Jan <ipif@ymail.com>.
67459 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
67461         filevercmp: correct today's change
67462         * lib/filevercmp.c: Also handle coreutils' test inputs.
67463         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
67465         Fix regression in 'filevercmp' module. Thanks Sven Joachim
67466         for reporting it.
67467         * lib/filevercmp.c: Special handle for "", "." and "..".
67468         * tests/test-filevercmp.c: Enlarge the set suite.
67470 2009-04-07  Jim Meyering  <meyering@redhat.com>
67472         useless-if-before-free: show how to remove braced useless free, too
67473         * build-aux/useless-if-before-free: still only in a comment, though.
67475 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
67477         maint.mk: import changes to syntax-check macros from coreutils
67478         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
67479         Use them in the relevant macros.
67481 2009-04-06  Bruno Haible  <bruno@clisp.org>
67483         Fix unportable use of bit-fields.
67484         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
67485         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
67486         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
67488 2009-04-06  Bruno Haible  <bruno@clisp.org>
67490         Avoid test failures on AIX and OSF/1.
67491         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
67492         that malloc(0) = NULL.
67493         * tests/unicase/test-u8-tolower.c (check): Likewise.
67494         * tests/unicase/test-u8-totitle.c (check): Likewise.
67495         * tests/unicase/test-u8-toupper.c (check): Likewise.
67496         * tests/unicase/test-u16-casefold.c (check): Likewise.
67497         * tests/unicase/test-u16-tolower.c (check): Likewise.
67498         * tests/unicase/test-u16-totitle.c (check): Likewise.
67499         * tests/unicase/test-u16-toupper.c (check): Likewise.
67500         * tests/unicase/test-u32-casefold.c (check): Likewise.
67501         * tests/unicase/test-u32-tolower.c (check): Likewise.
67502         * tests/unicase/test-u32-totitle.c (check): Likewise.
67503         * tests/unicase/test-u32-toupper.c (check): Likewise.
67504         * tests/uninorm/test-u8-nfc.c (check): Likewise.
67505         * tests/uninorm/test-u8-nfd.c (check): Likewise.
67506         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
67507         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
67508         * tests/uninorm/test-u16-nfc.c (check): Likewise.
67509         * tests/uninorm/test-u16-nfd.c (check): Likewise.
67510         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
67511         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
67512         * tests/uninorm/test-u32-nfc.c (check): Likewise.
67513         * tests/uninorm/test-u32-nfd.c (check): Likewise.
67514         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
67515         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
67517 2009-04-05  Bruno Haible  <bruno@clisp.org>
67519         Work around an autoconf limitation.
67520         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
67521         comment line if it would be longer than 3 KB.
67523 2009-04-05  Bruno Haible  <bruno@clisp.org>
67525         Avoid test failure with libiconv-1.13.
67526         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
67527         of the expected test results.
67529 2009-04-05  Bruno Haible  <bruno@clisp.org>
67531         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
67532         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
67533         that it should be installed.
67535 2009-04-05  Bruno Haible  <bruno@clisp.org>
67537         * gnulib-tool: New option --copy-file.
67538         (func_usage): Document it.
67539         (func_dest_tmpfilename): Moved out of func_import.
67540         (func_add_file, func_update_file): New functions, extracted from
67541         func_import.
67542         (func_import): Update.
67544 2009-04-05  Karl Berry  <karl@gnu.org>
67546         * README: prominently mention gnulib-tool.
67547         Rearrange sections so getting the code is near the top.
67549 2009-04-05  Bruno Haible  <bruno@clisp.org>
67551         * lib/unicase.h: Mention u*_cmp2.
67552         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67553         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
67554         * lib/unicase/ulc-casecmp.c: Likewise.
67555         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
67556         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
67557         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
67558         unistr/u8-cmp.
67559         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
67560         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
67561         unistr/u16-cmp.
67562         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
67563         unistr/u32-cmp.
67565         * lib/uninorm.h: Mention u*_cmp2.
67566         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
67567         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
67568         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
67569         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
67570         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
67571         unistr/u8-cmp.
67572         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
67573         unistr/u16-cmp.
67574         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
67575         unistr/u32-cmp.
67577         New module 'unistr/u32-cmp2'.
67578         * lib/unistr/u32-cmp2.c: New file.
67579         * modules/unistr/u32-cmp2: New file.
67581         New module 'unistr/u16-cmp2'.
67582         * lib/unistr/u16-cmp2.c: New file.
67583         * modules/unistr/u16-cmp2: New file.
67585         New module 'unistr/u8-cmp2'.
67586         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
67587         * lib/unistr/u8-cmp2.c: New file.
67588         * lib/unistr/u-cmp2.h: New file.
67589         * modules/unistr/u8-cmp2: New file.
67591 2009-04-05  Bruno Haible  <bruno@clisp.org>
67593         * lib/unictype.h (uc_property_is_valid): New macro.
67594         * tests/unictype/test-pr_byname.c (main): Use it.
67596         * lib/unistr.h: Doc fixes.
67597         * lib/uniconv.h: Doc fixes.
67598         * lib/unictype.h: Doc fixes.
67600 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
67602         Port coreutils 7.2 to Solaris 8.
67604         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
67605         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
67606         for Solaris 8.  This is a bit of a hack, as it means it's the
67607         caller's responsibility to add -lnsl if needed, but most likely it
67608         won't be needed since only getaddrinfo uses this and getaddrinfo
67609         isn't needed on Solaris 8.
67611         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
67612         problem to Solaris 8 encountered with coreutils 7.2, which
67613         resulted in a message "fnmatch.c:292: warning: passing argument 4
67614         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
67615         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
67617 2009-04-03  Simon Josefsson  <simon@josefsson.org>
67619         * m4/ld-version-script.m4: Add FIXME comment.
67621 2009-04-02  Simon Josefsson  <simon@josefsson.org>
67623         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
67624         SOVERSION variable.
67626 2009-04-02  Bruno Haible  <bruno@clisp.org>
67628         * Makefile (info, html, dvi, pdf): Combine the rules.
67629         Suggested by Jim Meyering.
67631 2009-04-01  Bruno Haible  <bruno@clisp.org>
67633         * Makefile (info, html, dvi, pdf): New targets.
67634         Reported by Reuben Thomas <rrt@sc3d.org>.
67636 2009-04-01  Bruno Haible  <bruno@clisp.org>
67638         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
67639         can be put into PATH.
67640         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
67642 2009-04-01  Bruno Haible  <bruno@clisp.org>
67644         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
67646 2009-04-01  Bruno Haible  <bruno@clisp.org>
67648         Rename module 'visibility'.
67649         * modules/lib-symbol-visibility: Renamed from modules/visibility.
67650         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
67651         * doc/gnulib.texi: Update.
67652         * MODULES.html.sh (Misc): Update.
67653         * NEWS: Mention the change.
67655 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67657         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
67658         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
67659         Eric Blake <ebb9@byu.net> for review.
67660         * MODULES.html.sh: Add lib-msvc-compat.
67661         * doc/gnulib.texi: Link to new section.
67662         * m4/ld-output-def.m4: New file.
67663         * doc/ld-output-def.texi: New file.
67665 2009-04-01  Simon Josefsson  <simon@josefsson.org>
67667         Rename ld-version-script to lib-symbol-versions.  Suggested by
67668         Bruno Haible <bruno@clisp.org>.
67669         * modules/ld-version-script: Renamed to lib-symbol-versions.
67670         * doc/ld-version-script.texi: Fix module name.
67671         * MODULES.html.sh: Add lib-symbol-versions.
67673 2009-03-31  Simon Josefsson  <simon@josefsson.org>
67675         * modules/u64-tests: New file.
67676         * tests/test-u64.c: New file.
67678 2009-03-04  Simon Josefsson  <simon@josefsson.org>
67680         * MODULES.html.sh: Mention u64.
67681         * modules/u64: New module.
67682         * modules/crypto/sha512: Depend on u64 module instead of providing
67683         u64.h.
67685 2009-03-27  Eric Blake  <ebb9@byu.net>
67687         test-strerror: make debugging EAI_SYSTEM easier
67688         * modules/getaddrinfo-tests (Depends-on): Add strerror.
67689         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
67690         failure was EAI_SYSTEM.
67692 2009-03-25  Bruno Haible  <bruno@clisp.org>
67694         Fix a problem with --enable-relocatable on Solaris 7.
67695         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
67696         since 2008-02-24.
67698 2009-03-25  Eric Blake  <ebb9@byu.net>
67700         test-sockets: avoid gcc warning
67701         * tests/test-sockets.c (main): Silence compiler warning.
67703 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
67705         New modules nproc, pthread, contributed by Glen Lenker.
67707         * MODULES.html.sh: Add pthread, nproc.
67708         * lib/nproc.c: New file.
67709         * lib/nproc.h: New file.
67710         * lib/pthread.in.h: New file.
67711         * m4/pthread.m4: New file.
67712         * modules/nproc: New file.
67713         * modules/pthread: New file.
67715 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67717         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
67718         New variable.
67720 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
67722         filevercmp: handle simple~ and numbered.~3~ backup suffixes
67723         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
67724         * tests/test-filevercmp.c: Add tests for backup suffixes.
67726 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67728         * modules/stdlib (Depends-on): Add stdint, needed when defining
67729         struct random_data on, for example, HP-UX 10.20.  Reported by
67730         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67732 2009-03-24  Simon Josefsson  <simon@josefsson.org>
67734         * lib/readline.c (readline): Call fflush on stdout after printing
67735         prompt.
67737 2009-03-20  Bruno Haible  <bruno@clisp.org>
67739         Remove dependency from 'close' module to -lws2_32 on native Windows.
67740         * lib/close-hook.h: New file.
67741         * lib/close-hook.c: New file.
67742         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
67743         w32sock.h.
67744         (_gl_close_fd_maybe_socket): Remove function.
67745         (rpl_close): Invoke execute_all_close_hooks instead of
67746         _gl_close_fd_maybe_socket.
67747         * lib/sockets.c: Include close-hook.h, w32sock.h.
67748         (close_fd_maybe_socket): New function, essentially from lib/close.c.
67749         (close_sockets_hook): New variable.
67750         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
67751         (gl_sockets_cleanup): Unregister it.
67752         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
67753         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
67754         * modules/close-hook: New file.
67755         * modules/close (Files): Remove lib/w32sock.h.
67756         (Depends-on): Add close-hook.
67757         (Link): Remove section.
67758         * modules/sockets (Files): Add lib/w32sock.h.
67759         (Depends-on): Add close-hook.
67760         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
67761         invocation.
67762         * NEWS: Mention that LIB_CLOSE is gone.
67764 2009-03-23  Eric Blake  <ebb9@byu.net>
67766         signal-tests: test previous patch
67767         * tests/test-signal.c: New file.
67768         * modules/signal-tests: Likewise.
67770         signal.h: always support 'volatile sig_atomic_t'
67771         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
67772         (gl_SIGNAL_H_DEFAULTS): Add a default.
67773         * modules/signal (Makefile.am): Substitute if needed.
67774         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
67775         users can blindly add volatile.
67776         * doc/posix-headers/signal.texi (signal.h): Document it.
67777         Reported by Matthew Woehlke.
67779 2009-03-23  Jim Meyering  <meyering@redhat.com>
67781         pathmax: PATH_MAX: use pathconf only when available
67782         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
67783         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
67784         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
67785         This avoids a link failure in a PSP cross-compilation environment
67786         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
67788         * lib/vasnprintf.c (divide): Fix typo in comment.
67790 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67792         * gnulib-tool (func_filter_filelist): Fix comment.
67794 2009-03-20  Bruno Haible  <bruno@clisp.org>
67796         Make sockets.h self-contained.
67797         * lib/sockets.c: Include sockets.h first.
67798         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
67800 2009-03-19  Eric Blake  <ebb9@byu.net>
67802         doc: mention more functions added in cygwin 1.7.0
67803         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
67804         addition.
67805         * doc/posix-functions/log2f.texi: Likewise.
67807 2009-03-19  Jim Meyering  <meyering@redhat.com>
67809         fsusage: avoid syntax error due to statement-before-declaration
67810         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
67811         after all declarations.  Reported by Matthew Woehlke in
67812         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
67814 2009-03-18  Eric Blake  <ebb9@byu.net>
67816         build-aux/compile: sync from automake
67817         * build-aux/compile: New file, from automake.
67818         * config/srclist.txt: Mention build-aux/compile.
67820 2009-03-17  Bruno Haible  <bruno@clisp.org>
67822         * lib/git-merge-changelog.c: Fix typo in comment.
67823         Reported by Reuben Thomas <rrt@sc3d.org>.
67825 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
67827         * m4/regex.m4: update and improve help for
67828         --without-included-regex.
67830 2009-03-17  Simon Josefsson  <simon@josefsson.org>
67832         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
67833         failure on missing include files.
67835 2009-03-17  Eric Blake  <ebb9@byu.net>
67837         doc: mention more functions added in cygwin 1.7.0
67838         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
67839         addition.
67840         * doc/posix-functions/fwscanf.texi: Likewise.
67841         * doc/posix-functions/swprintf.texi: Likewise.
67842         * doc/posix-functions/swscanf.texi: Likewise.
67843         * doc/posix-functions/vfwprintf.texi: Likewise.
67844         * doc/posix-functions/vfwscanf.texi: Likewise.
67845         * doc/posix-functions/vswprintf.texi: Likewise.
67846         * doc/posix-functions/vswscanf.texi: Likewise.
67847         * doc/posix-functions/vwprintf.texi: Likewise.
67848         * doc/posix-functions/vwscanf.texi: Likewise.
67849         * doc/posix-functions/wcscasecmp.texi: Likewise.
67850         * doc/posix-functions/wcsdup.texi: Likewise.
67851         * doc/posix-functions/wcsftime.texi: Likewise.
67852         * doc/posix-functions/wcsncasecmp.texi: Likewise.
67853         * doc/posix-functions/wprintf.texi: Likewise.
67854         * doc/posix-functions/wscanf.texi: Likewise.
67855         * doc/glibc-functions/gethostbyname2.texi: Likewise.
67857 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67859         maint.mk: really add $(AM_MAKEFLAGS)
67860         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
67861         was inadvertently omitted in the last commit.
67862         Spotted by Bruno Haible.
67864         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
67865         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
67866         $(AM_MAKEFLAGS)' rather than plain `make'.
67868         gnulib-tool: execute $MAKE not make
67869         * gnulib-tool: Default $MAKE to 'make'.
67870         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
67871         than make.  Initialize $MAKE in the do-autobuild script.
67873         gnulib-tool: use $MAKE not make in generated files
67874         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
67875         make, in generated files.  Initialize $MAKE in the do-autobuild
67876         script.
67878         * top/GNUmakefile (_have-git-version-gen): Fix typo.
67880         GNUmakefile: disable parallelism only for multiple, recursive targets
67881         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
67882         additions in the Makefile.
67883         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
67884         by Automake.
67885         (.NOTPARALLEL): Only disable parallel builds if multiple targets
67886         are listed on the command line and at least one of them is
67887         listed in $(ALL_RECURSIVE_TARGETS).
67889 2009-03-14  Bruno Haible  <bruno@clisp.org>
67891         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
67892         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
67893         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
67894         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
67895         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
67896         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
67897         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
67898         unistr/u8-uctomb.
67899         * modules/unistr/u8-strchr (Depends-on): Likewise.
67900         * modules/unistr/u8-strrchr (Depends-on): Likewise.
67901         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
67902         unistr/u16-uctomb.
67903         * modules/unistr/u16-strchr (Depends-on): Likewise.
67904         * modules/unistr/u16-strrchr (Depends-on): Likewise.
67906 2009-03-12  Bruno Haible  <bruno@clisp.org>
67908         Work around select() bug on Interix 3.5.
67909         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
67910         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
67911         * m4/select.m4: New file.
67912         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
67913         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
67914         * modules/select (Files): Add m4/select.m4.
67915         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
67916         * modules/nanosleep (Depends-on): Add select.
67917         * modules/poll (Depends-on): Likewise.
67918         * doc/posix-functions/select.texi: Mention the Interix bug.
67919         Reported by Markus Duft <mduft@gentoo.org>.
67921         * lib/select.c: Renamed from lib/winsock-select.c.
67922         * modules/select (Files): Add lib/select.c, remove
67923         lib/winsock-select.c.
67924         (configure.ac): Update.
67926 2009-03-12  Jim Meyering  <meyering@redhat.com>
67928         avoid gcc warnings about unused macro definitions
67929         * lib/readtokens.c (STREQ): Remove unused definition.
67930         * lib/xmalloc.c (SIZE_MAX): Likewise.
67931         * lib/openat-die.c (N_): Likewise.
67932         * lib/mountlist.c (SIZE_MAX): Remove definition.
67933         Instead, include <stdint.h>.
67934         * lib/readutmp.c: Likewise.
67935         * modules/readutmp (Depends-on): Add stdint.
67936         * modules/mountlist (Depends-on): Add stdint.
67937         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
67939 2009-03-10  Bruno Haible  <bruno@clisp.org>
67941         Tests for module 'mbmemcasecoll'.
67942         * modules/mbmemcasecoll-tests: New file.
67943         * tests/test-mbmemcasecoll1.sh: New file.
67944         * tests/test-mbmemcasecoll2.sh: New file.
67945         * tests/test-mbmemcasecoll3.sh: New file.
67946         * tests/test-mbmemcasecoll.c: New file.
67948         New module 'mbmemcasecoll'.
67949         * lib/mbmemcasecoll.h: New file.
67950         * lib/mbmemcasecoll.c: New file.
67951         * modules/mbmemcasecoll: New file.
67953         * tests/test-mbmemcasecmp.h: New file, extracted from
67954         tests/test-mbmemcasecmp.c.
67955         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
67956         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
67957         (main): Update.
67958         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
67960 2009-03-09  Bruno Haible  <bruno@clisp.org>
67962         Tests for module 'mbmemcasecmp'.
67963         * modules/mbmemcasecmp-tests: New file.
67964         * tests/test-mbmemcasecmp1.sh: New file.
67965         * tests/test-mbmemcasecmp2.sh: New file.
67966         * tests/test-mbmemcasecmp3.sh: New file.
67967         * tests/test-mbmemcasecmp.c: New file.
67969         New module 'mbmemcasecmp'.
67970         * lib/mbmemcasecmp.h: New file.
67971         * lib/mbmemcasecmp.c: New file.
67972         * modules/mbmemcasecmp: New file.
67974 2009-03-09  Bruno Haible  <bruno@clisp.org>
67976         Tests for module 'unicase/ulc-casecoll'.
67977         * modules/unicase/ulc-casecoll-tests: New file.
67978         * tests/unicase/test-ulc-casecoll1.sh: New file.
67979         * tests/unicase/test-ulc-casecoll2.sh: New file.
67980         * tests/unicase/test-ulc-casecoll.c: New file.
67982         New module 'unicase/ulc-casecoll'.
67983         * lib/unicase.h (ulc_casecoll): New declaration.
67984         * lib/unicase/ulc-casecoll.c: New file.
67985         * modules/unicase/ulc-casecoll: New file.
67987         New module 'unicase/ulc-casexfrm'.
67988         * lib/unicase.h (ulc_casexfrm): New declaration.
67989         * lib/unicase/ulc-casexfrm.c: New file.
67990         * modules/unicase/ulc-casexfrm: New file.
67992 2009-03-09  Bruno Haible  <bruno@clisp.org>
67994         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
67995         invocations.
67997         * m4/mbscasecmp.m4: Remove file.
67998         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
67999         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
68001         * m4/mbscasestr.m4: Remove file.
68002         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
68003         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
68005         * m4/mbschr.m4: Remove file.
68006         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
68007         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
68009         * m4/mbscspn.m4: Remove file.
68010         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
68011         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
68013         * m4/mbslen.m4: Remove file.
68014         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
68015         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
68017         * m4/mbsncasecmp.m4: Remove file.
68018         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
68019         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
68021         * m4/mbsnlen.m4: Remove file.
68022         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
68023         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
68025         * m4/mbspbrk.m4: Remove file.
68026         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
68027         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
68029         * m4/mbspcasecmp.m4: Remove file.
68030         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
68031         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
68033         * m4/mbsrchr.m4: Remove file.
68034         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
68035         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
68037         * m4/mbssep.m4: Remove file.
68038         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
68039         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
68041         * m4/mbsspn.m4: Remove file.
68042         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
68043         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
68045         * m4/mbsstr.m4: Remove file.
68046         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
68047         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
68049         * m4/mbstok_r.m4: Remove file.
68050         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
68051         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
68053         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
68055         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
68056         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
68058         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
68060 2009-03-08  Bruno Haible  <bruno@clisp.org>
68062         Tests for module 'unicase/ulc-casecmp'.
68063         * modules/unicase/ulc-casecmp-tests: New file.
68064         * tests/unicase/test-ulc-casecmp1.sh: New file.
68065         * tests/unicase/test-ulc-casecmp2.sh: New file.
68066         * tests/unicase/test-ulc-casecmp.c: New file.
68068         New module 'unicase/ulc-casecmp'.
68069         * lib/unicase.h (ulc_casecmp): New declaration.
68070         * lib/unicase/ulc-casecmp.c: New file.
68071         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
68072         'const SRC_UNIT *'.
68073         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
68074         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
68075         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
68076         * modules/unicase/ulc-casecmp: New file.
68078         Tests for module 'unicase/u32-is-cased'.
68079         * modules/unicase/u32-is-cased-tests: New file.
68080         * tests/unicase/test-u32-is-cased.c: New file.
68082         Tests for module 'unicase/u16-is-cased'.
68083         * modules/unicase/u16-is-cased-tests: New file.
68084         * tests/unicase/test-u16-is-cased.c: New file.
68086         Tests for module 'unicase/u8-is-cased'.
68087         * modules/unicase/u8-is-cased-tests: New file.
68088         * tests/unicase/test-u8-is-cased.c: New file.
68089         * tests/unicase/test-is-cased.h: New file.
68091         New module 'unicase/u32-is-cased'.
68092         * lib/unicase/u32-is-cased.c: New file.
68093         * modules/unicase/u32-is-cased: New file.
68095         New module 'unicase/u16-is-cased'.
68096         * lib/unicase/u16-is-cased.c: New file.
68097         * modules/unicase/u16-is-cased: New file.
68099         New module 'unicase/u8-is-cased'.
68100         * lib/unicase/u8-is-cased.c: New file.
68101         * lib/unicase/u-is-cased.h: New file.
68102         * modules/unicase/u8-is-cased: New file.
68104         Tests for module 'unicase/u32-is-casefolded'.
68105         * modules/unicase/u32-is-casefolded-tests: New file.
68106         * tests/unicase/test-u32-is-casefolded.c: New file.
68108         Tests for module 'unicase/u16-is-casefolded'.
68109         * modules/unicase/u16-is-casefolded-tests: New file.
68110         * tests/unicase/test-u16-is-casefolded.c: New file.
68112         Tests for module 'unicase/u8-is-casefolded'.
68113         * modules/unicase/u8-is-casefolded-tests: New file.
68114         * tests/unicase/test-u8-is-casefolded.c: New file.
68115         * tests/unicase/test-is-casefolded.h: New file.
68117         New module 'unicase/u32-is-casefolded'.
68118         * lib/unicase/u32-is-casefolded.c: New file.
68119         * modules/unicase/u32-is-casefolded: New file.
68121         New module 'unicase/u16-is-casefolded'.
68122         * lib/unicase/u16-is-casefolded.c: New file.
68123         * modules/unicase/u16-is-casefolded: New file.
68125         New module 'unicase/u8-is-casefolded'.
68126         * lib/unicase/u8-is-casefolded.c: New file.
68127         * modules/unicase/u8-is-casefolded: New file.
68129         Tests for module 'unicase/u32-is-titlecase'.
68130         * modules/unicase/u32-is-titlecase-tests: New file.
68131         * tests/unicase/test-u32-is-titlecase.c: New file.
68133         Tests for module 'unicase/u16-is-titlecase'.
68134         * modules/unicase/u16-is-titlecase-tests: New file.
68135         * tests/unicase/test-u16-is-titlecase.c: New file.
68137         Tests for module 'unicase/u8-is-titlecase'.
68138         * modules/unicase/u8-is-titlecase-tests: New file.
68139         * tests/unicase/test-u8-is-titlecase.c: New file.
68140         * tests/unicase/test-is-titlecase.h: New file.
68142         New module 'unicase/u32-is-titlecase'.
68143         * lib/unicase/u32-is-titlecase.c: New file.
68144         * modules/unicase/u32-is-titlecase: New file.
68146         New module 'unicase/u16-is-titlecase'.
68147         * lib/unicase/u16-is-titlecase.c: New file.
68148         * modules/unicase/u16-is-titlecase: New file.
68150         New module 'unicase/u8-is-titlecase'.
68151         * lib/unicase/u8-is-titlecase.c: New file.
68152         * modules/unicase/u8-is-titlecase: New file.
68154         Tests for module 'unicase/u32-is-lowercase'.
68155         * modules/unicase/u32-is-lowercase-tests: New file.
68156         * tests/unicase/test-u32-is-lowercase.c: New file.
68158         Tests for module 'unicase/u16-is-lowercase'.
68159         * modules/unicase/u16-is-lowercase-tests: New file.
68160         * tests/unicase/test-u16-is-lowercase.c: New file.
68162         Tests for module 'unicase/u8-is-lowercase'.
68163         * modules/unicase/u8-is-lowercase-tests: New file.
68164         * tests/unicase/test-u8-is-lowercase.c: New file.
68165         * tests/unicase/test-is-lowercase.h: New file.
68167         New module 'unicase/u32-is-lowercase'.
68168         * lib/unicase/u32-is-lowercase.c: New file.
68169         * modules/unicase/u32-is-lowercase: New file.
68171         New module 'unicase/u16-is-lowercase'.
68172         * lib/unicase/u16-is-lowercase.c: New file.
68173         * modules/unicase/u16-is-lowercase: New file.
68175         New module 'unicase/u8-is-lowercase'.
68176         * lib/unicase/u8-is-lowercase.c: New file.
68177         * modules/unicase/u8-is-lowercase: New file.
68179         Tests for module 'unicase/u32-is-uppercase'.
68180         * modules/unicase/u32-is-uppercase-tests: New file.
68181         * tests/unicase/test-u32-is-uppercase.c: New file.
68183         Tests for module 'unicase/u16-is-uppercase'.
68184         * modules/unicase/u16-is-uppercase-tests: New file.
68185         * tests/unicase/test-u16-is-uppercase.c: New file.
68187         Tests for module 'unicase/u8-is-uppercase'.
68188         * modules/unicase/u8-is-uppercase-tests: New file.
68189         * tests/unicase/test-u8-is-uppercase.c: New file.
68190         * tests/unicase/test-is-uppercase.h: New file.
68192         New module 'unicase/u32-is-uppercase'.
68193         * lib/unicase/u32-is-uppercase.c: New file.
68194         * modules/unicase/u32-is-uppercase: New file.
68196         New module 'unicase/u16-is-uppercase'.
68197         * lib/unicase/u16-is-uppercase.c: New file.
68198         * modules/unicase/u16-is-uppercase: New file.
68200         New module 'unicase/u8-is-uppercase'.
68201         * lib/unicase/u8-is-uppercase.c: New file.
68202         * modules/unicase/u8-is-uppercase: New file.
68204         New module 'unicase/u32-is-invariant'.
68205         * lib/unicase/u32-is-invariant.c: New file.
68206         * modules/unicase/u32-is-invariant: New file.
68208         New module 'unicase/u16-is-invariant'.
68209         * lib/unicase/u16-is-invariant.c: New file.
68210         * modules/unicase/u16-is-invariant: New file.
68212         New module 'unicase/u8-is-invariant'.
68213         * lib/unicase/u8-is-invariant.c: New file.
68214         * lib/unicase/invariant.h: New file.
68215         * lib/unicase/u-is-invariant.h: New file.
68216         * modules/unicase/u8-is-invariant: New file.
68218         Tests for module 'unicase/u32-casecoll'.
68219         * modules/unicase/u32-casecoll-tests: New file.
68220         * tests/unicase/test-u32-casecoll.c: New file.
68222         Tests for module 'unicase/u16-casecoll'.
68223         * modules/unicase/u16-casecoll-tests: New file.
68224         * tests/unicase/test-u16-casecoll.c: New file.
68226         Tests for module 'unicase/u8-casecoll'.
68227         * modules/unicase/u8-casecoll-tests: New file.
68228         * tests/unicase/test-u8-casecoll.c: New file.
68230         New module 'unicase/u32-casecoll'.
68231         * lib/unicase/u32-casecoll.c: New file.
68232         * modules/unicase/u32-casecoll: New file.
68234         New module 'unicase/u16-casecoll'.
68235         * lib/unicase/u16-casecoll.c: New file.
68236         * modules/unicase/u16-casecoll: New file.
68238         New module 'unicase/u8-casecoll'.
68239         * lib/unicase/u8-casecoll.c: New file.
68240         * lib/unicase/u-casecoll.h: New file.
68241         * modules/unicase/u8-casecoll: New file.
68243         New module 'unicase/u32-casexfrm'.
68244         * lib/unicase/u32-casexfrm.c: New file.
68245         * modules/unicase/u32-casexfrm: New file.
68247         New module 'unicase/u16-casexfrm'.
68248         * lib/unicase/u16-casexfrm.c: New file.
68249         * modules/unicase/u16-casexfrm: New file.
68251         New module 'unicase/u8-casexfrm'.
68252         * lib/unicase/u8-casexfrm.c: New file.
68253         * lib/unicase/u-casexfrm.h: New file.
68254         * modules/unicase/u8-casexfrm: New file.
68256         Tests for module 'unicase/u32-casecmp'.
68257         * modules/unicase/u32-casecmp-tests: New file.
68258         * tests/unicase/test-u32-casecmp.c: New file.
68260         Tests for module 'unicase/u16-casecmp'.
68261         * modules/unicase/u16-casecmp-tests: New file.
68262         * tests/unicase/test-u16-casecmp.c: New file.
68264         Tests for module 'unicase/u8-casecmp'.
68265         * modules/unicase/u8-casecmp-tests: New file.
68266         * tests/unicase/test-u8-casecmp.c: New file.
68267         * tests/unicase/test-casecmp.h: New file.
68269         New module 'unicase/u32-casecmp'.
68270         * lib/unicase/u32-casecmp.c: New file.
68271         * modules/unicase/u32-casecmp: New file.
68273         New module 'unicase/u16-casecmp'.
68274         * lib/unicase/u16-casecmp.c: New file.
68275         * modules/unicase/u16-casecmp: New file.
68277         New module 'unicase/u8-casecmp'.
68278         * lib/unicase/u8-casecmp.c: New file.
68279         * lib/unicase/u-casecmp.h: New file.
68280         * modules/unicase/u8-casecmp: New file.
68282         Tests for module 'unicase/u32-casefold'.
68283         * modules/unicase/u32-casefold-tests: New file.
68284         * tests/unicase/test-u32-casefold.c: New file.
68286         Tests for module 'unicase/u16-casefold'.
68287         * modules/unicase/u16-casefold-tests: New file.
68288         * tests/unicase/test-u16-casefold.c: New file.
68290         Tests for module 'unicase/u8-casefold'.
68291         * modules/unicase/u8-casefold-tests: New file.
68292         * tests/unicase/test-u8-casefold.c: New file.
68294         New module 'unicase/u32-casefold'.
68295         * lib/unicase/u32-casefold.c: New file.
68296         * modules/unicase/u32-casefold: New file.
68298         New module 'unicase/u16-casefold'.
68299         * lib/unicase/u16-casefold.c: New file.
68300         * modules/unicase/u16-casefold: New file.
68302         New module 'unicase/u8-casefold'.
68303         * lib/unicase/u8-casefold.c: New file.
68304         * lib/unicase/u-casefold.h: New file.
68305         * modules/unicase/u8-casefold: New file.
68307         New module 'unicase/tocasefold'.
68308         * lib/unicase/casefold.h: New file.
68309         * lib/unicase/tocasefold.c: New file.
68310         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
68311         * modules/unicase/tocasefold: New file.
68313         Tests for module 'unicase/u32-totitle'.
68314         * modules/unicase/u32-totitle-tests: New file.
68315         * tests/unicase/test-u32-totitle.c: New file.
68317         Tests for module 'unicase/u16-totitle'.
68318         * modules/unicase/u16-totitle-tests: New file.
68319         * tests/unicase/test-u16-totitle.c: New file.
68321         Tests for module 'unicase/u8-totitle'.
68322         * modules/unicase/u8-totitle-tests: New file.
68323         * tests/unicase/test-u8-totitle.c: New file.
68325         New module 'unicase/u32-totitle'.
68326         * lib/unicase/u32-totitle.c: New file.
68327         * modules/unicase/u32-totitle: New file.
68329         New module 'unicase/u16-totitle'.
68330         * lib/unicase/u16-totitle.c: New file.
68331         * modules/unicase/u16-totitle: New file.
68333         New module 'unicase/u8-totitle'.
68334         * lib/unicase/u8-totitle.c: New file.
68335         * lib/unicase/u-totitle.h: New file.
68336         * modules/unicase/u8-totitle: New file.
68338         Tests for module 'unicase/u32-tolower'.
68339         * modules/unicase/u32-tolower-tests: New file.
68340         * tests/unicase/test-u32-tolower.c: New file.
68342         Tests for module 'unicase/u16-tolower'.
68343         * modules/unicase/u16-tolower-tests: New file.
68344         * tests/unicase/test-u16-tolower.c: New file.
68346         Tests for module 'unicase/u8-tolower'.
68347         * modules/unicase/u8-tolower-tests: New file.
68348         * tests/unicase/test-u8-tolower.c: New file.
68350         New module 'unicase/u32-tolower'.
68351         * lib/unicase/u32-tolower.c: New file.
68352         * modules/unicase/u32-tolower: New file.
68354         New module 'unicase/u16-tolower'.
68355         * lib/unicase/u16-tolower.c: New file.
68356         * modules/unicase/u16-tolower: New file.
68358         New module 'unicase/u8-tolower'.
68359         * lib/unicase/u8-tolower.c: New file.
68360         * modules/unicase/u8-tolower: New file.
68362         Tests for module 'unicase/u32-toupper'.
68363         * modules/unicase/u32-toupper-tests: New file.
68364         * tests/unicase/test-u32-toupper.c: New file.
68366         Tests for module 'unicase/u16-toupper'.
68367         * modules/unicase/u16-toupper-tests: New file.
68368         * tests/unicase/test-u16-toupper.c: New file.
68370         Tests for module 'unicase/u8-toupper'.
68371         * modules/unicase/u8-toupper-tests: New file.
68372         * tests/unicase/test-u8-toupper.c: New file.
68374         New module 'unicase/u32-toupper'.
68375         * lib/unicase/u32-toupper.c: New file.
68376         * modules/unicase/u32-toupper: New file.
68378         New module 'unicase/u16-toupper'.
68379         * lib/unicase/u16-toupper.c: New file.
68380         * modules/unicase/u16-toupper: New file.
68382         New module 'unicase/u8-toupper'.
68383         * lib/unicase/u8-toupper.c: New file.
68384         * modules/unicase/u8-toupper: New file.
68386         New module 'unicase/u32-casemap'.
68387         * lib/unicase/u32-casemap.c: New file.
68388         * modules/unicase/u32-casemap: New file.
68390         New module 'unicase/u16-casemap'.
68391         * lib/unicase/u16-casemap.c: New file.
68392         * modules/unicase/u16-casemap: New file.
68394         New module 'unicase/u8-casemap'.
68395         * lib/unicase/unicasemap.h: New file.
68396         * lib/unicase/u8-casemap.c: New file.
68397         * lib/unicase/u-casemap.h: New file.
68398         * modules/unicase/u8-casemap: New file.
68400         New module 'unicase/special-casing'.
68401         * lib/unicase/special-casing.h: New file.
68402         * lib/unicase/special-casing.c: New file.
68403         * lib/unicase/special-casing-table.gperf: New file, generated by
68404         gen-uni-tables.c.
68405         * modules/unicase/special-casing: New file.
68407         Tests for module 'unicase/locale-language'.
68408         * modules/unicase/locale-language-tests: New file.
68409         * tests/unicase/test-locale-language.sh: New file.
68410         * tests/unicase/test-locale-language.c: New file.
68412         New module 'unicase/locale-language'.
68413         * lib/unicase/locale-language.c: New file.
68414         * lib/unicase/locale-languages.gperf: New file.
68415         * modules/unicase/locale-language: New file.
68417         Generate more tables for case conversion and case folding.
68418         * lib/gen-uni-tables.c (SCC_*): New enum items.
68419         (struct special_casing_rule): New type.
68420         (casing_rules, num_casing_rules, allocated_casing_rules): New
68421         variables.
68422         (add_casing_rule, fill_casing_rules): New functions.
68423         (struct casefold_rule): New type.
68424         (casefolding_rules, num_casefolding_rules,
68425         allocated_casefolding_rules): New variables.
68426         (fill_casefolding_rules): New function.
68427         (unicode_casefold): New variable.
68428         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
68429         sort_casing_rules, output_casing_rules): New functions.
68430         (main): Accept to more arguments: SpecialCasing.txt and
68431         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
68432         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
68433         Output mapping for casefolding.
68435         * lib/unicase.h: Include stdbool.h, uninorm.h.
68436         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
68437         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
68438         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
68439         arguments.
68440         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
68441         resultp arguments.
68442         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
68443         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
68444         resultp arguments.
68445         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
68446         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
68447         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
68448         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
68449         declarations.
68450         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
68452 2009-03-08  Bruno Haible  <bruno@clisp.org>
68454         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68455         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
68456         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
68457         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68459 2009-03-07  Bruno Haible  <bruno@clisp.org>
68461         Adjust u*_normcmp, u*_normcoll API.
68462         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
68463         u16_normcoll, u32_normcoll): Change failure conventions.
68464         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
68465         errno and return -1.
68466         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
68468 2009-03-07  Bruno Haible  <bruno@clisp.org>
68470         Tests for module 'uninorm/u32-normcoll'.
68471         * modules/uninorm/u32-normcoll-tests: New file.
68472         * tests/uninorm/test-u32-normcoll.c: New file.
68474         Tests for module 'uninorm/u16-normcoll'.
68475         * modules/uninorm/u16-normcoll-tests: New file.
68476         * tests/uninorm/test-u16-normcoll.c: New file.
68478         Tests for module 'uninorm/u8-normcoll'.
68479         * modules/uninorm/u8-normcoll-tests: New file.
68480         * tests/uninorm/test-u8-normcoll.c: New file.
68482 2009-03-07  Bruno Haible  <bruno@clisp.org>
68484         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
68485         tests/uninorm/test-u32-normcmp.c.
68486         * tests/uninorm/test-u32-normcmp.c: Include it.
68487         (test_nonascii): New function, extracted from main. Add some more
68488         tests.
68489         (main): Invoke test_ascii and test_nonascii.
68490         * modules/uninorm/u32-normcmp-tests (Files): Add
68491         tests/uninorm/test-u32-normcmp.h.
68492         (Depends-on): Remove uninorm/u32-normcmp.
68494         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
68495         tests/uninorm/test-u16-normcmp.c.
68496         * tests/uninorm/test-u16-normcmp.c: Include it.
68497         (test_nonascii): New function, extracted from main. Add some more
68498         tests.
68499         (main): Invoke test_ascii and test_nonascii.
68500         * modules/uninorm/u16-normcmp-tests (Files): Add
68501         tests/uninorm/test-u16-normcmp.h.
68502         (Depends-on): Remove uninorm/u16-normcmp.
68504         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
68505         tests/uninorm/test-u8-normcmp.c.
68506         * tests/uninorm/test-u8-normcmp.c: Include it.
68507         (test_nonascii): New function, extracted from main. Add some more
68508         tests.
68509         (main): Invoke test_ascii and test_nonascii.
68510         * modules/uninorm/u8-normcmp-tests (Files): Add
68511         tests/uninorm/test-u8-normcmp.h.
68512         (Depends-on): Remove uninorm/u8-normcmp.
68514 2009-03-07  Bruno Haible  <bruno@clisp.org>
68516         New module 'uninorm/u32-normcoll'.
68517         * lib/uninorm/u32-normcoll.c: New file.
68518         * modules/uninorm/u32-normcoll: New file.
68520         New module 'uninorm/u16-normcoll'.
68521         * lib/uninorm/u16-normcoll.c: New file.
68522         * modules/uninorm/u16-normcoll: New file.
68524         New module 'uninorm/u8-normcoll'.
68525         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
68526         declarations.
68527         * lib/uninorm/u8-normcoll.c: New file.
68528         * lib/uninorm/u-normcoll.h: New file.
68529         * modules/uninorm/u8-normcoll: New file.
68531         New module 'uninorm/u32-normxfrm'.
68532         * lib/uninorm/u32-normxfrm.c: New file.
68533         * modules/uninorm/u32-normxfrm: New file.
68535         New module 'uninorm/u16-normxfrm'.
68536         * lib/uninorm/u16-normxfrm.c: New file.
68537         * modules/uninorm/u16-normxfrm: New file.
68539         New module 'uninorm/u8-normxfrm'.
68540         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
68541         declarations.
68542         * lib/uninorm/u8-normxfrm.c: New file.
68543         * lib/uninorm/u-normxfrm.h: New file.
68544         * modules/uninorm/u8-normxfrm: New file.
68546 2009-03-07  Bruno Haible  <bruno@clisp.org>
68548         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
68549         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
68550         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
68552 2009-03-07  Bruno Haible  <bruno@clisp.org>
68554         New module 'memxfrm'.
68555         * lib/memxfrm.h: New file.
68556         * lib/memxfrm.c: New file.
68557         * modules/memxfrm: New file.
68559 2009-03-07  Bruno Haible  <bruno@clisp.org>
68561         New module 'memcmp2'.
68562         * lib/memcmp2.h: New file.
68563         * lib/memcmp2.c: New file.
68564         * modules/memcmp2: New file.
68566 2009-03-07  Bruno Haible  <bruno@clisp.org>
68568         Tests for module 'uninorm/decomposing-form'.
68569         * modules/uninorm/decomposing-form-tests: New file.
68570         * tests/uninorm/test-decomposing-form.c: New file.
68572         New module 'uninorm/decomposing-form'.
68573         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
68574         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
68575         Add 'decomposing_variant' field.
68576         * lib/uninorm/decomposing-form.c: New file.
68577         * lib/uninorm/nfc.c (uninorm_nfc): Update.
68578         * lib/uninorm/nfd.c (uninorm_nfd): Update.
68579         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
68580         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
68581         * modules/uninorm/decomposing-form: New file.
68582         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
68583         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
68585 2009-03-07  Bruno Haible  <bruno@clisp.org>
68587         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
68588         strings.
68590 2009-03-06  Bruno Haible  <bruno@clisp.org>
68592         Tests for module 'uninorm/u32-normcmp'.
68593         * tests/uninorm/test-u32-normcmp.c: New file.
68594         * modules/uninorm/u32-normcmp-tests: New file.
68596         Tests for module 'uninorm/u16-normcmp'.
68597         * tests/uninorm/test-u16-normcmp.c: New file.
68598         * modules/uninorm/u16-normcmp-tests: New file.
68600         Tests for module 'uninorm/u8-normcmp'.
68601         * tests/uninorm/test-u8-normcmp.c: New file.
68602         * modules/uninorm/u8-normcmp-tests: New file.
68604         New module 'uninorm/u32-normcmp'.
68605         * lib/uninorm/u32-normcmp.c: New file.
68606         * modules/uninorm/u32-normcmp: New file.
68608         New module 'uninorm/u16-normcmp'.
68609         * lib/uninorm/u16-normcmp.c: New file.
68610         * modules/uninorm/u16-normcmp: New file.
68612         New module 'uninorm/u8-normcmp'.
68613         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
68614         declarations.
68615         * lib/uninorm/u8-normcmp.c: New file.
68616         * lib/uninorm/u-normcmp.h: New file.
68617         * modules/uninorm/u8-normcmp: New file.
68619 2009-03-06  Bruno Haible  <bruno@clisp.org>
68621         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
68622         Reported by Eric Blake.
68624 2009-03-06  Eric Blake  <ebb9@byu.net>
68625             Bruno Haible  <bruno@clisp.org>
68627         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
68628         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
68629         condition.
68630         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68631         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
68632         condition.
68633         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
68635 2009-03-06  Eric Blake  <ebb9@byu.net>
68637         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
68638         to avoid compiler warnings.
68639         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
68641 2009-03-05  Bruno Haible  <bruno@clisp.org>
68643         * tests/test-ftell.c (main): Disable test beyond end of file on
68644         FreeMiNT.
68645         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68647 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
68649         * lib/filevercmp.c: Move hidden files up in ordering.
68650         * tests/test-filevercmp.c: Add tests for hidden files.
68652 2009-03-04  Bruno Haible  <bruno@clisp.org>
68654         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
68655         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
68656         AM_CFLAGS.
68657         Reported by Simon Josefsson.
68659 2009-03-03  Bruno Haible  <bruno@clisp.org>
68661         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
68662         Reported by Simon Josefsson.
68664         * doc/ld-version-script.texi: Update node reference.
68666 2009-03-03  Bruno Haible  <bruno@clisp.org>
68668         * modules/visibility (License): Change to 'unlimited'.
68669         Suggested by Simon Josefsson.
68671 2009-03-03  Jim Meyering  <meyering@redhat.com>
68673         unlinkdir: cannot_unlink_dir may modify process state
68674         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
68675         it's neither thread-safe nor appropriate for use in a library.
68677 2009-03-03  Eric Blake  <ebb9@byu.net>
68679         test-closein: silence test under Darwin
68680         * tests/test-closein.sh: Ignore stderr from cat, since we don't
68681         care if it dies from EPIPE or EBADF.
68683 2009-03-03  Bruno Haible  <bruno@clisp.org>
68685         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
68686         earlier.
68687         * doc/visibility.texi: Fix @node and @section.
68689 2009-03-03  Simon Josefsson  <simon@josefsson.org>
68691         * doc/gnulib.texi: Link to sections for ld version script and
68692         visibility.
68693         * doc/visibility.texi: Add @node and @section.
68694         * modules/ld-version-script: New module.
68695         * m4/ld-version-script.m4: New file.
68696         * doc/ld-version-script.texi: New file.
68698 2009-03-02  David Lutterkort  <lutter@redhat.com>
68700         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
68701         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68703 2009-03-02  Bruno Haible  <bruno@clisp.org>
68705         * doc/visibility.texi: Mention libtool's -export-symbols option.
68707 2009-03-02  Jim Meyering  <meyering@redhat.com>
68709         announce-gen: new option: --no-print-checksums
68710         * build-aux/announce-gen (usage): Describe it.
68711         (print_checksums): Print a newline here, not in the [*] footnote.
68712         (main): Honor it.
68714 2009-03-01  Bruno Haible  <bruno@clisp.org>
68716         Use socklen_t in the native Windows replacements prototypes.
68717         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
68718         instead of 'int'.
68719         * lib/getsockopt.c (rpl_getsockopt): Likewise.
68720         * lib/setsockopt.c (rpl_setsockopt): Likewise.
68721         * modules/getsockopt (Depends-on): Add socklen.
68722         * modules/setsockopt (Depends-on): Add socklen.
68724 2009-03-01  Bruno Haible  <bruno@clisp.org>
68726         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
68727         least 4.2.
68729 2009-03-01  Eric Blake  <ebb9@byu.net>
68730             Bruno Haible  <bruno@clisp.org>
68732         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
68733         error messages.
68734         * lib/wait-process.c (wait_subprocess): Omit error message about
68735         deadly signal sent to the child of termsigp != NULL.
68737 2009-03-01  Eric Blake  <ebb9@byu.net>
68739         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
68741 2009-03-01  Bruno Haible  <bruno@clisp.org>
68743         Avoid a gcc warning.
68744         * tests/test-sched.c (b): Make global.
68745         Reported by Eric Blake.
68747 2009-01-19  Martin Lambers  <marlam@marlam.de>
68749         Provide POSIX semantics for socket timeout options on W32.
68750         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
68751         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
68752         * modules/setsockopt: Depend on sys_time module for struct timeval.
68753         * modules/getsockopt: Depend on sys_time module for struct timeval.
68755 2009-03-01  Simon Josefsson  <simon@josefsson.org>
68757         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
68758         __USE_GNU, for consistency with netdb.in.h.
68759         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68761 2009-03-01  Bruno Haible  <bruno@clisp.org>
68763         More support for FreeMiNT.
68764         * lib/fseeko.c (rpl_fseeko): Complete last commit.
68765         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68767 2009-03-01  Bruno Haible  <bruno@clisp.org>
68769         More support for FreeMiNT.
68770         * lib/fpurge.c (fpurge): Correct last commit.
68771         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68773 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68775         Fix unportable awk script in vc-list-files.
68776         * build-aux/vc-list-files: In the replacement awk script, use
68777         substr with a second argument of 1, not zero.
68778         Report by Simon Josefsson.
68780 2009-02-28  Bruno Haible  <bruno@clisp.org>
68782         More support for FreeMiNT.
68783         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
68784         to FreeMiNT today.
68785         * lib/fwriting.c (fwriting): Likewise.
68786         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
68788 2009-02-28  Bruno Haible  <bruno@clisp.org>
68790         * tests/test-freadseek.c (main): Disable test beyond end of file on
68791         FreeMiNT.
68792         * tests/test-ftello.c (main): Likewise.
68793         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
68795 2009-02-28  Bruno Haible  <bruno@clisp.org>
68797         Add tentative support for FreeMiNT.
68798         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
68799         * lib/fpurge.c (fpurge): Likewise.
68800         * lib/freadable.c (freadable): Likewise.
68801         * lib/freading.c (freading): Likewise.
68802         * lib/freadptr.c (freadptr): Likewise.
68803         * lib/freadseek.c (freadptrinc): Likewise.
68804         * lib/fseeko.c (rpl_fseeko): Likewise.
68805         * lib/fseterr.c (fseterr): Likewise.
68806         * lib/fwritable.c (fwritable): Likewise.
68807         * lib/fwriting.c (fwriting): Likewise.
68808         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
68809         Hourihane.
68810         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
68812 2009-02-28  Bruno Haible  <bruno@clisp.org>
68814         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
68815         SIGCHLD.
68816         Reported by Jim Meyering.
68818 2009-02-28  Bruno Haible  <bruno@clisp.org>
68820         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
68821         Mention the results of these tests on various platforms.
68822         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
68823         order.
68824         * doc/posix-functions/printf.texi: Likewise.
68825         * doc/posix-functions/snprintf.texi: Likewise.
68826         * doc/posix-functions/sprintf.texi: Likewise.
68827         * doc/posix-functions/vfprintf.texi: Likewise.
68828         * doc/posix-functions/vprintf.texi: Likewise.
68829         * doc/posix-functions/vsnprintf.texi: Likewise.
68830         * doc/posix-functions/vsprintf.texi: Likewise.
68831         * doc/glibc-functions/obstack_printf.texi: Likewise.
68832         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
68834 2009-02-28  Bruno Haible  <bruno@clisp.org>
68836         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
68837         Reported by Loïc Minier <lool@dooz.org>.
68839 2009-02-27  Bruno Haible  <bruno@clisp.org>
68841         * gnulib-tool (func_import): Make the sed expression used to create the
68842         sed script for updating the .gitignore file POSIX compliant.
68843         Reported by Eric Blake.
68845 2009-02-27  Bruno Haible  <bruno@clisp.org>
68847         * gnulib-tool (sed): Don't alias as "sed --posix".
68848         Reported by Eric Blake.
68850 2009-02-27  Bruno Haible  <bruno@clisp.org>
68852         Avoid test link errors.
68853         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
68854         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
68855         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
68856         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
68857         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
68859 2009-02-27  Bruno Haible  <bruno@clisp.org>
68861         Avoid spurious "(cached)" in configure output.
68862         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
68863         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
68864         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
68865         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
68866         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
68867         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
68868         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
68869         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
68870         Reported by Eric Blake.
68872 2009-02-27  Eric Blake  <ebb9@byu.net>
68874         printf: fix regression in previous patch
68875         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
68877 2009-02-27  Bruno Haible  <bruno@clisp.org>
68879         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
68880         value.
68881         * lib/stdint.in.h: Likewise.
68882         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
68884 2009-02-27  Eric Blake  <ebb9@byu.net>
68886         doc: mention more functions added in cygwin 1.7.0
68887         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
68888         addition.
68889         * doc/posix-functions/open_wmemstream.texi: Likewise.
68890         * doc/posix-functions/wcsnlen.texi: Likewise.
68891         * doc/posix-functions/wcsnrtombs.texi: Likewise.
68892         * doc/posix-functions/wcstod.texi: Likewise.
68893         * doc/posix-functions/wcstof.texi: Likewise.
68894         * doc/posix-functions/wcstoimax.texi: Likewise.
68895         * doc/posix-functions/wcstok.texi: Likewise.
68896         * doc/posix-functions/wcstoumax.texi: Likewise.
68898         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
68899         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
68900         * doc/posix-functions/fprintf.texi: Update.
68901         * doc/posix-functions/printf.texi: Update.
68902         * doc/posix-functions/snprintf.texi: Update.
68903         * doc/posix-functions/sprintf.texi: Update.
68904         * doc/posix-functions/vfprintf.texi: Update.
68905         * doc/posix-functions/vprintf.texi: Update.
68906         * doc/posix-functions/vsnprintf.texi: Update.
68907         * doc/posix-functions/vsprintf.texi: Update.
68908         * doc/glibc-functions/obstack_printf.texi: Update.
68909         * doc/glibc-functions/obstack_vprintf.texi: Update.
68911 2009-02-26  Eric Blake  <ebb9@byu.net>
68913         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
68914         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
68915         compilation bug by using runtime conversion.
68916         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
68917         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
68918         * modules/ceill-tests (Files): Use nan.h.
68919         * modules/floorl-tests (Files): Likewise.
68920         * modules/frexpl-tests (Files): Likewise.
68921         * modules/isnanl-tests (Files): Likewise.
68922         * modules/ldexpl-tests (Files): Likewise.
68923         * modules/roundl-tests (Files): Likewise.
68924         * modules/truncl-tests (Files): Likewise.
68925         * tests/test-ceill.c (main): Use a working NaN.
68926         * tests/test-floorl.c (main): Likewise.
68927         * tests/test-frexpl.c (main): Likewise.
68928         * tests/test-isnan.c (test_long_double): Likewise.
68929         * tests/test-isnanl.h (main): Likewise.
68930         * tests/test-ldexpl.h (main): Likewise.
68931         * tests/test-roundl.h (main): Likewise.
68932         * tests/test-truncl.h (main): Likewise.
68933         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
68935 2009-02-26  Eric Blake  <ebb9@byu.net>
68936             Bruno Haible  <bruno@clisp.org>
68938         Work around a *printf bug with %ls on Solaris.
68939         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
68940         precision is specified, sprintf stops converting the wide string
68941         argument when the number of bytes that have been produced by this
68942         conversion equals or exceeds the precision.
68943         * doc/posix-functions/fprintf.texi: Update.
68944         * doc/posix-functions/printf.texi: Update.
68945         * doc/posix-functions/snprintf.texi: Update.
68946         * doc/posix-functions/sprintf.texi: Update.
68947         * doc/posix-functions/vfprintf.texi: Update.
68948         * doc/posix-functions/vprintf.texi: Update.
68949         * doc/posix-functions/vsnprintf.texi: Update.
68950         * doc/posix-functions/vsprintf.texi: Update.
68951         * doc/glibc-functions/obstack_printf.texi: Update.
68952         * doc/glibc-functions/obstack_vprintf.texi: Update.
68954 2009-02-26  Eric Blake  <ebb9@byu.net>
68956         stdlib: favor compiler check of random.h
68957         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
68958         to avoid an ObjC random.h installed by Swarm.
68960 2009-02-26  Bruno Haible  <bruno@clisp.org>
68962         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
68963         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
68964         Reported by Gary V. Vaughan <gary@gnu.org>.
68966 2009-02-26  Bruno Haible  <bruno@clisp.org>
68968         Fix *printf behaviour regarding the %ls directive.
68969         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
68970         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
68971         NEED_PRINTF_DIRECTIVE_LS.
68972         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
68973         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
68974         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68975         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
68976         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
68977         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
68978         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
68979         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68980         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68981         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68982         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68983         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
68984         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68985         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68986         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68987         * doc/posix-functions/fprintf.texi: Update.
68988         * doc/posix-functions/printf.texi: Update.
68989         * doc/posix-functions/snprintf.texi: Update.
68990         * doc/posix-functions/sprintf.texi: Update.
68991         * doc/posix-functions/vfprintf.texi: Update.
68992         * doc/posix-functions/vprintf.texi: Update.
68993         * doc/posix-functions/vsnprintf.texi: Update.
68994         * doc/posix-functions/vsprintf.texi: Update.
68995         * doc/glibc-functions/obstack_printf.texi: Update.
68996         * doc/glibc-functions/obstack_vprintf.texi: Update.
68997         Reported by Eric Blake.
68999 2009-02-25  Bruno Haible  <bruno@clisp.org>
69001         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
69002         with known value.
69003         Reported by Gary V. Vaughan <gary@gnu.org>.
69005 2009-02-25  Bruno Haible  <bruno@clisp.org>
69007         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
69008         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
69009         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
69010         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
69011         Reported by Gary V. Vaughan <gary@gnu.org>.
69013 2009-02-25  Bruno Haible  <bruno@clisp.org>
69015         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
69016         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
69017         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
69018         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
69019         Reported by Gary V. Vaughan <gary@gnu.org>.
69021 2009-02-25  Eric Blake  <ebb9@byu.net>
69023         tests: skip fseek/ftell tests if ungetc is broken
69024         * m4/ungetc.m4: New file.
69025         * modules/fseek-tests: Split test, so ungetc dependency is
69026         separate from rest of test.
69027         * modules/fseeko-tests: Likewise.
69028         * modules/ftell-tests: Likewise.
69029         * modules/ftello-tests: Likewise.
69030         * tests/test-fseek.c (main): Isolate ungetc dependency.
69031         * tests/test-fseeko.c (main): Likewise.
69032         * tests/test-ftell.c (main): Likewise.
69033         * tests/test-ftello.c (main): Likewise.
69034         * tests/test-fseek2.sh: New file.
69035         * tests/test-fseeko2.sh: Likewise.
69036         * tests/test-ftell2.sh: Likewise.
69037         * tests/test-ftello2.sh: Likewise.
69039 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
69041         test-getaddrinfo: fix usage of skip return code 77
69042         * tests/test-gettaddrinfo.c: Return skip code 77 only
69043         for first occurrence of skip (4x77 is not 77)
69045 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
69047         strtod: avoid C99 decl-after-statement
69048         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
69050 2009-02-24  Eric Blake  <ebb9@byu.net>
69052         strtod: detect HP-UX 11.31 bug
69053         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
69054         Reported by Gary V. Vaughan.
69056 2009-02-23  Bruno Haible  <bruno@clisp.org>
69058         Fix invalid read past end of memory block.
69059         * lib/vasnprintf.c (DCHAR_SET): Define.
69060         (local_wcslen): Define only when needed.
69061         (local_strnlen, local_wcsnlen): New functions.
69062         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
69063         directives that involve a conversion ourselves.
69064         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
69065         wcsnlen, mbrtowc, wcrtomb.
69066         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
69067         * tests/test-vasprintf-posix.c (test_function): Likewise.
69068         * tests/test-snprintf-posix.h (test_function): Likewise.
69069         * tests/test-sprintf-posix.h (test_function): Likewise.
69070         Reported by Ben Pfaff <blp@cs.stanford.edu>.
69072 2009-02-22  Bruno Haible  <bruno@clisp.org>
69074         Implement new clarified decomposition of Hangul syllables.
69075         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
69076         of type LTV, return only a pairwise decomposition.
69077         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
69078         Likewise.
69079         * tests/uninorm/test-decomposition.c (main): Updated expected result.
69080         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
69081         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
69083 2009-02-22  Bruno Haible  <bruno@clisp.org>
69085         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
69086         zero-length results and shrink excess allocated memory.
69087         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
69088         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
69089         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
69090         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
69091         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
69092         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
69093         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
69094         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
69095         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
69096         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
69097         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
69098         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
69100 2009-02-21  Bruno Haible  <bruno@clisp.org>
69102         * doc/gnulib.texi: Include safe-alloc.texi earlier.
69103         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
69104         spaces after a period. Put a space between a macro name and its
69105         argument list. Trivial rewordings.
69106         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
69107         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
69108         (main): Return 0 explicitly.
69110 2009-02-21  Bruno Haible  <bruno@clisp.org>
69112         Tests for module 'uninorm/filter'.
69113         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
69114         * modules/uninorm/filter-tests: New file.
69116         New module 'uninorm/filter'.
69117         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
69118         uninorm_filter_flush, uninorm_filter_free): New declarations.
69119         * lib/uninorm/uninorm-filter.c: New file.
69120         * modules/uninorm/filter: New file.
69122 2009-02-21  Bruno Haible  <bruno@clisp.org>
69124         Tests for module 'uninorm/nfkc'.
69125         * tests/uninorm/test-nfkc.c: New file.
69126         * tests/uninorm/test-u8-nfkc.c: New file.
69127         * tests/uninorm/test-u16-nfkc.c: New file.
69128         * tests/uninorm/test-u32-nfkc.c: New file.
69129         * tests/uninorm/test-u32-nfkc-big.sh: New file.
69130         * tests/uninorm/test-u32-nfkc-big.c: New file.
69131         * modules/uninorm/nfkc-tests: New file.
69133         New module 'uninorm/nfkc'.
69134         * lib/uninorm/nfkc.c: New file.
69135         * modules/uninorm/nfkc: New file.
69137         Tests for module 'uninorm/nfkd'.
69138         * tests/uninorm/test-nfkd.c: New file.
69139         * tests/uninorm/test-u8-nfkd.c: New file.
69140         * tests/uninorm/test-u16-nfkd.c: New file.
69141         * tests/uninorm/test-u32-nfkd.c: New file.
69142         * tests/uninorm/test-u32-nfkd-big.sh: New file.
69143         * tests/uninorm/test-u32-nfkd-big.c: New file.
69144         * modules/uninorm/nfkd-tests: New file.
69146         New module 'uninorm/nfkd'.
69147         * lib/uninorm/nfkd.c: New file.
69148         * modules/uninorm/nfkd: New file.
69150         Tests for module 'uninorm/nfc'.
69151         * tests/uninorm/test-nfc.c: New file.
69152         * tests/uninorm/test-u8-nfc.c: New file.
69153         * tests/uninorm/test-u16-nfc.c: New file.
69154         * tests/uninorm/test-u32-nfc.c: New file.
69155         * tests/uninorm/test-u32-nfc-big.sh: New file.
69156         * tests/uninorm/test-u32-nfc-big.c: New file.
69157         * modules/uninorm/nfc-tests: New file.
69159         New module 'uninorm/nfc'.
69160         * lib/uninorm/nfc.c: New file.
69161         * modules/uninorm/nfc: New file.
69163         Tests for module 'uninorm/nfd'.
69164         * tests/uninorm/test-nfd.c: New file.
69165         * tests/uninorm/test-u8-nfd.c: New file.
69166         * tests/uninorm/test-u16-nfd.c: New file.
69167         * tests/uninorm/test-u32-nfd.c: New file.
69168         * tests/uninorm/test-u32-nfd-big.sh: New file.
69169         * tests/uninorm/test-u32-nfd-big.c: New file.
69170         * tests/uninorm/test-u32-normalize-big.h: New file.
69171         * tests/uninorm/test-u32-normalize-big.c: New file.
69172         * tests/uninorm/NormalizationTest.txt: New file, created from
69173         Unicode 5.1.0 NormalizationTest.txt.
69174         * modules/uninorm/nfd-tests: New file.
69176         New module 'uninorm/nfd'.
69177         * lib/uninorm/nfd.c: New file.
69178         * modules/uninorm/nfd: New file.
69180         New module 'uninorm/u32-normalize'.
69181         * lib/uninorm/u32-normalize.c: New file.
69182         * modules/uninorm/u32-normalize: New file.
69184         New module 'uninorm/u16-normalize'.
69185         * lib/uninorm/u16-normalize.c: New file.
69186         * modules/uninorm/u16-normalize: New file.
69188         New module 'uninorm/u8-normalize'.
69189         * lib/uninorm/u8-normalize.c: New file.
69190         * lib/uninorm/normalize-internal.h: New file.
69191         * lib/uninorm/u-normalize-internal.h: New file.
69192         * modules/uninorm/u8-normalize: New file.
69194         New module 'uninorm/decompose-internal'.
69195         * lib/uninorm/decompose-internal.c: New file.
69196         * modules/uninorm/decompose-internal: New file.
69198         Tests for module 'uninorm/composition'.
69199         * tests/uninorm/test-composition.c: New file.
69200         * modules/uninorm/composition-tests: New file.
69202         New module 'uninorm/composition'.
69203         * lib/uninorm/composition.c: New file.
69204         * lib/uninorm/composition-table.gperf: New file, generated by
69205         gen-uni-tables.
69206         * modules/uninorm/composition: New file.
69208         Tests for module 'uninorm/compat-decomposition'.
69209         * tests/uninorm/test-compat-decomposition.c: New file.
69210         * modules/uninorm/compat-decomposition-tests: New file.
69212         New module 'uninorm/compat-decomposition'.
69213         * lib/uninorm/decompose-internal.h: New file.
69214         * lib/uninorm/compat-decomposition.c: New file.
69215         * modules/uninorm/compat-decomposition: New file.
69217         Tests for module 'uninorm/canonical-decomposition'.
69218         * tests/uninorm/test-canonical-decomposition.c: New file.
69219         * modules/uninorm/canonical-decomposition-tests: New file.
69221         New module 'uninorm/canonical-decomposition'.
69222         * lib/uninorm/canonical-decomposition.c: New file.
69223         * modules/uninorm/canonical-decomposition: New file.
69225         Tests for module 'uninorm/decomposition'.
69226         * tests/uninorm/test-decomposition.c: New file.
69227         * modules/uninorm/decomposition-tests: New file.
69229         New module 'uninorm/decomposition'.
69230         * lib/uninorm/decomposition.c: New file.
69231         * modules/uninorm/decomposition: New file.
69233         New module 'uninorm/decomposition-table'.
69234         * lib/uninorm/decomposition-table.h: New file.
69235         * lib/uninorm/decomposition-table.c: New file.
69236         * lib/uninorm/decomposition-table1.h: New file, generated by
69237         gen-uni-tables.
69238         * lib/uninorm/decomposition-table2.h: New file, generated by
69239         gen-uni-tables.
69240         * modules/uninorm/decomposition-table: New file.
69242         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
69243         (UC_DECOMP_*): New enumeration items.
69244         (get_decomposition): New function.
69245         (struct decomp_table): New type.
69246         (output_decomposition, output_decomposition_tables): New functions.
69247         (unicode_composition_exclusions): New variable.
69248         (fill_composition_exclusions, debug_output_composition_tables): New
69249         functions.
69250         (main): Accept one more argument. Invoke fill_composition_exclusions.
69251         Output decomposition and composition tables.
69253         New module 'uninorm/base'.
69254         * lib/uninorm.h: New file.
69255         * lib/unictype.h: Update comment.
69256         * modules/uninorm/base: New file.
69258 2009-02-21  David Lutterkort  <lutter@redhat.com>
69260         Tests for module 'safe-alloc'.
69261         * tests/test-safe-alloc.c: New file.
69262         * modules/safe-alloc-tests: New file.
69264         New module 'safe-alloc'.
69265         * lib/safe-alloc.h: New file.
69266         * lib/safe-alloc.c: New file.
69267         * m4/safe-alloc.m4: New file.
69268         * modules/safe-alloc: New file.
69269         * doc/safe-alloc.texi: New file.
69270         * doc/gnulib.texi: Include it.
69271         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
69272         safe-alloc.
69274 2009-02-18  Bruno Haible  <bruno@clisp.org>
69276         Fix link error on non-glibc systems.
69277         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
69278         variable.
69279         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
69281 2009-02-18  Jim Meyering  <meyering@redhat.com>
69283         fts: avoid used-uninitialized error due to recent change
69284         * lib/fts.c (fts_read): Guard uses of the new member,
69285         parent->fts_n_dirs_remaining, since it's not relevant for
69286         the parent of a directory specified on the command-line.
69288 2009-02-17  James Youngman  <jay@gnu.org>
69289             Bruno Haible  <bruno@clisp.org>
69291         * m4/include_next.m4: Reformulate comment.
69293 2009-02-16  Jim Meyering  <meyering@redhat.com>
69295         fts: add #if guards so that the fts_lgpl module still builds
69296         * lib/fts.c: Guard just-added hash-table-using parts with
69297         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
69298         Reported by Simon Josefsson.
69300 2009-02-15  Bruno Haible  <bruno@clisp.org>
69302         * modules/array-mergesort-tests: New file.
69303         * tests/test-array-mergesort.c: New file.
69305         New module 'array-mergesort'.
69306         * modules/array-mergesort: New file.
69307         * lib/array-mergesort.h: New file.
69309 2009-02-15  Bruno Haible  <bruno@clisp.org>
69311         Fix 2009-02-07 commit.
69312         * lib/gen-uni-tables.c (output_predicate, output_category,
69313         output_combclass, output_bidi_category, output_decimal_digit,
69314         output_digit, output_numeric, output_mirror, output_scripts,
69315         output_ident_category, output_simple_mapping): Fix format directives.
69316         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
69318 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
69320         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
69321         fixes are available from IBM.
69323 2009-02-13  Jim Meyering  <meyering@redhat.com>
69325         fts: arrange not to stat non-directories in more cases
69326         This makes GNU find (when it doesn't need to stat each file)
69327         *much* more efficient at traversing reiserfs file systems.
69328         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
69329         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
69330         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
69331         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
69332         (leaf_optimization_applies): New function.
69333         (LCO_hash, LCO_compare): New helper functions.
69334         (link_count_optimize_ok): New function.
69335         (fts_stat): Initialize new member (if dir).
69336         (fts_read): Decrement parent's fts_n_dirs_remaining count if
69337         we've just stat'ed a directory.  Skip the stat call when possible.
69338         ---
69339         Note this AFS-related exchange:
69340         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
69341         and note find's pioctl call in find/fstype.c.
69342         But that is necessary only if you want to enable the
69343         optimization for AFS, and for now, I don't.
69345         fts: move a function definition "up" (no semantic change)
69346         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
69347         "up" to precede upcoming use of a related function.
69349 2009-02-11  Jim Meyering  <meyering@redhat.com>
69351         fts: correct internal computation of nlinks (optimization-related)
69352         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
69353         whether the current entry is a directory, so don't test it.
69355 2009-02-10  Bruno Haible  <bruno@clisp.org>
69357         Tests for module 'uniwbrk/ulc-wordbreaks'.
69358         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
69359         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
69360         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
69362         Tests for module 'uniwbrk/u32-wordbreaks'.
69363         * modules/uniwbrk/u32-wordbreaks-tests: New file.
69364         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
69366         Tests for module 'uniwbrk/u16-wordbreaks'.
69367         * modules/uniwbrk/u16-wordbreaks-tests: New file.
69368         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
69370         Tests for module 'uniwbrk/u8-wordbreaks'.
69371         * modules/uniwbrk/u8-wordbreaks-tests: New file.
69372         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
69374 2009-02-10  Bruno Haible  <bruno@clisp.org>
69376         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
69377         property.
69378         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
69379         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
69380         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
69382 2009-02-10  Simon Josefsson  <simon@josefsson.org>
69384         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
69385         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
69387 2009-02-10  Bruno Haible  <bruno@clisp.org>
69389         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
69390         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
69391         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
69392         * lib/unilbrk/u8-possible-linebreaks.c: Update.
69393         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
69394         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
69396 2009-02-09  Simon Josefsson  <simon@josefsson.org>
69398         * lib/sockets.h (gl_fd_to_handle): New function.
69400         * tests/test-sockets.c: Call gl_fd_to_handle.
69402 2009-02-09  Bruno Haible  <bruno@clisp.org>
69404         * doc/havelib.texi: Document the conventions on bi-arch systems.
69406 2009-02-08  Bruno Haible  <bruno@clisp.org>
69408         Document the AC_LIB_LINKFLAGS macro.
69409         * doc/havelib.texi: New file, mostly written on 2005-05-24.
69410         * doc/gnulib.texi: Include it.
69412 2009-02-08  Bruno Haible  <bruno@clisp.org>
69414         Fix wrong order of sections, compared to TOC.
69415         * doc/gnulib.texi: Include relocatable-maint.texi after the
69416         "Regular expressions" node, not before.
69418 2009-02-08  Bruno Haible  <bruno@clisp.org>
69420         Tests for module 'unicase/totitle'.
69421         * modules/unicase/totitle-tests: New file.
69423         Tests for module 'unicase/tolower'.
69424         * modules/unicase/tolower-tests: New file.
69426         Tests for module 'unicase/toupper'.
69427         * modules/unicase/toupper-tests: New file.
69428         * tests/unicase/test-mapping-part1.h: New file.
69429         * tests/unicase/test-mapping-part2.h: New file.
69431         New module 'unicase/totitle'.
69432         * modules/unicase/totitle: New file.
69433         * lib/unicase/totitle.c: New file.
69435         New module 'unicase/tolower'.
69436         * modules/unicase/tolower: New file.
69437         * lib/unicase/tolower.c: New file.
69439         New module 'unicase/toupper'.
69440         * modules/unicase/toupper: New file.
69441         * lib/unicase/toupper.c: New file.
69442         * lib/unicase/simple-mapping.h: New file.
69444         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
69445         (mapping_table): New structure.
69446         (output_simple_mapping): New function.
69447         (main): Invoke output_simple_mapping_test and output_simple_mapping.
69448         * modules/gen-uni-tables (Description): Update.
69449         * lib/unicase/toupper.h: New file, automatically generated by
69450         gen-uni-tables.
69451         * lib/unicase/tolower.h: New file, automatically generated by
69452         gen-uni-tables.
69453         * lib/unicase/totitle.h: New file, automatically generated by
69454         gen-uni-tables.
69455         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
69456         gen-uni-tables.
69457         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
69458         gen-uni-tables.
69459         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
69460         gen-uni-tables.
69462         New module 'unicase/base'.
69463         * modules/unicase/base: New file.
69464         * lib/unicase.h: New file.
69466 2009-02-08  Bruno Haible  <bruno@clisp.org>
69468         New module 'uniwbrk/ulc-wordbreaks'.
69469         * modules/uniwbrk/ulc-wordbreaks: New file.
69470         * lib/uniwbrk/ulc-wordbreaks.c: New file.
69472         New module 'uniwbrk/u32-wordbreaks'.
69473         * modules/uniwbrk/u32-wordbreaks: New file.
69474         * lib/uniwbrk/u32-wordbreaks.c: New file.
69476         New module 'uniwbrk/u16-wordbreaks'.
69477         * modules/uniwbrk/u16-wordbreaks: New file.
69478         * lib/uniwbrk/u16-wordbreaks.c: New file.
69480         New module 'uniwbrk/u8-wordbreaks'.
69481         * modules/uniwbrk/u8-wordbreaks: New file.
69482         * lib/uniwbrk/u8-wordbreaks.c: New file.
69483         * lib/uniwbrk/u-wordbreaks.h: New file.
69485         New module 'uniwbrk/table'.
69486         * modules/uniwbrk/table: New file.
69487         * lib/uniwbrk/wbrktable.h: New file.
69488         * lib/uniwbrk/wbrktable.c: New file.
69490         New module 'uniwbrk/wordbreak-property'.
69491         * modules/uniwbrk/wordbreak-property: New file.
69492         * lib/uniwbrk/wordbreak-property.c: New file.
69494         * lib/gen-uni-tables.c (WBP_*): New enum items.
69495         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
69496         (unicode_org_wbp): New variable.
69497         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
69498         New functions.
69499         (wbp_table): New structure.
69500         (output_wbp, output_wbrk_tables): New functions.
69501         (main): Accept additional argument. Invoke fill_org_wbp,
69502         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
69503         output_wbrk_tables.
69504         * modules/gen-uni-tables (Description): Update.
69505         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
69506         gen-uni-tables.
69508         New module 'uniwbrk/base'.
69509         * modules/uniwbrk/base: New file.
69510         * lib/uniwbrk.h: New file.
69512 2009-02-08  Bruno Haible  <bruno@clisp.org>
69514         Update to Unicode 5.1.0.
69515         * lib/gen-uni-tables.c (is_property_alphabetic): Include
69516         U+2185..U+2188.
69517         (is_property_default_ignorable_code_point): Don't include characters
69518         of category Cc or Cs and not-a-characters.
69519         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
69520         U+0D79, U+109E, U+109F, U+A60C.
69521         * lib/unictype/bidi_of.h: Regenerated.
69522         * lib/unictype/blocks.h: Regenerated.
69523         * lib/unictype/categ_C.h: Regenerated.
69524         * lib/unictype/categ_Cf.h: Regenerated.
69525         * lib/unictype/categ_Cn.h: Regenerated.
69526         * lib/unictype/categ_L.h: Regenerated.
69527         * lib/unictype/categ_Ll.h: Regenerated.
69528         * lib/unictype/categ_Lm.h: Regenerated.
69529         * lib/unictype/categ_Lo.h: Regenerated.
69530         * lib/unictype/categ_Lu.h: Regenerated.
69531         * lib/unictype/categ_M.h: Regenerated.
69532         * lib/unictype/categ_Mc.h: Regenerated.
69533         * lib/unictype/categ_Me.h: Regenerated.
69534         * lib/unictype/categ_Mn.h: Regenerated.
69535         * lib/unictype/categ_N.h: Regenerated.
69536         * lib/unictype/categ_Nd.h: Regenerated.
69537         * lib/unictype/categ_Nl.h: Regenerated.
69538         * lib/unictype/categ_No.h: Regenerated.
69539         * lib/unictype/categ_P.h: Regenerated.
69540         * lib/unictype/categ_Pd.h: Regenerated.
69541         * lib/unictype/categ_Pe.h: Regenerated.
69542         * lib/unictype/categ_Pf.h: Regenerated.
69543         * lib/unictype/categ_Pi.h: Regenerated.
69544         * lib/unictype/categ_Po.h: Regenerated.
69545         * lib/unictype/categ_Ps.h: Regenerated.
69546         * lib/unictype/categ_S.h: Regenerated.
69547         * lib/unictype/categ_Sk.h: Regenerated.
69548         * lib/unictype/categ_Sm.h: Regenerated.
69549         * lib/unictype/categ_So.h: Regenerated.
69550         * lib/unictype/categ_of.h: Regenerated.
69551         * lib/unictype/combining.h: Regenerated.
69552         * lib/unictype/ctype_alnum.h: Regenerated.
69553         * lib/unictype/ctype_alpha.h: Regenerated.
69554         * lib/unictype/ctype_graph.h: Regenerated.
69555         * lib/unictype/ctype_lower.h: Regenerated.
69556         * lib/unictype/ctype_print.h: Regenerated.
69557         * lib/unictype/ctype_punct.h: Regenerated.
69558         * lib/unictype/ctype_upper.h: Regenerated.
69559         * lib/unictype/decdigit.h: Regenerated.
69560         * lib/unictype/digit.h: Regenerated.
69561         * lib/unictype/mirror.h: Regenerated.
69562         * lib/unictype/numeric.h: Regenerated.
69563         * lib/unictype/pr_alphabetic.h: Regenerated.
69564         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
69565         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
69566         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
69567         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
69568         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
69569         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
69570         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
69571         * lib/unictype/pr_combining.h: Regenerated.
69572         * lib/unictype/pr_dash.h: Regenerated.
69573         * lib/unictype/pr_decimal_digit.h: Regenerated.
69574         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
69575         * lib/unictype/pr_deprecated.h: Regenerated.
69576         * lib/unictype/pr_diacritic.h: Regenerated.
69577         * lib/unictype/pr_extender.h: Regenerated.
69578         * lib/unictype/pr_format_control.h: Regenerated.
69579         * lib/unictype/pr_grapheme_base.h: Regenerated.
69580         * lib/unictype/pr_grapheme_extend.h: Regenerated.
69581         * lib/unictype/pr_grapheme_link.h: Regenerated.
69582         * lib/unictype/pr_id_continue.h: Regenerated.
69583         * lib/unictype/pr_id_start.h: Regenerated.
69584         * lib/unictype/pr_ideographic.h: Regenerated.
69585         * lib/unictype/pr_ignorable_control.h: Regenerated.
69586         * lib/unictype/pr_lowercase.h: Regenerated.
69587         * lib/unictype/pr_math.h: Regenerated.
69588         * lib/unictype/pr_numeric.h: Regenerated.
69589         * lib/unictype/pr_other_alphabetic.h: Regenerated.
69590         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
69591         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
69592         * lib/unictype/pr_other_id_continue.h: Regenerated.
69593         * lib/unictype/pr_other_lowercase.h: Regenerated.
69594         * lib/unictype/pr_other_math.h: Regenerated.
69595         * lib/unictype/pr_punctuation.h: Regenerated.
69596         * lib/unictype/pr_sentence_terminal.h: Regenerated.
69597         * lib/unictype/pr_soft_dotted.h: Regenerated.
69598         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
69599         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
69600         * lib/unictype/pr_unified_ideograph.h: Regenerated.
69601         * lib/unictype/pr_uppercase.h: Regenerated.
69602         * lib/unictype/pr_xid_continue.h: Regenerated.
69603         * lib/unictype/pr_xid_start.h: Regenerated.
69604         * lib/unictype/pr_zero_width.h: Regenerated.
69605         * lib/unictype/scripts.h: Regenerated.
69606         * lib/unictype/scripts_byname.gperf: Regenerated.
69607         * lib/unictype/sy_java_ident.h: Regenerated.
69608         * lib/unilbrk/lbrkprop1.h: Regenerated.
69609         * lib/unilbrk/lbrkprop2.h: Regenerated.
69610         * tests/unictype/test-categ_C.c: Regenerated.
69611         * tests/unictype/test-categ_Cf.c: Regenerated.
69612         * tests/unictype/test-categ_Cn.c: Regenerated.
69613         * tests/unictype/test-categ_L.c: Regenerated.
69614         * tests/unictype/test-categ_Ll.c: Regenerated.
69615         * tests/unictype/test-categ_Lm.c: Regenerated.
69616         * tests/unictype/test-categ_Lo.c: Regenerated.
69617         * tests/unictype/test-categ_Lu.c: Regenerated.
69618         * tests/unictype/test-categ_M.c: Regenerated.
69619         * tests/unictype/test-categ_Mc.c: Regenerated.
69620         * tests/unictype/test-categ_Me.c: Regenerated.
69621         * tests/unictype/test-categ_Mn.c: Regenerated.
69622         * tests/unictype/test-categ_N.c: Regenerated.
69623         * tests/unictype/test-categ_Nd.c: Regenerated.
69624         * tests/unictype/test-categ_Nl.c: Regenerated.
69625         * tests/unictype/test-categ_No.c: Regenerated.
69626         * tests/unictype/test-categ_P.c: Regenerated.
69627         * tests/unictype/test-categ_Pd.c: Regenerated.
69628         * tests/unictype/test-categ_Pe.c: Regenerated.
69629         * tests/unictype/test-categ_Pf.c: Regenerated.
69630         * tests/unictype/test-categ_Pi.c: Regenerated.
69631         * tests/unictype/test-categ_Po.c: Regenerated.
69632         * tests/unictype/test-categ_Ps.c: Regenerated.
69633         * tests/unictype/test-categ_S.c: Regenerated.
69634         * tests/unictype/test-categ_Sk.c: Regenerated.
69635         * tests/unictype/test-categ_Sm.c: Regenerated.
69636         * tests/unictype/test-categ_So.c: Regenerated.
69637         * tests/unictype/test-ctype_alnum.c: Regenerated.
69638         * tests/unictype/test-ctype_alpha.c: Regenerated.
69639         * tests/unictype/test-ctype_graph.c: Regenerated.
69640         * tests/unictype/test-ctype_lower.c: Regenerated.
69641         * tests/unictype/test-ctype_print.c: Regenerated.
69642         * tests/unictype/test-ctype_punct.c: Regenerated.
69643         * tests/unictype/test-ctype_upper.c: Regenerated.
69644         * tests/unictype/test-decdigit.h: Regenerated.
69645         * tests/unictype/test-digit.h: Regenerated.
69646         * tests/unictype/test-numeric.h: Regenerated.
69647         * tests/unictype/test-pr_alphabetic.c: Regenerated.
69648         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
69649         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
69650         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
69651         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
69652         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
69653         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
69654         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
69655         * tests/unictype/test-pr_combining.c: Regenerated.
69656         * tests/unictype/test-pr_dash.c: Regenerated.
69657         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
69658         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
69659         * tests/unictype/test-pr_deprecated.c: Regenerated.
69660         * tests/unictype/test-pr_diacritic.c: Regenerated.
69661         * tests/unictype/test-pr_extender.c: Regenerated.
69662         * tests/unictype/test-pr_format_control.c: Regenerated.
69663         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
69664         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
69665         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
69666         * tests/unictype/test-pr_id_continue.c: Regenerated.
69667         * tests/unictype/test-pr_id_start.c: Regenerated.
69668         * tests/unictype/test-pr_ideographic.c: Regenerated.
69669         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
69670         * tests/unictype/test-pr_lowercase.c: Regenerated.
69671         * tests/unictype/test-pr_math.c: Regenerated.
69672         * tests/unictype/test-pr_numeric.c: Regenerated.
69673         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
69674         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
69675         Regenerated.
69676         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
69677         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
69678         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
69679         * tests/unictype/test-pr_other_math.c: Regenerated.
69680         * tests/unictype/test-pr_punctuation.c: Regenerated.
69681         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
69682         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
69683         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
69684         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
69685         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
69686         * tests/unictype/test-pr_uppercase.c: Regenerated.
69687         * tests/unictype/test-pr_xid_continue.c: Regenerated.
69688         * tests/unictype/test-pr_xid_start.c: Regenerated.
69689         * tests/unictype/test-pr_zero_width.c: Regenerated.
69691         Update to Unicode 5.1.0.
69692         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
69693         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
69694         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
69695         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
69696         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
69697         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
69698         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
69699         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
69700         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
69701         (nonspacing_table_ind): Update.
69702         * tests/uniwidth/test-uc_width2.sh: Update expected result.
69704         Update to Unicode 5.1.0.
69705         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
69706         code transform.
69707         * lib/uniname/uniname.c (unicode_character_name,
69708         unicode_name_character): Add the range 0x1Fxxx to the code transform.
69709         * lib/uniname/uninames.h: Regenerated.
69710         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
69712 2009-02-07  Bruno Haible  <bruno@clisp.org>
69714         Merge gen-ctype and gen-lbrk into a single program.
69715         * lib/gen-uni-tables.c: New file, incorporating
69716         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
69717         Add directory prefixes to the names of the generated files.
69718         * lib/unictype/gen-ctype.c: Remove file.
69719         * lib/unilbrk/gen-lbrk.c: Remove file.
69720         * modules/gen-uni-tables: New file.
69721         * modules/unictype/gen-ctype: Remove file.
69722         * modules/unilbrk/gen-lbrk: Remove file.
69724 2009-02-07  Bruno Haible  <bruno@clisp.org>
69726         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
69728         New module 'unistr/u32-strcoll'.
69729         * modules/unistr/u32-strcoll: New file.
69730         * lib/unistr/u32-strcoll.c: New file.
69732         New module 'unistr/u16-strcoll'.
69733         * modules/unistr/u16-strcoll: New file.
69734         * lib/unistr/u16-strcoll.c: New file.
69736         New module 'unistr/u8-strcoll'.
69737         * modules/unistr/u8-strcoll: New file.
69738         * lib/unistr/u8-strcoll.c: New file.
69739         * lib/unistr/u-strcoll.h: New file.
69741 2009-02-07  Bruno Haible  <bruno@clisp.org>
69743         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
69744         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69745         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
69746         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
69747         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
69748         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
69750 2009-02-07  Bruno Haible  <bruno@clisp.org>
69752         Make 64-bit clean.
69753         * lib/unictype/gen-ctype.c (output_predicate, output_category,
69754         output_combclass, output_bidi_category, output_decimal_digit,
69755         output_digit, output_numeric, output_mirror, output_scripts,
69756         output_ident_category): Use proper width specifier in format strings.
69758 2009-02-07  Bruno Haible  <bruno@clisp.org>
69760         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
69761         failure behaviour.
69763 2009-02-07  Jim Meyering  <meyering@redhat.com>
69765         regex: avoid compilation failure with upcoming gcc-4.4
69766         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
69767         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
69768         "... error: integer overflow in preprocessor expression".
69770 2009-02-05  Ben Pfaff  <blp@gnu.org>
69772         Fix link errors on Windows when close module is used.
69773         * modules/close: Add $(LIB_CLOSE) to Link section.
69774         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
69775         $(LIB_CLOSE) on Windows.
69777 2009-02-05  Jim Meyering  <meyering@redhat.com>
69779         still avoid unused-parameter warnings, but do it cleanly
69780         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
69781         (get_fs_usage): Cast to void instead.
69782         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
69783         (dev_from_mount_options, read_file_system_list): Cast to void.
69784         Prompted by Bruno Haible.
69786 2009-02-04  Jim Meyering  <meyering@redhat.com>
69788         fsusage.c: correct copyright year
69789         * lib/fsusage.c: Reflect year in which the change is pushed into
69791         avoid misc. warnings
69792         * lib/fsusage.c (UNUSED_PARAM): Define.
69793         (get_fs_usage): Mark parameter "disk" as unused.
69794         * lib/getugroups.c (getgrent): Use "void" in prototype.
69795         * lib/mountlist.c: Mark unused parameters.
69796         (read_file_system_list): Declare a local with "const".
69797         * lib/nanosleep.c (getnow): Declare static.
69798         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
69800         dirfd: set errno upon failure
69801         * lib/dirfd.c: Include <errno.h>.
69802         Set errno to ENOTSUP when returning -1.
69803         * modules/dirfd (Depends-on): Add errno.
69804         Suggested by John Kodis <kodis@comcast.net>.
69806 2009-02-01  Bruno Haible  <bruno@clisp.org>
69808         Don't assume sizeof (long) >= sizeof (void *).
69809         * lib/memcmp.c: Include stdint.h.
69810         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
69811         srcp2 to 'const byte *'.
69812         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
69813         types to uintptr_t.
69814         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
69815         * modules/memcmp (Depends-on): Add stdint.
69816         Reported by Ozkan Sezer <sezeroz@gmail.com>.
69818 2009-01-30  Eric Blake  <ebb9@byu.net>
69820         fix more require-before-expand issues
69821         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
69822         expand, AC_PROG_AWK.
69823         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
69825 2009-01-28  Eric Blake  <ebb9@byu.net>
69827         version-etc: use consistent URL formatting
69828         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
69829         Improve formatting.  Use fputs for string without %.
69831 2009-01-28  Jim Meyering  <meyering@redhat.com>
69833         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
69834         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
69835         "underquoted definition of NAME" from autoconf-2.59.
69837 2009-01-28  Bruno Haible  <bruno@clisp.org>
69839         * doc/gnulib.texi: Add "Obsolete modules" to index.
69841 2009-01-28  Jim Meyering  <meyering@redhat.com>
69843         useless-if-before-free: recognize more variants
69844         * build-aux/useless-if-before-free: Also recognize e.g.,
69845         if (NULL != p) free (p);
69847 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
69849         test-getaddrinfo: skip (don't fail) this test when there's no network
69850         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
69851         on the presumption that it means you lack network access.
69853 2009-01-26  Jim Meyering  <meyering@redhat.com>
69855         fflush: avoid warnings on modern systems
69856         * lib/fflush.c (rpl_fflush): Move declarations of locals,
69857         pos and result, into scopes where they're used.
69859 2009-01-26  Eric Blake  <ebb9@byu.net>
69861         Silence warning reintroduced by recent extensions patch.
69862         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
69863         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
69864         autoconf.
69866         Backport improved autoconf semantics of AC_DEFUN_ONCE.
69867         * m4/00gnulib.m4: New file.
69868         * gnulib-tool (func_get_filelist): Always use it.
69869         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
69870         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
69872 2009-01-25  Bruno Haible  <bruno@clisp.org>
69874         Make test-quotearg work on MacOS X and AIX.
69875         * tests/test-quotearg.sh: New file.
69876         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
69877         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
69878         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
69879         include <libintl.h>.
69880         (fake_locale): Remove variable.
69881         (gettext, dgettext, dcgettext): Remove functions.
69882         (main): Instead of setting a fake locale, set a real locale. Call
69883         textdomain and bindtextdomain.
69884         * modules/quotearg-tests (Files): Add the new files.
69885         (Depends-on): Add gettext, setenv, unsetenv.
69886         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69887         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
69888         Augment TESTS_ENVIRONMENT.
69890 2009-01-25  Bruno Haible  <bruno@clisp.org>
69892         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
69893         fr_FR.ISO8859-1 locale on MacOS X.
69894         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
69895         ja_JP.eucJP locale on MacOS X.
69896         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
69897         zh_CN.GB18030 locale on MacOS X.
69899 2009-01-25  Bruno Haible  <bruno@clisp.org>
69901         Avoid link errors on MacOS X 10.3.
69902         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
69903         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
69905 2009-01-25  Bruno Haible  <bruno@clisp.org>
69907         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69908         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
69909         * modules/pipe (Files): Remove m4/posix_spawn.m4.
69910         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69911         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
69912         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69913         posix_spawnattr_init, posix_spawnattr_setsigmask,
69914         posix_spawnattr_setflags, posix_spawnattr_destroy.
69916         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
69917         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
69918         * modules/execute (Files): Remove m4/posix_spawn.m4.
69919         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
69920         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
69921         posix_spawnattr_init, posix_spawnattr_setsigmask,
69922         posix_spawnattr_setflags, posix_spawnattr_destroy.
69924 2009-01-25  Bruno Haible  <bruno@clisp.org>
69926         * lib/glthread/threadlib.c: Include <stdlib.h>.
69928 2009-01-25  Bruno Haible  <bruno@clisp.org>
69930         * lib/glthread/threadlib.c (dummy): New declaration.
69932 2009-01-25  Bruno Haible  <bruno@clisp.org>
69934         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
69935         multibyte characters also for the GB18030 encoding. Don't crash when
69936         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
69938 2009-01-25  Bruno Haible  <bruno@clisp.org>
69940         Avoid redefining 'struct random_data' on OSF/1 5.1.
69941         * lib/stdlib.in.h: Include <random.h> if it exists.
69942         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
69943         HAVE_RANDOM_H. Include <random.h> when testing whether
69944         'struct random_data' exists.
69945         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
69947 2009-01-25  Bruno Haible  <bruno@clisp.org>
69949         Don't install charset.alias on MacOS X >= 10.3.
69950         * lib/localcharset.c (DARWIN7): New macro.
69951         (get_charset_aliases): Hardcode the result for Darwin7.
69952         * modules/localcharset (install-exec-local): Don't install
69953         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
69955 2009-01-25  Bruno Haible  <bruno@clisp.org>
69957         Don't install charset.alias on mingw and Cygwin.
69958         * modules/localcharset (install-exec-local): Don't install
69959         charset.alias on mingw and Cygwin, if the file does not yet exist.
69960         The result for these platforms is hardcoded in localcharset.c.
69962 2009-01-25  Bruno Haible  <bruno@clisp.org>
69964         Make it possible again to use AC_GNU_SOURCE together with gnulib.
69965         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
69966         before requiring AC_USE_SYSTEM_EXTENSIONS.
69968 2009-01-25  Jim Meyering  <meyering@redhat.com>
69970         c-strtod: avoid warnings
69971         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
69972         "assignment discards qualifiers from pointer target type" warnings.
69974 2009-01-24  Bruno Haible  <bruno@clisp.org>
69976         Add support for non-UTF-8 locales on MacOS X.
69977         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
69978         canonical encodings. For Darwin 7 and newer, don't map traditional
69979         encodings to UTF-8.
69980         Reported by Vincent Lefevre <vincent@vinc17.org>
69981         at <http://savannah.gnu.org/bugs/?25235>.
69983 2009-01-24  Bruno Haible  <bruno@clisp.org>
69985         * doc/gnulib.texi (Obsolete modules): New section.
69986         Reported by Mike Frysinger <vapier@gentoo.org>.
69988 2009-01-24  Bruno Haible  <bruno@clisp.org>
69990         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
69991         (%.dvi): New rule.
69993 2009-01-24  Bruno Haible  <bruno@clisp.org>
69995         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
69996         Reported by Eric Blake.
69998 2009-01-24  Bruno Haible  <bruno@clisp.org>
70000         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
70001         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
70002         Reported by Gary V. Vaughan <gary@gnu.org>.
70004 2009-01-24  Bruno Haible  <bruno@clisp.org>
70006         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
70008 2009-01-23  Bruno Haible  <bruno@clisp.org>
70010         Make c-strtod, c-strtold usable in libraries.
70011         * lib/c-strtod.c: Include string.h instead of xalloc.h.
70012         (C_STRTOD): Call strdup instead of xstrdup.
70013         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
70014         * modules/c-strtold (Depends-on): Likewise.
70015         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
70016         * NEWS: Mention the change.
70017         Reported by Michael Gold <mgold@ncf.ca>.
70019 2009-01-23  Jim Meyering  <meyering@redhat.com>
70021         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
70022         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
70023         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
70025 2009-01-23  Simon Josefsson  <simon@josefsson.org>
70027         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
70028         GNU CoreUtils.
70029         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
70030         * modules/version-etc (Description): Update.
70032 2009-01-22  Bruno Haible  <bruno@clisp.org>
70034         Cache the C locale object.
70035         * lib/c-strtod.c (c_locale_cache): New variable.
70036         (c_locale): New function.
70037         (C_STRTOD): Use it, and don't call freelocale.
70038         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
70039         Suggested by Paolo Bonzini.
70041 2009-01-21  Bruno Haible  <bruno@clisp.org>
70043         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
70044         conditions other than overflow.
70046 2009-01-21  Bruno Haible  <bruno@clisp.org>
70048         * lib/c-strtod.c: Include errno.h.
70049         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
70050         value from STRTOD_L and STRTOD.
70052 2009-01-21  Bruno Haible  <bruno@clisp.org>
70053         and Jim Meyering  <meyering@redhat.com>
70055         nanosleep: skip configure test (fail it) for apple universal builds
70056         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
70057         universal builds, assume that nanosleep does not work.
70058         * modules/nanosleep (Depends-on): Add multiarch.
70060         mktime: skip configure test (fail it) for apple universal builds
70061         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
70062         universal builds, assume that mktime does not work.
70063         * modules/mktime (Depends-on): Add multiarch.
70065 2009-01-21  Eric Blake  <ebb9@byu.net>
70067         multiarch: avoid expand-before-require warning
70068         * modules/multiarch (configure.ac): Require, rather than expand,
70069         gl_MULTIARCH.
70070         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
70071         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
70072         enforce that all clients require it.  Partial reversion of
70073         2008-12-29 patch.
70075         error: avoid expand-before-require warning
70076         * modules/errno (configure.ac): Require, rather than expand,
70077         gl_HEADER_ERRNO_H.
70078         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
70079         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
70080         enforce that all clients require it.
70082         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
70083         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
70084         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
70085         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
70087 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
70089         Revert:
70090         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70092         regex: do not depend on obsolete modules.
70093         * modules/regex: Remove memcmp and memmove.
70095 2009-01-20  Bruno Haible  <bruno@clisp.org>
70097         Make the 'link' module link on Windows NT 4.
70098         * lib/link.c (_WIN32_WINNT): Don't define.
70099         (CreateHardLinkFuncType): New type.
70100         (CreateHardLinkFunc, initialized): New variables.
70101         (initialize): New function.
70102         (link): Invoke CreateHardLink indirectly through the function pointer.
70104 2009-01-20  Bruno Haible  <bruno@clisp.org>
70106         Fix compilation failure on mingw.
70107         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
70109 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
70111         * doc/c-strtod.texi: Mention a couple of restrictions.
70113 2009-01-20  Jim Meyering  <meyering@redhat.com>
70115         gettimeofday: move more declarations out of functions
70116         * lib/gettimeofday.c: Move extern declarations of tzset and
70117         gmtime out of containing functions.  Prompted by Bruno Haible.
70119 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
70121         regex: do not depend on obsolete modules.
70122         * modules/regex: Remove memcmp and memmove.
70124 2009-01-19  Bruno Haible  <bruno@clisp.org>
70126         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70127         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
70128         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70129         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
70130         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
70132 2009-01-19  Bruno Haible  <bruno@clisp.org>
70134         * tests/test-link.c: Include <errno.h>.
70135         (main): Exit with code 77 when a hard link cannot be created due to
70136         the file system.
70137         * tests/test-link.sh: Skip test when a hard link cannot be created due
70138         to the file system.
70139         Suggested by Eric Blake.
70141 2009-01-19  Martin Lambers  <marlam@marlam.de>
70143         * modules/link-tests: New file.
70144         * tests/test-link.sh: New file.
70145         * tests/test-link.c: New file.
70147 2009-01-19  Eric Blake  <ebb9@byu.net>
70149         doc: mention another function added in cygwin 1.7.0
70150         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
70151         Another new function in cygwin 1.7.
70153 2009-01-19  Bruno Haible  <bruno@clisp.org>
70155         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
70156         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
70157         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
70158         gl_BIGENDIAN, not AC_C_BIGENDIAN.
70159         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
70160         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
70161         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
70162         * m4/md4.m4 (gl_MD4): Likewise.
70163         * m4/md5.m4 (gl_MD5): Likewise.
70164         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
70165         * m4/sha1.m4 (gl_SHA1): Likewise.
70166         * m4/sha256.m4 (gl_SHA256): Likewise.
70167         * m4/sha512.m4 (gl_SHA512): Likewise.
70169 2009-01-19  Bruno Haible  <bruno@clisp.org>
70171         * modules/uniname/uniname-tests (Depends-on): Add progname.
70172         * tests/uniname/test-uninames.c: Include progname.h.
70173         (main): Call set_program_name.
70175         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
70176         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
70177         (main): Call set_program_name.
70179         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
70180         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
70181         (main): Call set_program_name.
70183         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
70184         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
70185         (main): Call set_program_name.
70187         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
70188         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
70189         (main): Call set_program_name.
70191         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
70192         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
70193         (main): Call set_program_name.
70195         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
70196         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
70197         (main): Call set_program_name.
70199         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
70200         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
70201         (main): Call set_program_name.
70203         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
70204         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
70205         (main): Call set_program_name.
70207 2009-01-19  Eric Blake  <ebb9@byu.net>
70209         test-unistd: test previous patch
70210         * tests/test-unistd.c: Test *_FILENO macros.
70212         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
70213         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70214         Guarantee a definition.
70215         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
70216         * modules/unistd-safer (Depends-on): Add dependency on unistd.
70217         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
70218         * lib/dup-safer.c (STDERR_FILENO): Likewise.
70219         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70220         Likewise.
70221         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
70222         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
70223         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
70224         Likewise.
70225         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
70226         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
70227         (STDERR_FILENO): Likewise.
70228         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
70229         (STDERR_FILENO): Likewise.
70230         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
70231         (STDERR_FILENO): Likewise.
70232         Reported by Elbert Pol.
70234 2009-01-19  Eric Blake  <ebb9@byu.net>
70236         doc: mention more functions added in cygwin 1.7.0
70237         * doc/posix-functions/abort.texi (abort): Update wording related
70238         to cygwin.
70239         * doc/posix-functions/daylight.texi (daylight): Likewise.
70240         * doc/posix-functions/optarg.texi (optarg): Likewise.
70241         * doc/posix-functions/optarg.texi (opterr): Likewise.
70242         * doc/posix-functions/optarg.texi (optind): Likewise.
70243         * doc/posix-functions/optarg.texi (optopt): Likewise.
70244         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
70245         worked in 1.5.x, and was withdrawn in 1.7.
70246         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
70247         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
70248         cygwin versions.
70249         * doc/posix-functions/perror.texi (perror): Likewise.
70250         * doc/posix-functions/printf.texi (printf): Likewise.
70251         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
70252         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
70253         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
70254         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
70255         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
70256         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
70257         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
70258         Likewise.
70259         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
70260         Likewise.
70261         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
70262         this function.
70263         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
70264         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
70265         Likewise.
70266         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
70267         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
70268         * doc/posix-functions/confstr.texi (confstr): Likewise.
70269         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
70270         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
70271         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
70272         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
70273         * doc/posix-functions/fputws.texi (fputws): Likewise.
70274         * doc/posix-functions/fwide.texi (fwide): Likewise.
70275         * doc/posix-functions/getwc.texi (getwc): Likewise.
70276         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
70277         * doc/posix-functions/putwc.texi (putwc): Likewise.
70278         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
70279         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
70280         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
70281         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
70282         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
70283         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
70284         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
70285         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
70286         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
70287         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
70288         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
70290 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70292         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
70293         * lib/ioctl.c: Include <sys/ioctl.h>.
70295 2009-01-19  Simon Josefsson  <simon@josefsson.org>
70297         * modules/getdate-tests (Depends-on): Add progname.
70298         * tests/test-getdate.c: Use progname module, to avoid link errors
70299         on non-glibc systems.
70301 2009-01-18  Simon Josefsson  <simon@josefsson.org>
70303         * modules/filenamecat-tests (Depends-on): Add progname.
70304         * modules/fstrcmp-tests (Depends-on): Likewise.
70306         * tests/test-filenamecat.c: Use progname module, to avoid link
70307         errors on non-glibc systems.
70308         * tests/test-fstrcmp.c: Likewise.
70310 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
70312         gettimeofday: avoid warning: nested extern declaration of 'localtime'
70313         * lib/gettimeofday.c: Move extern declaration out of function.
70315 2009-01-18  Bruno Haible  <bruno@clisp.org>
70317         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
70318         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
70319         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
70321 2009-01-18  Bruno Haible  <bruno@clisp.org>
70323         * lib/strftime.c (MEMPCPY): Remove unused macro.
70324         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
70326 2009-01-18  Martin Lambers  <marlam@marlam.de>
70328         New module 'link'.
70329         * lib/unistd.in.h (link): New declaration.
70330         * lib/link.c: New file.
70331         * m4/link.m4: New file.
70332         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
70333         HAVE_LINK.
70334         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
70335         * modules/link: New file.
70336         * doc/posix-functions/link.texi: Mention the new module.
70338 2009-01-18  Bruno Haible  <bruno@clisp.org>
70340         * tests/test-avltree_list.c (main): Call set_program_name.
70341         * tests/test-avltree_oset.c (main): Likewise.
70342         * tests/test-obstack-printf.c: Include progname.h.
70343         (main): Call set_program_name.
70344         * tests/test-quotearg.c: Include progname.h.
70345         (main): Call set_program_name.
70346         * tests/test-xmemdup0.c: Include progname.h.
70347         (main): Call set_program_name.
70349 2009-01-18  Bruno Haible  <bruno@clisp.org>
70351         New module 'alphasort'.
70352         * lib/dirent.in.h (alphasort): New declaration.
70353         * lib/alphasort.c: New file, from glibc with modifications.
70354         * m4/alphasort.m4: New file.
70355         * modules/alphasort: New file.
70356         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
70357         HAVE_ALPHASORT.
70358         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
70359         HAVE_ALPHASORT.
70360         * doc/posix-functions/alphasort.texi: Mention the new module and the
70361         portability problems.
70363 2009-01-18  Bruno Haible  <bruno@clisp.org>
70365         New module 'scandir'.
70366         * lib/dirent.in.h (scandir): New declaration.
70367         * lib/scandir.c: New file, from glibc with modifications.
70368         * m4/scandir.m4: New file.
70369         * modules/scandir: New file.
70370         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
70371         HAVE_SCANDIR.
70372         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
70373         HAVE_SCANDIR.
70374         * doc/posix-functions/scandir.texi: Mention the new module and the
70375         portability problems.
70377 2009-01-17  Bruno Haible  <bruno@clisp.org>
70379         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
70380         Update documentation.
70381         (func_remove_suffix): Escape all dots in the suffix. Update
70382         documentation.
70383         (func_filter_filelist): Update documentation.
70384         Reported by Ralf Wildenhues.
70386 2009-01-17  Bruno Haible  <bruno@clisp.org>
70388         * modules/dprintf-posix-tests: New file.
70389         * tests/test-dprintf-posix.sh: New file.
70390         * tests/test-dprintf-posix.c: New file.
70392         New modules 'dprintf', 'dprintf-posix'.
70393         * lib/stdio.in.h (dprintf): New declaration.
70394         * lib/dprintf.c: New file.
70395         * m4/dprintf.m4: New file.
70396         * m4/dprintf-posix.m4: New file.
70397         * modules/dprintf: New file.
70398         * modules/dprintf-posix: New file.
70399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
70400         HAVE_DPRINTF, REPLACE_DPRINTF.
70401         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
70402         HAVE_DPRINTF, REPLACE_DPRINTF.
70403         * doc/posix-functions/dprintf.texi: Mention the new modules.
70405 2009-01-17  Bruno Haible  <bruno@clisp.org>
70407         * modules/vdprintf-posix-tests: New file.
70408         * tests/test-vdprintf-posix.sh: New file.
70409         * tests/test-vdprintf-posix.c: New file.
70411         New modules 'vdprintf', 'vdprintf-posix'.
70412         * lib/stdio.in.h (vdprintf): New declaration.
70413         * lib/vdprintf.c: New file.
70414         * m4/vdprintf.m4: New file.
70415         * m4/vdprintf-posix.m4: New file.
70416         * modules/vdprintf: New file.
70417         * modules/vdprintf-posix: New file.
70418         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
70419         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70420         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
70421         HAVE_VDPRINTF, REPLACE_VDPRINTF.
70422         * doc/posix-functions/vdprintf.texi: Mention the new modules.
70424 2009-01-17  Bruno Haible  <bruno@clisp.org>
70426         Fix replacement of fopen on mingw.
70427         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
70428         mingw.
70430 2009-01-17  Bruno Haible  <bruno@clisp.org>
70432         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
70433         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
70435 2009-01-17  Bruno Haible  <bruno@clisp.org>
70437         Avoid test-fflush2.sh failure on mingw.
70438         * tests/test-fflush2.c: Include binary-io.h.
70439         (main): Put standard input into binary mode.
70440         * modules/fflush-tests (Depends-on): Add binary-io.
70442 2009-01-17  Bruno Haible  <bruno@clisp.org>
70444         * lib/wchar.in.h: In another particular situation, include only the
70445         system's <wchar.h> file.
70446         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
70447         Reported by Albert Chin-A-Young <china@thewrittenword.com>
70448         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
70450 2009-01-17  Bruno Haible  <bruno@clisp.org>
70452         Support for stripping executables in --enable-relocatable.
70453         * build-aux/install-reloc: Expect one more argument, or an environment
70454         variable RELOC_STRIP_PROG. If set, strip the destination program and
70455         its wrapper.
70456         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
70457         RELOC_STRIP_PROG.
70458         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
70459         to set RELOCATABLE_STRIP.
70460         * NEWS: Mention the new Makefile requirement.
70462 2009-01-17  Bruno Haible  <bruno@clisp.org>
70464         * build-aux/install-reloc: Remove debugging information left over by
70465         C compiler on MacOS X.
70467 2009-01-17  Bruno Haible  <bruno@clisp.org>
70469         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
70470         * lib/progreloc.c (find_executable): Fix type of pointer passed to
70471         _NSGetExecutablePath.
70473 2009-01-16  Jim Meyering  <meyering@redhat.com>
70475         strerror: avoid warnings about discarding "const"
70476         * lib/strerror.c (rpl_strerror): Instead of returning a const
70477         string from each and every "case", use a variable, and add a single
70478         cast after the switch.
70480 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
70482         * lib/arpa_inet.in.h: Add extern "C" block for C++.
70484 2009-01-16  Bruno Haible  <bruno@clisp.org>
70486         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
70487         array initializer syntax that also works in C++ mode.
70488         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70490 2009-01-16  Jim Meyering  <meyering@redhat.com>
70492         poll: suppress a warning
70493         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
70494         to ignore "...unsigned expression < 0 is always false" warnings.
70496 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
70498         poll: remove declarations of unused variables
70499         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
70500         sockbuf and optlen.
70502 2009-01-15  Bruno Haible  <bruno@clisp.org>
70504         Make fflush-after-ungetc POSIX compliant on BSD systems.
70505         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
70506         (clear_ungetc_buffer): Implement also for other systems.
70507         (rpl_fflush): On glibc systems, invoke
70508         clear_ungetc_buffer_preserving_position. Otherwise, invoke
70509         clear_ungetc_buffer after fetching the stream's position, not before.
70511 2009-01-15  Bruno Haible  <bruno@clisp.org>
70513         Make fflush-after-ungetc POSIX compliant on glibc systems.
70514         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
70515         after ungetc.
70516         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
70517         (rpl_fflush): On glibc systems, simply call the system's fflush
70518         function after clearing the ungetc buffer.
70519         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
70520         Instead, lseek only to the end of file, then use the system's fseeko
70521         for the rest. On glibc systems, reset the EOF indicator bit.
70523 2009-01-15  Jim Meyering  <meyering@redhat.com>
70525         openmp.m4: revert quote-adding change, for portability to older autoconf
70526         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
70527         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
70528         Simon Josefsson noticed the problem when using autoconf-2.61.
70530 2009-01-15  Bruno Haible  <bruno@clisp.org>
70532         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
70533         * tests/test-fflush2.c (ASSERT): Always fail.
70534         (main): Add two tests for fflush() after ungetc(), taking into account
70535         the Austin Group's clarification.
70536         Suggested by Eric Blake.
70538 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
70540         mktime.m4: remove K&R-style function prototypes
70541         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
70542         for the Sun C++ compiler.
70544 2009-01-14  Bruno Haible  <bruno@clisp.org>
70546         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
70547         while including <wchar.h>.
70548         * lib/wchar.in.h: In two particular situations on HP-UX, include only
70549         the system's <wchar.h> file.
70550         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70552 2009-01-14  Bruno Haible  <bruno@clisp.org>
70554         * m4/csharp.m4: Don't mention gettext on the serial number line.
70555         * m4/csharpexec.m4: Likewise.
70556         * m4/eaccess.m4: Likewise.
70557         * m4/javaexec.m4: Likewise.
70558         * m4/sig_atomic_t.m4: Likewise.
70559         * m4/tmpdir.m4: Likewise.
70560         * m4/intldir.m4: Bump gettext version.
70561         * m4/lib-ld.m4: Likewise.
70563 2009-01-14  Bruno Haible  <bruno@clisp.org>
70565         * lib/progname.c (set_program_name): Add more comments.
70566         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
70568 2009-01-14  Simon Josefsson  <simon@josefsson.org>
70570         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
70571         were sys/stat.h does not define it.
70573 2009-01-14  Jim Meyering  <meyering@redhat.com>
70575         many *.m4 files: improve m4 quoting
70576         99% of this change was performed by running the following commands:
70577         git ls-files | grep '\.m4$' | xargs perl -pi \
70578           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
70579           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70580           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
70581           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
70582         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
70583         The remainder were to add Copyright dates, increment serial numbers,
70584         undo some changes in comments, exclude m4/intl.m4, and add quotes
70585         around the "1" in ",1" where the unusual spacing prohibited the
70586         above regexps from doing the job.  For more details, see
70587         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
70588         * m4/acl.m4: Modified.
70589         * m4/afs.m4: Likewise.
70590         * m4/alloca.m4: Likewise.
70591         * m4/argp.m4: Likewise.
70592         * m4/argz.m4: Likewise.
70593         * m4/atexit.m4: Likewise.
70594         * m4/bison-i18n.m4: Likewise.
70595         * m4/bison.m4: Likewise.
70596         * m4/byteswap.m4: Likewise.
70597         * m4/c-stack.m4: Likewise.
70598         * m4/c-strtod.m4: Likewise.
70599         * m4/calloc.m4: Likewise.
70600         * m4/canonicalize-lgpl.m4: Likewise.
70601         * m4/chown.m4: Likewise.
70602         * m4/clock_time.m4: Likewise.
70603         * m4/codeset.m4: Likewise.
70604         * m4/copy-file.m4: Likewise.
70605         * m4/csharp.m4: Likewise.
70606         * m4/csharpcomp.m4: Likewise.
70607         * m4/csharpexec.m4: Likewise.
70608         * m4/d-ino.m4: Likewise.
70609         * m4/d-type.m4: Likewise.
70610         * m4/dirfd.m4: Likewise.
70611         * m4/double-slash-root.m4: Likewise.
70612         * m4/eaccess.m4: Likewise.
70613         * m4/eealloc.m4: Likewise.
70614         * m4/environ.m4: Likewise.
70615         * m4/errno_h.m4: Likewise.
70616         * m4/euidaccess.m4: Likewise.
70617         * m4/execute.m4: Likewise.
70618         * m4/fatal-signal.m4: Likewise.
70619         * m4/fchdir.m4: Likewise.
70620         * m4/fcntl_h.m4: Likewise.
70621         * m4/fileblocks.m4: Likewise.
70622         * m4/filenamecat.m4: Likewise.
70623         * m4/findprog.m4: Likewise.
70624         * m4/flexmember.m4: Likewise.
70625         * m4/fnmatch.m4: Likewise.
70626         * m4/fopen.m4: Likewise.
70627         * m4/fpending.m4: Likewise.
70628         * m4/fprintf-posix.m4: Likewise.
70629         * m4/free.m4: Likewise.
70630         * m4/frexp.m4: Likewise.
70631         * m4/frexpl.m4: Likewise.
70632         * m4/fsusage.m4: Likewise.
70633         * m4/ftruncate.m4: Likewise.
70634         * m4/gc-camellia.m4: Likewise.
70635         * m4/gc-random.m4: Likewise.
70636         * m4/gc.m4: Likewise.
70637         * m4/getaddrinfo.m4: Likewise.
70638         * m4/getcwd-abort-bug.m4: Likewise.
70639         * m4/getcwd-path-max.m4: Likewise.
70640         * m4/getdate.m4: Likewise.
70641         * m4/getdomainname.m4: Likewise.
70642         * m4/getgroups.m4: Likewise.
70643         * m4/gethostname.m4: Likewise.
70644         * m4/gethrxtime.m4: Likewise.
70645         * m4/getline.m4: Likewise.
70646         * m4/getloadavg.m4: Likewise.
70647         * m4/getndelim2.m4: Likewise.
70648         * m4/getpass.m4: Likewise.
70649         * m4/gettext.m4: Likewise.
70650         * m4/gettime.m4: Likewise.
70651         * m4/gettimeofday.m4: Likewise.
70652         * m4/gnulib-common.m4: Likewise.
70653         * m4/group-member.m4: Likewise.
70654         * m4/host-os.m4: Likewise.
70655         * m4/iconv.m4: Likewise.
70656         * m4/iconv_open.m4: Likewise.
70657         * m4/inet_ntop.m4: Likewise.
70658         * m4/inet_pton.m4: Likewise.
70659         * m4/inline.m4: Likewise.
70660         * m4/intldir.m4: Likewise.
70661         * m4/intlmacosx.m4: Likewise.
70662         * m4/intmax.m4: Likewise.
70663         * m4/intmax_t.m4: Likewise.
70664         * m4/inttypes.m4: Likewise.
70665         * m4/inttypes_h.m4: Likewise.
70666         * m4/inttypes-pri.m4: Likewise.
70667         * m4/isapipe.m4: Likewise.
70668         * m4/isnand.m4: Likewise.
70669         * m4/isnanf.m4: Likewise.
70670         * m4/isnanl.m4: Likewise.
70671         * m4/javacomp.m4: Likewise.
70672         * m4/javaexec.m4: Likewise.
70673         * m4/jm-winsz1.m4: Likewise.
70674         * m4/jm-winsz2.m4: Likewise.
70675         * m4/lchown.m4: Likewise.
70676         * m4/lcmessage.m4: Likewise.
70677         * m4/ldexpl.m4: Likewise.
70678         * m4/lib-ld.m4: Likewise.
70679         * m4/lib-link.m4: Likewise.
70680         * m4/libsigsegv.m4: Likewise.
70681         * m4/link-follow.m4: Likewise.
70682         * m4/localcharset.m4: Likewise.
70683         * m4/locale-fr.m4: Likewise.
70684         * m4/locale-ja.m4: Likewise.
70685         * m4/locale-tr.m4: Likewise.
70686         * m4/locale-zh.m4: Likewise.
70687         * m4/lock.m4: Likewise.
70688         * m4/longlong.m4: Likewise.
70689         * m4/ls-mntd-fs.m4: Likewise.
70690         * m4/lstat.m4: Likewise.
70691         * m4/malloc.m4: Likewise.
70692         * m4/mathl.m4: Likewise.
70693         * m4/mbrtowc.m4: Likewise.
70694         * m4/mbstate_t.m4: Likewise.
70695         * m4/mbswidth.m4: Likewise.
70696         * m4/memchr.m4: Likewise.
70697         * m4/memcmp.m4: Likewise.
70698         * m4/memcpy.m4: Likewise.
70699         * m4/memmem.m4: Likewise.
70700         * m4/memmove.m4: Likewise.
70701         * m4/mempcpy.m4: Likewise.
70702         * m4/memrchr.m4: Likewise.
70703         * m4/memset.m4: Likewise.
70704         * m4/minmax.m4: Likewise.
70705         * m4/mkdir-slash.m4: Likewise.
70706         * m4/mkdtemp.m4: Likewise.
70707         * m4/mktime.m4: Likewise.
70708         * m4/mmap-anon.m4: Likewise.
70709         * m4/mountlist.m4: Likewise.
70710         * m4/nanosleep.m4: Likewise.
70711         * m4/nls.m4: Likewise.
70712         * m4/nocrash.m4: Likewise.
70713         * m4/open.m4: Likewise.
70714         * m4/openat.m4: Likewise.
70715         * m4/openmp.m4: Likewise.
70716         * m4/pathmax.m4: Likewise.
70717         * m4/perl.m4: Likewise.
70718         * m4/physmem.m4: Likewise.
70719         * m4/pipe.m4: Likewise.
70720         * m4/po.m4: Likewise.
70721         * m4/poll.m4: Likewise.
70722         * m4/posixtm.m4: Likewise.
70723         * m4/posixver.m4: Likewise.
70724         * m4/printf-frexp.m4: Likewise.
70725         * m4/printf-frexpl.m4: Likewise.
70726         * m4/printf-posix.m4: Likewise.
70727         * m4/printf-posix-rpl.m4: Likewise.
70728         * m4/printf.m4: Likewise.
70729         * m4/progtest.m4: Likewise.
70730         * m4/putenv.m4: Likewise.
70731         * m4/readline.m4: Likewise.
70732         * m4/readlink.m4: Likewise.
70733         * m4/readutmp.m4: Likewise.
70734         * m4/realloc.m4: Likewise.
70735         * m4/regex.m4: Likewise.
70736         * m4/relocatable.m4: Likewise.
70737         * m4/relocatable-lib.m4: Likewise.
70738         * m4/rename-dest-slash.m4: Likewise.
70739         * m4/rename.m4: Likewise.
70740         * m4/rmdir-errno.m4: Likewise.
70741         * m4/rmdir.m4: Likewise.
70742         * m4/roundf.m4: Likewise.
70743         * m4/roundl.m4: Likewise.
70744         * m4/rpmatch.m4: Likewise.
70745         * m4/save-cwd.m4: Likewise.
70746         * m4/selinux-selinux-h.m4: Likewise.
70747         * m4/setenv.m4: Likewise.
70748         * m4/settime.m4: Likewise.
70749         * m4/sig2str.m4: Likewise.
70750         * m4/sig_atomic_t.m4: Likewise.
70751         * m4/signalblocking.m4: Likewise.
70752         * m4/signbit.m4: Likewise.
70753         * m4/sigpipe.m4: Likewise.
70754         * m4/sockets.m4: Likewise.
70755         * m4/sockpfaf.m4: Likewise.
70756         * m4/st_dm_mode.m4: Likewise.
70757         * m4/stat-time.m4: Likewise.
70758         * m4/stdbool.m4: Likewise.
70759         * m4/stdint.m4: Likewise.
70760         * m4/stdint_h.m4: Likewise.
70761         * m4/stpcpy.m4: Likewise.
70762         * m4/stpncpy.m4: Likewise.
70763         * m4/strcase.m4: Likewise.
70764         * m4/strchrnul.m4: Likewise.
70765         * m4/strcspn.m4: Likewise.
70766         * m4/strdup.m4: Likewise.
70767         * m4/strftime.m4: Likewise.
70768         * m4/strndup.m4: Likewise.
70769         * m4/strnlen.m4: Likewise.
70770         * m4/strpbrk.m4: Likewise.
70771         * m4/strptime.m4: Likewise.
70772         * m4/strsep.m4: Likewise.
70773         * m4/strtod.m4: Likewise.
70774         * m4/strtoimax.m4: Likewise.
70775         * m4/strtok_r.m4: Likewise.
70776         * m4/strtol.m4: Likewise.
70777         * m4/strtoll.m4: Likewise.
70778         * m4/strtoul.m4: Likewise.
70779         * m4/strtoull.m4: Likewise.
70780         * m4/strtoumax.m4: Likewise.
70781         * m4/strverscmp.m4: Likewise.
70782         * m4/threadlib.m4: Likewise.
70783         * m4/timegm.m4: Likewise.
70784         * m4/tm_gmtoff.m4: Likewise.
70785         * m4/tmpdir.m4: Likewise.
70786         * m4/tmpfile.m4: Likewise.
70787         * m4/tzset.m4: Likewise.
70788         * m4/uintmax_t.m4: Likewise.
70789         * m4/unlinkdir.m4: Likewise.
70790         * m4/unlocked-io.m4: Likewise.
70791         * m4/uptime.m4: Likewise.
70792         * m4/userspec.m4: Likewise.
70793         * m4/utimbuf.m4: Likewise.
70794         * m4/utime.m4: Likewise.
70795         * m4/utimes-null.m4: Likewise.
70796         * m4/utimes.m4: Likewise.
70797         * m4/vararrays.m4: Likewise.
70798         * m4/vasnprintf.m4: Likewise.
70799         * m4/vfprintf-posix.m4: Likewise.
70800         * m4/vprintf-posix.m4: Likewise.
70801         * m4/wait-process.m4: Likewise.
70802         * m4/wchar_t.m4: Likewise.
70803         * m4/wint_t.m4: Likewise.
70804         * m4/write-any-file.m4: Likewise.
70805         * m4/yield.m4: Likewise.
70807 2009-01-13  Bruno Haible  <bruno@clisp.org>
70809         Avoid test-copy-file.sh failures when ACL support insufficient.
70810         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
70811         TESTS_ENVIRONMENT.
70812         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
70813         Reported by Jim Meyering.
70815 2009-01-13  Bruno Haible  <bruno@clisp.org>
70817         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
70818         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
70819         * modules/unistdio/u8-printf-parse (Files): Likewise.
70820         * modules/unistdio/u32-printf-parse (Files): Likewise.
70821         * modules/unistdio/ulc-printf-parse (Files): Likewise.
70823 2009-01-13  Simon Josefsson  <simon@josefsson.org>
70825         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
70826         and m4/inttypes_h.m4 too.
70828 2009-01-12  Eric Blake  <ebb9@byu.net>
70830         tests: IRIX 6.2 cc can't compile -0.0 into .data
70831         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
70832         rather than at compile-time.
70833         * tests/test-floorl.c (minus_zero): Likewise.
70834         * tests/test-frexpl.c (minus_zero): Likewise.
70835         * tests/test-isnan.c (minus_zerol): Likewise.
70836         * tests/test-isnanl.h (minus_zero): Likewise.
70837         * tests/test-ldexpl.c (minus_zero): Likewise.
70838         * tests/test-roundl.c (minus_zero): Likewise.
70839         * tests/test-signbit.c (minus_zerol): Likewise.
70840         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
70841         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
70842         * tests/test-truncl.c (minus_zero): Likewise.
70843         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
70844         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
70845         Reported by Tom G. Christensen and Nelson H. F. Beebe.
70847 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70849         regex: fix glibc bug 9697
70850         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
70851         handling.
70853 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70855         regex: fix glibc bug 697
70856         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
70857         being NULL also if there are no backreferences.
70859 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
70861         regex: merge glibc changes
70862         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
70863         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
70864         re_string_skip_chars, re_string_reconstruct): Likewise.
70865         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
70867 2009-01-07  Jim Meyering  <meyering@redhat.com>
70869         poll: filter through cppi
70870         * lib/poll.c: Indent cpp directives to reflect nesting.
70872 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
70874         poll: don't return uninitialized
70875         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
70877 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
70879         avoid compile failure on AIX 6.1
70880         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
70881         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
70883 2009-01-04  Jim Meyering  <meyering@redhat.com>
70885         remove duplicate inclusion of <stdio.h>
70886         * tests/test-fprintf-posix.c: Likewise.
70887         * tests/test-printf-posix.c: Likewise.
70888         * tests/test-snprintf-posix.c: Likewise.
70889         * tests/test-sprintf-posix.c: Likewise.
70890         * tests/test-vasprintf-posix.c: Likewise.
70891         * tests/test-vfprintf-posix.c: Likewise.
70892         * tests/test-vprintf-posix.c: Likewise.
70893         * tests/test-vsnprintf-posix.c: Likewise.
70894         * tests/test-vsprintf-posix.c: Likewise.
70896 2009-01-03  Jim Meyering  <meyering@redhat.com>
70898         gnulib-tool: fix sed-based filtering
70899         * gnulib-tool (func_filter_filelist): Remove extra backslash
70900         in sed_fff_filter definition.
70902 2009-01-02  Jim Meyering  <meyering@redhat.com>
70904         strftime: avoid compilation failure on Solaris 2.6
70905         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
70906         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
70907         Don't #define mbrlen or mbsinit, since now they're guaranteed to
70908         be available.  Reported by Tom G. Christensen.  Details in
70909         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
70911 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70912             Bruno Haible  <bruno@clisp.org>
70914         Speed up gnulib-tool by doing more string processing through shell
70915         built-ins.
70916         * gnulib-tool (fast_func_append): New variable.
70917         (func_remove_prefix, func_remove_suffix): New functions.
70918         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
70919         (func_filter_filelist): New function.
70920         (func_get_dependencies): Use func_remove_suffix instead of sed.
70921         (func_get_automake_snippet): Use func_filter_filelist instead of a
70922         subshell and sed invocation.
70924 2009-01-01  Bruno Haible  <bruno@clisp.org>
70926         Fix a security bug.
70927         * gnulib-tool (func_import, import, update): Don't allow the characters
70928         '"', '$', '`', '\' in macro arguments that become part of commands that
70929         are evaluated.
70931 2009-01-01  Bruno Haible  <bruno@clisp.org>
70933         * gnulib-tool (func_reset_sigpipe): Add more comments.
70935 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70937         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
70938         func_emit_tests_Makefile_am, func_import): Abort loops early if we
70939         already know the answer.
70941 2009-01-01  Jim Meyering  <meyering@redhat.com>
70943         * lib/version-etc.c (version_etc_va): Update copyright year.
70945 2008-12-30  Bruno Haible  <bruno@clisp.org>
70947         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
70948         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
70949         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
70951 2008-12-29  Eric Blake  <ebb9@byu.net>
70953         multiarch: avoid autoconf AC_REQUIRE bug
70954         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
70955         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
70956         2.63 and older.
70957         Reported by Bruno Haible, and analyzed in
70958         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
70960 2008-12-29  Bruno Haible  <bruno@clisp.org>
70962         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
70963         files in subdirectories correctly.
70964         Reported by Ralf Wildenhues.
70966 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70968         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
70969         rather than 'join FILE -', for Solaris join.
70971 2008-12-29  Bruno Haible  <bruno@clisp.org>
70973         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
70974         quoting.
70975         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70976         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
70977         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
70978         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
70979         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
70980         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
70981         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
70982         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
70983         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
70984         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
70985         * m4/nls.m4 (AM_NLS): Likewise.
70986         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
70987         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
70988         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
70989         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
70990         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
70991         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
70992         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
70993         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
70994         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
70995         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
70996         * m4/xsize.m4 (gl_XSIZE): Likewise.
70997         Suggested by Jim Meyering.
70999 2008-11-17  Bruce Korb  <bkorb@gnu.org>
71001         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
71002         * lib/parse-duration.c: use a switch instead of cascading if's.
71004 2008-12-29  Eric Blake  <ebb9@byu.net>
71006         wchar.h: supply WEOF on Irix 5.3
71007         * lib/wchar.in.h (wint_t): Also supply WEOF.
71008         * lib/wctype.in.h (wint_t): Likewise.
71009         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
71010         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
71011         Reported by Tom G. Christensen.
71013 2008-12-26  Bruno Haible  <bruno@clisp.org>
71015         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
71016         i486, i586, i686.
71018 2008-12-26  Bruno Haible  <bruno@clisp.org>
71020         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
71022 2008-12-26  Bruno Haible  <bruno@clisp.org>
71024         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
71025         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
71026         not __STDC_CONSTANT_MACROS.
71027         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
71029 2008-12-25  Bruno Haible  <bruno@clisp.org>
71031         Add support for universal builds to vasnprintf.
71032         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
71033         universal builds, guess no.
71034         * modules/vasnprintf-posix (Depends-on): Add multiarch.
71035         * modules/vasprintf-posix (Depends-on): Likewise.
71036         * modules/fprintf-posix (Depends-on): Likewise.
71037         * modules/vfprintf-posix (Depends-on): Likewise.
71038         * modules/snprintf-posix (Depends-on): Likewise.
71039         * modules/vsnprintf-posix (Depends-on): Likewise.
71040         * modules/sprintf-posix (Depends-on): Likewise.
71041         * modules/vsprintf-posix (Depends-on): Likewise.
71042         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
71043         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
71044         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
71045         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
71046         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
71047         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
71048         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
71050         Add support for universal builds to <inttypes.h>.
71051         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
71052         _SCNu64_PREFIX): In Apple
71053         universal builds, define directly, using _LP64.
71054         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
71055         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
71056         * modules/inttypes (Depends-on): Add multiarch.
71057         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71059         Add support for universal builds to <stdint.h>.
71060         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
71061         universal builds, define directly, using _LP64.
71062         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
71063         Apple universal builds, don't test for the size and suffix of ptrdiff_t
71064         and size_t.
71065         * modules/stdint (Depends-on): Add multiarch.
71066         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
71068         New module 'multiarch'.
71069         * modules/multiarch: New file.
71070         * m4/multiarch.m4: New file.
71072 2008-12-25  Bruno Haible  <bruno@clisp.org>
71074         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
71076 2008-12-25  Bruno Haible  <bruno@clisp.org>
71078         * modules/btowc (License): Relicense under LGPLv2+.
71079         * modules/mbsinit (License): Likewise.
71080         * modules/mbrtowc (License): Likewise.
71081         * modules/wcrtomb (License): Likewise.
71082         * modules/streq (License): Likewise.
71083         Reported by David Lutterkort <lutter@redhat.com>.
71085 2008-12-23  Bruno Haible  <bruno@clisp.org>
71087         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
71089 2008-12-23  Bruno Haible  <bruno@clisp.org>
71091         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
71092         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
71093         GETADDRINFO_LIB, not in LIBS.
71094         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
71095         * modules/canon-host (Link): Likewise.
71096         * NEWS: Mention the change.
71097         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
71098         GETADDRINFO_LIB.
71100 2008-12-22  Bruno Haible  <bruno@clisp.org>
71102         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
71103         * doc/posix-functions/iswalpha_l.texi: Likewise.
71104         * doc/posix-functions/iswblank_l.texi: Likewise.
71105         * doc/posix-functions/iswcntrl_l.texi: Likewise.
71106         * doc/posix-functions/iswctype_l.texi: Likewise.
71107         * doc/posix-functions/iswdigit_l.texi: Likewise.
71108         * doc/posix-functions/iswgraph_l.texi: Likewise.
71109         * doc/posix-functions/iswlower_l.texi: Likewise.
71110         * doc/posix-functions/iswprint_l.texi: Likewise.
71111         * doc/posix-functions/iswpunct_l.texi: Likewise.
71112         * doc/posix-functions/iswspace_l.texi: Likewise.
71113         * doc/posix-functions/iswupper_l.texi: Likewise.
71114         * doc/posix-functions/iswxdigit_l.texi: Likewise.
71115         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
71116         * doc/posix-functions/open_wmemstream.texi: Likewise.
71117         * doc/posix-functions/swscanf.texi: Likewise.
71118         * doc/posix-functions/towctrans_l.texi: Likewise.
71119         * doc/posix-functions/towlower.texi: Likewise.
71120         * doc/posix-functions/towlower_l.texi: Likewise.
71121         * doc/posix-functions/towupper.texi: Likewise.
71122         * doc/posix-functions/towupper_l.texi: Likewise.
71123         * doc/posix-functions/vfwprintf.texi: Likewise.
71124         * doc/posix-functions/vfwscanf.texi: Likewise.
71125         * doc/posix-functions/vswscanf.texi: Likewise.
71126         * doc/posix-functions/vwprintf.texi: Likewise.
71127         * doc/posix-functions/vwscanf.texi: Likewise.
71128         * doc/posix-functions/wcpcpy.texi: Likewise.
71129         * doc/posix-functions/wcpncpy.texi: Likewise.
71130         * doc/posix-functions/wcscasecmp.texi: Likewise.
71131         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
71132         * doc/posix-functions/wcscoll_l.texi: Likewise.
71133         * doc/posix-functions/wcsdup.texi: Likewise.
71134         * doc/posix-functions/wcsncasecmp.texi: Likewise.
71135         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
71136         * doc/posix-functions/wcsnlen.texi: Likewise.
71137         * doc/posix-functions/wcsnrtombs.texi: Likewise.
71138         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
71139         * doc/posix-functions/wctrans_l.texi: Likewise.
71140         * doc/posix-functions/wctype_l.texi: Likewise.
71141         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
71142         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
71143         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
71144         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
71145         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
71146         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
71147         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
71148         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
71149         * doc/glibc-functions/wcschrnul.texi: Likewise.
71150         * doc/glibc-functions/wcsftime_l.texi: Likewise.
71151         * doc/glibc-functions/wcstod_l.texi: Likewise.
71152         * doc/glibc-functions/wcstof_l.texi: Likewise.
71153         * doc/glibc-functions/wcstol_l.texi: Likewise.
71154         * doc/glibc-functions/wcstold_l.texi: Likewise.
71155         * doc/glibc-functions/wcstoll_l.texi: Likewise.
71156         * doc/glibc-functions/wcstoq.texi: Likewise.
71157         * doc/glibc-functions/wcstoul_l.texi: Likewise.
71158         * doc/glibc-functions/wcstoull_l.texi: Likewise.
71159         * doc/glibc-functions/wcstouq.texi: Likewise.
71160         * doc/glibc-functions/wmempcpy.texi: Likewise.
71162 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
71163             Eric Blake  <ebb9@byu.net>
71164             Paolo Bonzini  <bonzini@gnu.org>
71165             Bruno Haible  <bruno@clisp.org>
71167         Make c-stack work on Haiku.
71168         * lib/c-stack.c (SA_ONSTACK): Define fallback.
71169         (c_stack_action): Use SA_ONSTACK flag.
71171 2008-12-22  Bruno Haible  <bruno@clisp.org>
71173         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
71175 2008-12-22  Bruno Haible  <bruno@clisp.org>
71177         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
71178         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
71179         being overridden.
71180         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
71181         New macros.
71182         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
71183         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
71184         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
71185         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
71187 2008-12-22  Bruno Haible  <bruno@clisp.org>
71189         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
71190         from test code.
71192 2008-12-22  Eric Blake  <ebb9@byu.net>
71194         Avoid gcc warnings on cygwin.
71195         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
71196         Avoid unused variable.
71197         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
71198         Likewise.
71200 2008-12-22  Bruno Haible  <bruno@clisp.org>
71202         Remove HAVE_MBRTOWC conditionals.
71203         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
71204         (mbscasecmp): Assume mbrtowc function.
71205         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
71206         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
71207         * lib/mbschr.c: Include mbuiter.h unconditionally.
71208         (mbschr): Assume mbrtowc function.
71209         * lib/mbscspn.c: Include mbuiter.h unconditionally.
71210         (mbscspn): Assume mbrtowc function.
71211         * lib/mbslen.c: Include mbuiter.h unconditionally.
71212         (mbslen): Assume mbrtowc function.
71213         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
71214         (mbsncasecmp): Assume mbrtowc function.
71215         * lib/mbsnlen.c: Include mbiter.h unconditionally.
71216         (mbsnlen): Assume mbrtowc function.
71217         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
71218         (mbspbrk): Assume mbrtowc function.
71219         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
71220         (mbspcasecmp): Assume mbrtowc function.
71221         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
71222         (mbsrchr): Assume mbrtowc function.
71223         * lib/mbssep.c: Include mbuiter.h unconditionally.
71224         (mbssep): Assume mbrtowc function.
71225         * lib/mbsspn.c: Include mbuiter.h unconditionally.
71226         (mbsspn): Assume mbrtowc function.
71227         * lib/mbsstr.c: Include mbuiter.h unconditionally.
71228         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
71229         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
71230         (mbstok_r): Assume mbrtowc function.
71231         * lib/propername.c: Include mbuiter.h unconditionally.
71232         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
71233         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
71234         (trim2): Assume mbrtowc function.
71235         * lib/mbswidth.c (mbsinit): Remove fallback definition.
71236         (mbsnwidth): Assume mbrtowc function.
71237         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
71238         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
71239         fallback definitions.
71240         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
71242 2008-12-22  Bruno Haible  <bruno@clisp.org>
71244         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
71246 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
71248         * modules/regex: Request emulations for the mb*/wc* functions we need.
71249         * m4/regex.m4: Don't look for those functions here.
71250         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
71252 2008-12-22  Bruno Haible  <bruno@clisp.org>
71254         * modules/fnmatch (Depends-on): Remove duplicated dependency.
71256 2008-12-21  Bruno Haible  <bruno@clisp.org>
71258         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
71259         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
71260         (Include): Remove conditionalization.
71261         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
71262         (Include): Remove conditionalization.
71263         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
71264         (Include): Remove conditionalization.
71265         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
71266         * m4/mbfile.m4 (gl_MBFILE): Likewise.
71267         * NEWS: Mention the change.
71268         Reported by Alan Hourihane <alanh@fairlite.co.uk>
71269         via Sergey Poznyakoff <gray@gnu.org.ua>.
71271 2008-12-21  Bruno Haible  <bruno@clisp.org>
71273         * MODULES.html.sh (Extended multibyte and wide character utilities
71274         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
71275         wcrtomb, wcsrtombs.
71276         (Support for systems lacking POSIX:2008): Add accept, bind, close,
71277         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
71278         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
71279         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
71281 2008-12-21  Bruno Haible  <bruno@clisp.org>
71283         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
71285 2008-12-21  Bruno Haible  <bruno@clisp.org>
71287         * modules/wcsnrtombs-tests: New file.
71288         * tests/test-wcsnrtombs1.sh: New file.
71289         * tests/test-wcsnrtombs2.sh: New file.
71290         * tests/test-wcsnrtombs3.sh: New file.
71291         * tests/test-wcsnrtombs4.sh: New file.
71292         * tests/test-wcsnrtombs.c: New file.
71294         New module 'wcsnrtombs'.
71295         * lib/wchar.in.h (wcsnrtombs): New declaration.
71296         * lib/wcsnrtombs.c: New file.
71297         * lib/wcsrtombs-state.c: New file.
71298         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
71299         (internal_state): Remove variable.
71300         * m4/wcsnrtombs.m4: New file.
71301         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
71302         compilation units.
71303         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
71304         HAVE_WCSNRTOMBS.
71305         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
71306         HAVE_WCSNRTOMBS.
71307         * modules/wcsnrtombs: New file.
71308         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
71309         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
71311 2008-12-21  Bruno Haible  <bruno@clisp.org>
71313         * modules/wcsrtombs-tests: New file.
71314         * tests/test-wcsrtombs1.sh: New file.
71315         * tests/test-wcsrtombs2.sh: New file.
71316         * tests/test-wcsrtombs3.sh: New file.
71317         * tests/test-wcsrtombs4.sh: New file.
71318         * tests/test-wcsrtombs.c: New file.
71320         New module 'wcsrtombs'.
71321         * lib/wchar.in.h (wcsrtombs): New declaration.
71322         * lib/wcsrtombs.c: New file.
71323         * m4/wcsrtombs.m4: New file.
71324         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
71325         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71326         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
71327         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
71328         * modules/wcsrtombs: New file.
71329         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
71330         bugs.
71332 2008-12-21  Bruno Haible  <bruno@clisp.org>
71334         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
71335         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
71336         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
71337         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
71338         if not correct.
71339         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
71340         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
71341         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71342         m4/locale-zh.m4, m4/codeset.m4.
71343         * doc/posix-functions/wcrtomb.texi: Document the bug.
71345 2008-12-21  Bruno Haible  <bruno@clisp.org>
71347         Work around a btowc() bug on IRIX 6.5.
71348         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
71349         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
71350         REPLACE_WTOBC if not.
71351         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
71352         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
71353         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
71355 2008-12-21  Bruno Haible  <bruno@clisp.org>
71357         * modules/wcrtomb-tests: New file.
71358         * tests/test-wcrtomb.sh: New file.
71359         * tests/test-wcrtomb.c: New file.
71361         New module 'wcrtomb'.
71362         * lib/wchar.in.h (wcrtomb): New declaration.
71363         * lib/wcrtomb.c: New file.
71364         * m4/wcrtomb.m4: New file.
71365         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
71366         HAVE_WCRTOMB.
71367         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
71368         HAVE_WCRTOMB.
71369         * modules/wcrtomb: New file.
71370         * doc/posix-functions/wcrtomb.texi: Mention the new module.
71372 2008-12-21  Bruno Haible  <bruno@clisp.org>
71374         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
71375         * modules/mbsrtowcs (Files): Likewise.
71376         * modules/wctob (Files): Likewise.
71377         * modules/c-strcase-tests (Files): Likewise.
71378         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
71379         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
71380         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
71381         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
71382         * modules/vasnprintf-posix-tests (Files): Likewise.
71384 2008-12-21  William Pursell  <bill.pursell@gmail.com>
71386         gitlog-to-changelog: pass all command-line arguments to git-log
71387         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
71388         it is sometimes convenient to filter the commits in various ways.
71389         gitlog-to-changelog only allows --since to specify a start date,
71390         but git-log itself supports many other filtering mechanisms.
71391         At the moment, I want to filter by branch name.  Rather than
71392         adding a --branch option to gitlog-to-changelog, it seems more
71393         flexible to simply pass all options directly to git-log and let
71394         git do the work.  Notice that this effectively makes --since a
71395         redundant option for gitlog-to-changelog, but removing it would
71396         require current usage to change since calls would then require
71397         an additional '--'.
71399 2008-12-21  Bruno Haible  <bruno@clisp.org>
71401         * modules/mbsnrtowcs-tests: New file.
71402         * tests/test-mbsnrtowcs1.sh: New file.
71403         * tests/test-mbsnrtowcs2.sh: New file.
71404         * tests/test-mbsnrtowcs3.sh: New file.
71405         * tests/test-mbsnrtowcs4.sh: New file.
71406         * tests/test-mbsnrtowcs.c: New file.
71408         New module 'mbsnrtowcs'.
71409         * lib/wchar.in.h (mbsnrtowcs): New declaration.
71410         * lib/mbsnrtowcs.c: New file.
71411         * lib/mbsrtowcs-state.c: New file.
71412         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
71413         (internal_state): Remove variable.
71414         * m4/mbsnrtowcs.m4: New file.
71415         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
71416         compilation units.
71417         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
71418         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71419         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
71420         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
71421         * modules/mbsnrtowcs: New file.
71422         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
71423         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
71424         portability problem.
71426 2008-12-21  Bruno Haible  <bruno@clisp.org>
71428         Work around mbsrtowcs bug.
71429         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
71430         (gl_FUNC_MBSRTOWCS): Invoke it.
71431         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71432         m4/locale-zh.m4.
71433         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
71435 2008-12-21  Bruno Haible  <bruno@clisp.org>
71437         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
71439 2008-12-21  Bruno Haible  <bruno@clisp.org>
71441         Update doc for AIX.
71442         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
71443         16-bit wchar_t type.
71444         * doc/posix-functions/btowc.texi: Likewise.
71445         * doc/posix-functions/fgetwc.texi: Likewise.
71446         * doc/posix-functions/fgetws.texi: Likewise.
71447         * doc/posix-functions/fputwc.texi: Likewise.
71448         * doc/posix-functions/fputws.texi: Likewise.
71449         * doc/posix-functions/fwide.texi: Likewise.
71450         * doc/posix-functions/fwprintf.texi: Likewise.
71451         * doc/posix-functions/fwscanf.texi: Likewise.
71452         * doc/posix-functions/getwchar.texi: Likewise.
71453         * doc/posix-functions/getwc.texi: Likewise.
71454         * doc/posix-functions/iswalnum.texi: Likewise.
71455         * doc/posix-functions/iswalpha.texi: Likewise.
71456         * doc/posix-functions/iswblank.texi: Likewise.
71457         * doc/posix-functions/iswcntrl.texi: Likewise.
71458         * doc/posix-functions/iswctype.texi: Likewise.
71459         * doc/posix-functions/iswdigit.texi: Likewise.
71460         * doc/posix-functions/iswgraph.texi: Likewise.
71461         * doc/posix-functions/iswlower.texi: Likewise.
71462         * doc/posix-functions/iswprint.texi: Likewise.
71463         * doc/posix-functions/iswpunct.texi: Likewise.
71464         * doc/posix-functions/iswspace.texi: Likewise.
71465         * doc/posix-functions/iswupper.texi: Likewise.
71466         * doc/posix-functions/iswxdigit.texi: Likewise.
71467         * doc/posix-functions/mbrtowc.texi: Likewise.
71468         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71469         * doc/posix-functions/mbstowcs.texi: Likewise.
71470         * doc/posix-functions/mbtowc.texi: Likewise.
71471         * doc/posix-functions/putwchar.texi: Likewise.
71472         * doc/posix-functions/putwc.texi: Likewise.
71473         * doc/posix-functions/swprintf.texi: Likewise.
71474         * doc/posix-functions/tolower.texi: Likewise.
71475         * doc/posix-functions/toupper.texi: Likewise.
71476         * doc/posix-functions/towctrans.texi: Likewise.
71477         * doc/posix-functions/ungetwc.texi: Likewise.
71478         * doc/posix-functions/vswprintf.texi: Likewise.
71479         * doc/posix-functions/wcrtomb.texi: Likewise.
71480         * doc/posix-functions/wcscat.texi: Likewise.
71481         * doc/posix-functions/wcschr.texi: Likewise.
71482         * doc/posix-functions/wcscmp.texi: Likewise.
71483         * doc/posix-functions/wcscoll.texi: Likewise.
71484         * doc/posix-functions/wcscpy.texi: Likewise.
71485         * doc/posix-functions/wcscspn.texi: Likewise.
71486         * doc/posix-functions/wcsftime.texi: Likewise.
71487         * doc/posix-functions/wcslen.texi: Likewise.
71488         * doc/posix-functions/wcsncat.texi: Likewise.
71489         * doc/posix-functions/wcsncmp.texi: Likewise.
71490         * doc/posix-functions/wcsncpy.texi: Likewise.
71491         * doc/posix-functions/wcspbrk.texi: Likewise.
71492         * doc/posix-functions/wcsrchr.texi: Likewise.
71493         * doc/posix-functions/wcsrtombs.texi: Likewise.
71494         * doc/posix-functions/wcsspn.texi: Likewise.
71495         * doc/posix-functions/wcsstr.texi: Likewise.
71496         * doc/posix-functions/wcstod.texi: Likewise.
71497         * doc/posix-functions/wcstof.texi: Likewise.
71498         * doc/posix-functions/wcstoimax.texi: Likewise.
71499         * doc/posix-functions/wcstok.texi: Likewise.
71500         * doc/posix-functions/wcstold.texi: Likewise.
71501         * doc/posix-functions/wcstoll.texi: Likewise.
71502         * doc/posix-functions/wcstol.texi: Likewise.
71503         * doc/posix-functions/wcstombs.texi: Likewise.
71504         * doc/posix-functions/wcstoull.texi: Likewise.
71505         * doc/posix-functions/wcstoul.texi: Likewise.
71506         * doc/posix-functions/wcstoumax.texi: Likewise.
71507         * doc/posix-functions/wcswidth.texi: Likewise.
71508         * doc/posix-functions/wcsxfrm.texi: Likewise.
71509         * doc/posix-functions/wctob.texi: Likewise.
71510         * doc/posix-functions/wctomb.texi: Likewise.
71511         * doc/posix-functions/wctrans.texi: Likewise.
71512         * doc/posix-functions/wctype.texi: Likewise.
71513         * doc/posix-functions/wcwidth.texi: Likewise.
71514         * doc/posix-functions/wmemchr.texi: Likewise.
71515         * doc/posix-functions/wmemcmp.texi: Likewise.
71516         * doc/posix-functions/wmemcpy.texi: Likewise.
71517         * doc/posix-functions/wmemmove.texi: Likewise.
71518         * doc/posix-functions/wmemset.texi: Likewise.
71519         * doc/posix-functions/wprintf.texi: Likewise.
71520         * doc/posix-functions/wscanf.texi: Likewise.
71522 2008-12-21  Bruno Haible  <bruno@clisp.org>
71524         Update doc for HP-UX 11.11.
71525         * doc/posix-functions/btowc.texi: Clarify that the function is missing
71526         in HP-UX version 11.00, not in all versions of HP-UX 11.
71527         * doc/posix-functions/fwide.texi: Likewise.
71528         * doc/posix-functions/fwprintf.texi: Likewise.
71529         * doc/posix-functions/fwscanf.texi: Likewise.
71530         * doc/posix-functions/inet_ntop.texi: Likewise.
71531         * doc/posix-functions/inet_pton.texi: Likewise.
71532         * doc/posix-functions/mbrlen.texi: Likewise.
71533         * doc/posix-functions/mbrtowc.texi: Likewise.
71534         * doc/posix-functions/mbsinit.texi: Likewise.
71535         * doc/posix-functions/mbsrtowcs.texi: Likewise.
71536         * doc/posix-functions/swprintf.texi: Likewise.
71537         * doc/posix-functions/swscanf.texi: Likewise.
71538         * doc/posix-functions/towctrans.texi: Likewise.
71539         * doc/posix-functions/vfwprintf.texi: Likewise.
71540         * doc/posix-functions/vswprintf.texi: Likewise.
71541         * doc/posix-functions/vwprintf.texi: Likewise.
71542         * doc/posix-functions/wcrtomb.texi: Likewise.
71543         * doc/posix-functions/wcsrtombs.texi: Likewise.
71544         * doc/posix-functions/wcsstr.texi: Likewise.
71545         * doc/posix-functions/wctob.texi: Likewise.
71546         * doc/posix-functions/wctrans.texi: Likewise.
71547         * doc/posix-functions/wmemchr.texi: Likewise.
71548         * doc/posix-functions/wmemcmp.texi: Likewise.
71549         * doc/posix-functions/wmemcpy.texi: Likewise.
71550         * doc/posix-functions/wmemmove.texi: Likewise.
71551         * doc/posix-functions/wmemset.texi: Likewise.
71552         * doc/posix-functions/wprintf.texi: Likewise.
71553         * doc/posix-functions/wscanf.texi: Likewise.
71555 2008-12-21  Bruno Haible  <bruno@clisp.org>
71557         Work around a portability problem.
71558         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
71559         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
71561 2008-12-20  Bruno Haible  <bruno@clisp.org>
71563         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
71564         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
71565         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
71566         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
71567         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
71569         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
71570         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
71571         set.
71572         (GNULIB_defined_mbstate_t): New macro.
71573         (mbsinit): Redefine if REPLACE_MBSINIT is set.
71574         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
71575         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
71576         reuses the system's mbrtowc function but works around the bugs.
71577         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
71578         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
71579         macros.
71580         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
71581         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
71582         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
71583         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
71584         REPLACE_MBSINIT if mbsinit needs to be overridden.
71585         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
71586         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71587         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
71588         REPLACE_MBSINIT, REPLACE_MBRTOWC.
71589         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
71590         m4/locale-zh.m4.
71591         (Depends): Add mbsinit.
71592         * modules/mbsinit (Depends): Add mbrtowc.
71593         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
71595 2008-12-20  Bruno Haible  <bruno@clisp.org>
71597         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
71598         so that there are no conversion errors on AIX.
71599         * tests/test-mbsrtowcs.c (main): LIkewise.
71601 2008-12-20  Bruno Haible  <bruno@clisp.org>
71603         Work around wctob bug on Solaris <= 9.
71604         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
71605         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
71606         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
71607         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
71608         * modules/wctob (Files): Add m4/locale-fr.m4.
71609         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
71611 2008-12-20  Bruno Haible  <bruno@clisp.org>
71613         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
71614         /dev/null.
71615         * tests/test-select-in.sh: Likewise.
71616         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
71618 2008-12-20  Bruno Haible  <bruno@clisp.org>
71620         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
71621         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
71622         Cygwin 1.5.x.
71624 2008-12-20  Bruno Haible  <bruno@clisp.org>
71626         Ensure mbstate_t is defined on HP-UX 11.11.
71627         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
71628         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
71629         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
71630         AC_USE_SYSTEM_EXTENSIONS.
71631         * modules/fnmatch (Depends-on): Add extensions.
71632         * modules/mbrlen (Depends-on): Likewise.
71633         * modules/mbrtowc (Depends-on): Likewise.
71634         * modules/mbsinit (Depends-on): Likewise.
71635         * modules/mbsrtowcs (Depends-on): Likewise.
71636         * modules/mbswidth (Depends-on): Likewise.
71637         * modules/quotearg (Depends-on): Likewise.
71638         * modules/strftime (Depends-on): Likewise.
71640 2008-12-20  Bruno Haible  <bruno@clisp.org>
71642         Ensure wctob is declared on IRIX 6.5.
71643         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
71644         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
71645         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
71646         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
71647         of HAVE_WCTOB.
71648         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
71649         HAVE_WCTOB.
71650         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
71652 2008-12-19  Bruno Haible  <bruno@clisp.org>
71654         * modules/mbsrtowcs-tests: New file.
71655         * tests/test-mbsrtowcs1.sh: New file.
71656         * tests/test-mbsrtowcs2.sh: New file.
71657         * tests/test-mbsrtowcs3.sh: New file.
71658         * tests/test-mbsrtowcs4.sh: New file.
71659         * tests/test-mbsrtowcs.c: New file.
71661         New module 'mbsrtowcs'.
71662         * lib/wchar.in.h (mbsrtowcs): New declaration.
71663         * lib/mbsrtowcs.c: New file.
71664         * m4/mbsrtowcs.m4: New file.
71665         * modules/mbsrtowcs: New file.
71666         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
71667         HAVE_MBSRTOWCS.
71668         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
71669         HAVE_MBSRTOWCS.
71670         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
71672 2008-12-19  Bruno Haible  <bruno@clisp.org>
71674         New module 'mbrlen'.
71675         * lib/wchar.in.h (mbrlen): New declaration.
71676         * lib/mbrlen.c: New file.
71677         * m4/mbrlen.m4: New file.
71678         * modules/mbrlen: New file.
71679         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
71680         HAVE_MBRLEN.
71681         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
71682         HAVE_MBRLEN.
71683         * doc/posix-functions/mbrlen.texi: Document the new module.
71685 2008-12-19  Bruno Haible  <bruno@clisp.org>
71687         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
71688         * modules/mbrtowc (Depends-on): Add verify.
71689         Suggested by Paul Eggert.
71691 2008-12-18  Bruno Haible  <bruno@clisp.org>
71693         * modules/mbsinit-tests: New file.
71694         * tests/test-mbsinit.sh: New file.
71695         * tests/test-mbsinit.c: New file.
71697 2008-12-18  Bruno Haible  <bruno@clisp.org>
71699         * modules/mbrtowc-tests: New file.
71700         * tests/test-mbrtowc1.sh: New file.
71701         * tests/test-mbrtowc2.sh: New file.
71702         * tests/test-mbrtowc3.sh: New file.
71703         * tests/test-mbrtowc4.sh: New file.
71704         * tests/test-mbrtowc.c: New file.
71706         New module 'mbrtowc'.
71707         * lib/wchar.in.h (mbstate_t): Override when the system does not have
71708         mbsinit and mbrtowc.
71709         (mbrtowc): New declaration.
71710         * lib/mbrtowc.c: New file.
71711         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
71712         * modules/mbrtowc: New file.
71713         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
71714         HAVE_MBRTOWC.
71715         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
71716         HAVE_MBRTOWC.
71717         * doc/posix-functions/mbrtowc.texi: Document the new module.
71719 2008-12-18  Bruno Haible  <bruno@clisp.org>
71721         New module 'wctob'.
71722         * lib/wchar.in.h (wctob): New declaration.
71723         * lib/wctob.c: New file.
71724         * m4/wctob.m4: New file.
71725         * modules/wctob: New file.
71726         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
71727         HAVE_WCTOB.
71728         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
71729         * doc/posix-functions/wctob.texi: Document the new module.
71731 2008-12-18  Bruno Haible  <bruno@clisp.org>
71733         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
71734         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
71736 2008-12-18  Simon Josefsson  <simon@josefsson.org>
71738         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
71739         G. Christensen" <tgc@jupiterrise.com>.
71741         * lib/flock.c: Need to include errno.h.  Reported by "Tom
71742         G. Christensen" <tgc@jupiterrise.com>.
71744         * lib/flock.c: Need to include string.h.  Reported by "Tom
71745         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
71746         <ebb9@byu.net>.
71748 2008-12-18  Bruno Haible  <bruno@clisp.org>
71750         * m4/locale-ja.m4: New file, from GNU gettext.
71752 2008-12-17  Bruno Haible  <bruno@clisp.org>
71754         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
71755         Suggested by Eric Blake.
71757 2008-12-17  Bruno Haible  <bruno@clisp.org>
71759         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
71761 2008-12-17  Bruno Haible  <bruno@clisp.org>
71763         * lib/mbsinit.c: Include verify.h. Verify an assumption.
71764         * modules/mbsinit (Depends-on): Add verify.
71765         Suggested by Paul Eggert.
71767 2008-12-17  Bruno Haible  <bruno@clisp.org>
71769         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
71770         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
71771         gl_FUNC_MBRTOWC.
71772         * m4/mbiter.m4 (gl_MBITER): LIkewise.
71773         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
71774         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
71775         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
71776         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
71777         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
71778         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
71779         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
71780         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
71781         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
71782         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
71783         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
71784         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
71785         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
71786         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
71787         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71788         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
71789         * modules/trim (configure.ac): Likewise.
71791 2008-12-17  Bruno Haible  <bruno@clisp.org>
71793         * modules/btowc-tests: New file.
71794         * tests/test-btowc1.sh: New file.
71795         * tests/test-btowc2.sh: New file.
71796         * tests/test-btowc.c: New file.
71798         New module 'btowc'.
71799         * lib/wchar.in.h (btowc): New declaration.
71800         * lib/btowc.c: New file.
71801         * m4/btowc.m4: New file.
71802         * modules/btowc: New file.
71803         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
71804         HAVE_BTOWC.
71805         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
71806         * doc/posix-functions/btowc.texi: Document the new module.
71808 2008-12-17  Bruno Haible  <bruno@clisp.org>
71810         New module 'mbsinit'.
71811         * lib/wchar.in.h (mbsinit): New declaration.
71812         * lib/mbsinit.c: New file.
71813         * m4/mbsinit.m4: New file.
71814         * modules/mbsinit: New file.
71815         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
71816         HAVE_MBSINIT.
71817         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
71818         HAVE_MBSINIT.
71819         * doc/posix-functions/mbsinit.texi: Document the new module.
71821 2008-12-16  Bruno Haible  <bruno@clisp.org>
71823         * lib/unistd.in.h: Add comment.
71824         * tests/test-environ.c: Don't include <stdlib.h>.
71826 2008-12-16  Bruno Haible  <bruno@clisp.org>
71828         * lib/parse-duration.h (parse_duration): Document return value
71829         convention.
71830         * lib/parse-duration.c: Include specification header first. Add
71831         comments.
71832         (_): Remove macro.
71833         (parse_year_month_day, parse_hour_minute_second): Move side effects
71834         outside of strchr call.
71835         (parse_non_iso8601): Move side effects outside of isspace call.
71836         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
71837         call.
71839 2008-12-16  Bruno Haible  <bruno@clisp.org>
71841         * tests/test-parse-duration.sh: Produce no output when the test
71842         succeeds.
71844 2008-12-16  Bruno Haible  <bruno@clisp.org>
71846         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
71847         expressions.
71849 2008-12-15  Bruno Haible  <bruno@clisp.org>
71851         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
71852         * doc/glibc-functions/flistxattr.texi: Likewise.
71853         * doc/glibc-functions/fopencookie.texi: Likewise.
71854         * doc/glibc-functions/fremovexattr.texi: Likewise.
71855         * doc/glibc-functions/fsetxattr.texi: Likewise.
71856         * doc/glibc-functions/getxattr.texi: Likewise.
71857         * doc/glibc-functions/lgetxattr.texi: Likewise.
71858         * doc/glibc-functions/listxattr.texi: Likewise.
71859         * doc/glibc-functions/llistxattr.texi: Likewise.
71860         * doc/glibc-functions/lremovexattr.texi: Likewise.
71861         * doc/glibc-functions/lsetxattr.texi: Likewise.
71862         * doc/glibc-functions/removexattr.texi: Likewise.
71863         * doc/glibc-functions/setxattr.texi: Likewise.
71864         * doc/posix-functions/open_memstream.texi: Likewise.
71866 2008-12-15  Eric Blake  <ebb9@byu.net>
71868         Update doc for cygwin 1.7.
71869         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
71870         functions.
71871         * doc/posix-functions/fchmodat.texi: Likewise.
71872         * doc/posix-functions/fchownat.texi: Likewise.
71873         * doc/posix-functions/fdopendir.texi: Likewise.
71874         * doc/posix-functions/fmemopen.texi: Likewise.
71875         * doc/posix-functions/freeaddrinfo.texi: Likewise.
71876         * doc/posix-functions/fstatat.texi: Likewise.
71877         * doc/posix-functions/futimens.texi: Likewise.
71878         * doc/posix-functions/gai_strerror.texi: Likewise.
71879         * doc/posix-functions/getaddrinfo.texi: Likewise.
71880         * doc/posix-functions/getnameinfo.texi: Likewise.
71881         * doc/posix-functions/if_freenameindex.texi: Likewise.
71882         * doc/posix-functions/if_indextoname.texi: Likewise.
71883         * doc/posix-functions/if_nameindex.texi: Likewise.
71884         * doc/posix-functions/if_nametoindex.texi: Likewise.
71885         * doc/posix-functions/insque.texi: Likewise.
71886         * doc/posix-functions/linkat.texi: Likewise.
71887         * doc/posix-functions/llrint.texi: Likewise.
71888         * doc/posix-functions/llrintf.texi: Likewise.
71889         * doc/posix-functions/llrintl.texi: Likewise.
71890         * doc/posix-functions/lockf.texi: Likewise.
71891         * doc/posix-functions/lrintl.texi: Likewise.
71892         * doc/posix-functions/mkdirat.texi: Likewise.
71893         * doc/posix-functions/mkfifoat.texi: Likewise.
71894         * doc/posix-functions/mknodat.texi: Likewise.
71895         * doc/posix-functions/mq_close.texi: Likewise.
71896         * doc/posix-functions/mq_getattr.texi: Likewise.
71897         * doc/posix-functions/mq_notify.texi: Likewise.
71898         * doc/posix-functions/mq_open.texi: Likewise.
71899         * doc/posix-functions/mq_receive.texi: Likewise.
71900         * doc/posix-functions/mq_send.texi: Likewise.
71901         * doc/posix-functions/mq_setattr.texi: Likewise.
71902         * doc/posix-functions/mq_timedreceive.texi: Likewise.
71903         * doc/posix-functions/mq_timedsend.texi: Likewise.
71904         * doc/posix-functions/mq_unlink.texi: Likewise.
71905         * doc/posix-functions/open_memstream.texi: Likewise.
71906         * doc/posix-functions/openat.texi: Likewise.
71907         * doc/posix-functions/posix_fadvise.texi: Likewise.
71908         * doc/posix-functions/posix_fallocate.texi: Likewise.
71909         * doc/posix-functions/posix_madvise.texi: Likewise.
71910         * doc/posix-functions/posix_memalign.texi: Likewise.
71911         * doc/posix-functions/posix_openpt.texi: Likewise.
71912         * doc/posix-functions/readlinkat.texi: Likewise.
71913         * doc/posix-functions/remque.texi: Likewise.
71914         * doc/posix-functions/renameat.texi: Likewise.
71915         * doc/posix-functions/rintl.texi: Likewise.
71916         * doc/posix-functions/sem_unlink.texi: Likewise.
71917         * doc/posix-functions/shm_open.texi: Likewise.
71918         * doc/posix-functions/shm_unlink.texi: Likewise.
71919         * doc/posix-functions/signgam.texi: Likewise.
71920         * doc/posix-functions/sigset.texi: Likewise.
71921         * doc/posix-functions/stpcpy.texi: Likewise.
71922         * doc/posix-functions/stpncpy.texi: Likewise.
71923         * doc/posix-functions/strerror.texi: Likewise.
71924         * doc/posix-functions/strtod.texi: Likewise.
71925         * doc/posix-functions/symlinkat.texi: Likewise.
71926         * doc/posix-functions/unlinkat.texi: Likewise.
71927         * doc/posix-functions/utimensat.texi: Likewise.
71928         * doc/glibc-functions/bindresvport.texi: Likewise.
71929         * doc/glibc-functions/dn_expand.texi: Likewise.
71930         * doc/glibc-functions/exp10.texi: Likewise.
71931         * doc/glibc-functions/exp10f.texi: Likewise.
71932         * doc/glibc-functions/fgetxattr.texi: Likewise.
71933         * doc/glibc-functions/flistxattr.texi: Likewise.
71934         * doc/glibc-functions/fopencookie.texi: Likewise.
71935         * doc/glibc-functions/freeifaddrs.texi: Likewise.
71936         * doc/glibc-functions/fremovexattr.texi: Likewise.
71937         * doc/glibc-functions/fsetxattr.texi: Likewise.
71938         * doc/glibc-functions/getifaddrs.texi: Likewise.
71939         * doc/glibc-functions/getxattr.texi: Likewise.
71940         * doc/glibc-functions/lgetxattr.texi: Likewise.
71941         * doc/glibc-functions/listxattr.texi: Likewise.
71942         * doc/glibc-functions/llistxattr.texi: Likewise.
71943         * doc/glibc-functions/lremovexattr.texi: Likewise.
71944         * doc/glibc-functions/lsetxattr.texi: Likewise.
71945         * doc/glibc-functions/pow10.texi: Likewise.
71946         * doc/glibc-functions/pow10f.texi: Likewise.
71947         * doc/glibc-functions/rcmd_af.texi: Likewise.
71948         * doc/glibc-functions/removexattr.texi: Likewise.
71949         * doc/glibc-functions/res_init.texi: Likewise.
71950         * doc/glibc-functions/res_mkquery.texi: Likewise.
71951         * doc/glibc-functions/res_query.texi: Likewise.
71952         * doc/glibc-functions/res_querydomain.texi: Likewise.
71953         * doc/glibc-functions/res_send.texi: Likewise.
71954         * doc/glibc-functions/rresvport_af.texi: Likewise.
71955         * doc/glibc-functions/setxattr.texi: Likewise.
71956         * doc/glibc-functions/strcasestr.texi: Likewise.
71958 2008-12-15  Bruno Haible  <bruno@clisp.org>
71960         Fix compilation error on OSF/1 4.0.
71961         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
71962         <sys/time.h>, simply delegate to the system header.
71963         Reported by Daniel Richard G. <oss@teragram.com>.
71965 2008-12-15  Bruno Haible  <bruno@clisp.org>
71967         * doc/posix-functions/openat.texi: Mention the 'openat' module.
71968         * doc/posix-functions/fchmodat.texi: Likewise.
71969         * doc/posix-functions/fchownat.texi: Likewise.
71970         * doc/posix-functions/fdopendir.texi: Likewise.
71971         * doc/posix-functions/fstatat.texi: Likewise.
71972         * doc/posix-functions/mkdirat.texi: Likewise.
71973         * doc/posix-functions/unlinkat.texi: Likewise.
71975 2008-12-14  Bruno Haible  <bruno@clisp.org>
71977         Update doc for POSIX:2008.
71978         * doc/posix-functions/faccessat.texi: New file.
71979         * doc/posix-functions/fchmodat.texi: New file.
71980         * doc/posix-functions/fchownat.texi: New file.
71981         * doc/posix-functions/fdopendir.texi: New file.
71982         * doc/posix-functions/fstatat.texi: New file.
71983         * doc/posix-functions/futimens.texi: New file.
71984         * doc/posix-functions/linkat.texi: New file.
71985         * doc/posix-functions/mkdirat.texi: New file.
71986         * doc/posix-functions/mkfifoat.texi: New file.
71987         * doc/posix-functions/mknodat.texi: New file.
71988         * doc/posix-functions/open_wmemstream.texi: New file.
71989         * doc/posix-functions/openat.texi: New file.
71990         * doc/posix-functions/psiginfo.texi: New file.
71991         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
71992         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
71993         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
71994         * doc/posix-functions/readlinkat.texi: New file.
71995         * doc/posix-functions/renameat.texi: New file.
71996         * doc/posix-functions/strerror_l.texi: New file.
71997         * doc/posix-functions/symlinkat.texi: New file.
71998         * doc/posix-functions/unlinkat.texi: New file.
71999         * doc/posix-functions/utimensat.texi: New file.
72000         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72002 2008-12-14  Bruno Haible  <bruno@clisp.org>
72004         Update doc for POSIX:2008.
72005         * doc/posix-functions/alphasort.texi: Renamed from
72006         doc/glibc-functions/alphasort.texi.
72007         * doc/posix-functions/dirfd.texi: Renamed from
72008         doc/glibc-functions/dirfd.texi.
72009         * doc/posix-functions/dprintf.texi: Renamed from
72010         doc/glibc-functions/dprintf.texi.
72011         * doc/posix-functions/duplocale.texi: Renamed from
72012         doc/glibc-functions/duplocale.texi.
72013         * doc/posix-functions/fexecve.texi: Renamed from
72014         doc/glibc-functions/fexecve.texi.
72015         * doc/posix-functions/fmemopen.texi: Renamed from
72016         doc/glibc-functions/fmemopen.texi.
72017         * doc/posix-functions/freelocale.texi: Renamed from
72018         doc/glibc-functions/freelocale.texi.
72019         * doc/posix-functions/getdate_err.texi: Renamed from
72020         doc/glibc-functions/getdate_err.texi.
72021         * doc/posix-functions/isalnum_l.texi: Renamed from
72022         doc/glibc-functions/isalnum_l.texi.
72023         * doc/posix-functions/isalpha_l.texi: Renamed from
72024         doc/glibc-functions/isalpha_l.texi.
72025         * doc/posix-functions/isblank_l.texi: Renamed from
72026         doc/glibc-functions/isblank_l.texi.
72027         * doc/posix-functions/iscntrl_l.texi: Renamed from
72028         doc/glibc-functions/iscntrl_l.texi.
72029         * doc/posix-functions/isdigit_l.texi: Renamed from
72030         doc/glibc-functions/isdigit_l.texi.
72031         * doc/posix-functions/isgraph_l.texi: Renamed from
72032         doc/glibc-functions/isgraph_l.texi.
72033         * doc/posix-functions/islower_l.texi: Renamed from
72034         doc/glibc-functions/islower_l.texi.
72035         * doc/posix-functions/isprint_l.texi: Renamed from
72036         doc/glibc-functions/isprint_l.texi.
72037         * doc/posix-functions/ispunct_l.texi: Renamed from
72038         doc/glibc-functions/ispunct_l.texi.
72039         * doc/posix-functions/isspace_l.texi: Renamed from
72040         doc/glibc-functions/isspace_l.texi.
72041         * doc/posix-functions/isupper_l.texi: Renamed from
72042         doc/glibc-functions/isupper_l.texi.
72043         * doc/posix-functions/iswalnum_l.texi: Renamed from
72044         doc/glibc-functions/iswalnum_l.texi.
72045         * doc/posix-functions/iswalpha_l.texi: Renamed from
72046         doc/glibc-functions/iswalpha_l.texi.
72047         * doc/posix-functions/iswblank_l.texi: Renamed from
72048         doc/glibc-functions/iswblank_l.texi.
72049         * doc/posix-functions/iswcntrl_l.texi: Renamed from
72050         doc/glibc-functions/iswcntrl_l.texi.
72051         * doc/posix-functions/iswctype_l.texi: Renamed from
72052         doc/glibc-functions/iswctype_l.texi.
72053         * doc/posix-functions/iswdigit_l.texi: Renamed from
72054         doc/glibc-functions/iswdigit_l.texi.
72055         * doc/posix-functions/iswgraph_l.texi: Renamed from
72056         doc/glibc-functions/iswgraph_l.texi.
72057         * doc/posix-functions/iswlower_l.texi: Renamed from
72058         doc/glibc-functions/iswlower_l.texi.
72059         * doc/posix-functions/iswprint_l.texi: Renamed from
72060         doc/glibc-functions/iswprint_l.texi.
72061         * doc/posix-functions/iswpunct_l.texi: Renamed from
72062         doc/glibc-functions/iswpunct_l.texi.
72063         * doc/posix-functions/iswspace_l.texi: Renamed from
72064         doc/glibc-functions/iswspace_l.texi.
72065         * doc/posix-functions/iswupper_l.texi: Renamed from
72066         doc/glibc-functions/iswupper_l.texi.
72067         * doc/posix-functions/iswxdigit_l.texi: Renamed from
72068         doc/glibc-functions/iswxdigit_l.texi.
72069         * doc/posix-functions/isxdigit_l.texi: Renamed from
72070         doc/glibc-functions/isxdigit_l.texi.
72071         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
72072         doc/glibc-functions/mbsnrtowcs.texi.
72073         * doc/posix-functions/mkdtemp.texi: Renamed from
72074         doc/glibc-functions/mkdtemp.texi.
72075         * doc/posix-functions/newlocale.texi: Renamed from
72076         doc/glibc-functions/newlocale.texi.
72077         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
72078         doc/glibc-functions/nl_langinfo_l.texi.
72079         * doc/posix-functions/open_memstream.texi: Renamed from
72080         doc/glibc-functions/open_memstream.texi.
72081         * doc/posix-functions/opterr.texi: Renamed from
72082         doc/glibc-functions/opterr.texi.
72083         * doc/posix-functions/optind.texi: Renamed from
72084         doc/glibc-functions/optind.texi.
72085         * doc/posix-functions/optopt.texi: Renamed from
72086         doc/glibc-functions/optopt.texi.
72087         * doc/posix-functions/psignal.texi: Renamed from
72088         doc/glibc-functions/psignal.texi.
72089         * doc/posix-functions/scandir.texi: Renamed from
72090         doc/glibc-functions/scandir.texi.
72091         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
72092         doc/glibc-functions/sched_get_priority_min.texi.
72093         * doc/posix-functions/signgam.texi: Renamed from
72094         doc/glibc-functions/signgam.texi.
72095         * doc/posix-functions/stpcpy.texi: Renamed from
72096         doc/glibc-functions/stpcpy.texi.
72097         * doc/posix-functions/stpncpy.texi: Renamed from
72098         doc/glibc-functions/stpncpy.texi.
72099         * doc/posix-functions/strcasecmp_l.texi: Renamed from
72100         doc/glibc-functions/strcasecmp_l.texi.
72101         * doc/posix-functions/strcoll_l.texi: Renamed from
72102         doc/glibc-functions/strcoll_l.texi.
72103         * doc/posix-functions/strfmon_l.texi: Renamed from
72104         doc/glibc-functions/strfmon_l.texi.
72105         * doc/posix-functions/strftime_l.texi: Renamed from
72106         doc/glibc-functions/strftime_l.texi.
72107         * doc/posix-functions/strncasecmp_l.texi: Renamed from
72108         doc/glibc-functions/strncasecmp_l.texi.
72109         * doc/posix-functions/strndup.texi: Renamed from
72110         doc/glibc-functions/strndup.texi.
72111         * doc/posix-functions/strnlen.texi: Renamed from
72112         doc/glibc-functions/strnlen.texi.
72113         * doc/posix-functions/strsignal.texi: Renamed from
72114         doc/glibc-functions/strsignal.texi.
72115         * doc/posix-functions/strxfrm_l.texi: Renamed from
72116         doc/glibc-functions/strxfrm_l.texi.
72117         * doc/posix-functions/timer_gettime.texi: Renamed from
72118         doc/glibc-functions/timer_gettime.texi.
72119         * doc/posix-functions/tolower_l.texi: Renamed from
72120         doc/glibc-functions/tolower_l.texi.
72121         * doc/posix-functions/toupper_l.texi: Renamed from
72122         doc/glibc-functions/toupper_l.texi.
72123         * doc/posix-functions/towctrans_l.texi: Renamed from
72124         doc/glibc-functions/towctrans_l.texi.
72125         * doc/posix-functions/towlower_l.texi: Renamed from
72126         doc/glibc-functions/towlower_l.texi.
72127         * doc/posix-functions/towupper_l.texi: Renamed from
72128         doc/glibc-functions/towupper_l.texi.
72129         * doc/posix-functions/uselocale.texi: Renamed from
72130         doc/glibc-functions/uselocale.texi.
72131         * doc/posix-functions/vdprintf.texi: Renamed from
72132         doc/glibc-functions/vdprintf.texi.
72133         * doc/posix-functions/wcpcpy.texi:
72134         Renamed from doc/glibc-functions/wcpcpy.texi.
72135         * doc/posix-functions/wcpncpy.texi: Renamed from
72136         doc/glibc-functions/wcpncpy.texi.
72137         * doc/posix-functions/wcscasecmp.texi: Renamed from
72138         doc/glibc-functions/wcscasecmp.texi.
72139         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
72140         doc/glibc-functions/wcscasecmp_l.texi.
72141         * doc/posix-functions/wcscoll_l.texi: Renamed from
72142         doc/glibc-functions/wcscoll_l.texi.
72143         * doc/posix-functions/wcsdup.texi: Renamed from
72144         doc/glibc-functions/wcsdup.texi.
72145         * doc/posix-functions/wcsncasecmp.texi: Renamed from
72146         doc/glibc-functions/wcsncasecmp.texi.
72147         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
72148         doc/glibc-functions/wcsncasecmp_l.texi.
72149         * doc/posix-functions/wcsnlen.texi: Renamed from
72150         doc/glibc-functions/wcsnlen.texi.
72151         * doc/posix-functions/wcsnrtombs.texi: Renamed from
72152         doc/glibc-functions/wcsnrtombs.texi.
72153         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
72154         doc/glibc-functions/wcsxfrm_l.texi.
72155         * doc/posix-functions/wctrans_l.texi: Renamed from
72156         doc/glibc-functions/wctrans_l.texi.
72157         * doc/posix-functions/wctype_l.texi: Renamed from
72158         doc/glibc-functions/wctype_l.texi.
72159         * doc/gnulib.texi (Function Substitutes): Add these subsections.
72160         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
72161         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
72162         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
72163         these subsections.
72164         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
72165         Remove sections.
72167 2008-12-14  Bruno Haible  <bruno@clisp.org>
72169         Update doc for POSIX:2008.
72170         * doc/posix-functions/*.texi: Update URL of POSIX specification.
72172 2008-12-14  Bruno Haible  <bruno@clisp.org>
72174         Update doc for POSIX:2008.
72175         * doc/pastposix-functions/bcmp.texi: Renamed from
72176         doc/posix-functions/bcmp.texi.
72177         * doc/pastposix-functions/bcopy.texi: Renamed from
72178         doc/posix-functions/bcopy.texi.
72179         * doc/pastposix-functions/bsd_signal.texi: Renamed from
72180         doc/posix-functions/bsd_signal.texi.
72181         * doc/pastposix-functions/bzero.texi: Renamed from
72182         doc/posix-functions/bzero.texi.
72183         * doc/pastposix-functions/ecvt.texi: Renamed from
72184         doc/posix-functions/ecvt.texi.
72185         * doc/pastposix-functions/fcvt.texi: Renamed from
72186         doc/posix-functions/fcvt.texi.
72187         * doc/pastposix-functions/ftime.texi: Renamed from
72188         doc/posix-functions/ftime.texi.
72189         * doc/pastposix-functions/gcvt.texi: Renamed from
72190         doc/posix-functions/gcvt.texi.
72191         * doc/pastposix-functions/getcontext.texi: Renamed from
72192         doc/posix-functions/getcontext.texi.
72193         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
72194         doc/posix-functions/gethostbyaddr.texi.
72195         * doc/pastposix-functions/gethostbyname.texi: Renamed from
72196         doc/posix-functions/gethostbyname.texi.
72197         * doc/pastposix-functions/getwd.texi: Renamed from
72198         doc/posix-functions/getwd.texi.
72199         * doc/pastposix-functions/h_errno.texi: Renamed from
72200         doc/posix-functions/h_errno.texi.
72201         * doc/pastposix-functions/index.texi: Renamed from
72202         doc/posix-functions/index.texi.
72203         * doc/pastposix-functions/makecontext.texi: Renamed from
72204         doc/posix-functions/makecontext.texi.
72205         * doc/pastposix-functions/mktemp.texi: Renamed from
72206         doc/posix-functions/mktemp.texi.
72207         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
72208         doc/posix-functions/pthread_attr_getstackaddr.texi.
72209         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
72210         doc/posix-functions/pthread_attr_setstackaddr.texi.
72211         * doc/pastposix-functions/rindex.texi: Renamed from
72212         doc/posix-functions/rindex.texi.
72213         * doc/pastposix-functions/scalb.texi: Renamed from
72214         doc/posix-functions/scalb.texi.
72215         * doc/pastposix-functions/setcontext.texi: Renamed from
72216         doc/posix-functions/setcontext.texi.
72217         * doc/pastposix-functions/swapcontext.texi: Renamed from
72218         doc/posix-functions/swapcontext.texi.
72219         * doc/pastposix-functions/ualarm.texi: Renamed from
72220         doc/posix-functions/ualarm.texi.
72221         * doc/pastposix-functions/usleep.texi: Renamed from
72222         doc/posix-functions/usleep.texi.
72223         * doc/pastposix-functions/vfork.texi: Renamed from
72224         doc/posix-functions/vfork.texi.
72225         * doc/pastposix-functions/wcswcs.texi: Renamed from
72226         doc/posix-functions/wcswcs.texi.
72227         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
72228         (Function Substitutes): Update.
72230 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72232         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
72233         m4/strerror.m4.
72235 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72236             Bruno Haible  <bruno@clisp.org>
72238         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
72240 2008-12-13  Bruno Haible  <bruno@clisp.org>
72242         * modules/strtoull (Depends-on): Remove unistd.
72244 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72246         * modules/strtoull (Depends-on): Add stdlib.
72248 2008-12-11  Simon Josefsson  <simon@josefsson.org>
72250         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
72252 2008-12-10  Jim Meyering  <meyering@redhat.com>
72254         gl_ASSERT: don't say assertions are disabled when they're not
72255         * m4/assert.m4 (gl_ASSERT): Do not make configure report
72256         "checking whether to enable assertions... no", when they are in
72257         fact enabled.  This is solely a bug in the output of configure.
72258         In spite of saying "no", NDEBUG was not defined in that case.
72259         Also, as noted by Eric Blake, leave assertions enabled upon
72260         --enable-assert=INVALID.
72262 2008-12-10  Bruno Haible  <bruno@clisp.org>
72264         Change MODULES.html to refer to POSIX:2008 where possible.
72265         * MODULES.html.sh (POSIX2008_URL): New variable.
72266         (posix_headers): Remove sys/timeb, ucontext.
72267         (posix2001_headers): New variable.
72268         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
72269         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
72270         index, makecontext, mktemp, pthread_attr_getstackaddr,
72271         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
72272         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
72273         (posix2001_functions): New variable.
72274         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
72275         otherwise.
72277 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72279         add missing include to parse-duration.c
72280         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
72281         * modules/parse-duration (Depends-on): Add xalloc.
72283         fix sed script reading maint.mk
72284         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
72285         (syntax-check-rules): Use it.
72287 2008-12-09  Bruno Haible  <bruno@clisp.org>
72289         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
72290         MacOS X 10.4/PowerPC.
72291         Reported by Simon Josefsson.
72293 2008-12-08  Jim Meyering  <meyering@redhat.com>
72295         work around mingw's lack of some S_IF definitions
72296         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
72297         Reported by Simon Josefsson.
72299 2008-12-08  Bruno Haible  <bruno@clisp.org>
72301         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
72302         applied to variables. Needed on MacOS X 10.4/PowerPC.
72303         Reported by Simon Josefsson.
72305 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
72306         and Eric Blake  <ebb9@byu.net>
72308         assert: honor --enable-assert
72309         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
72310         order to honor --enable-assert, rather than treating it as a
72311         synonym for --disable-assert.
72313 2008-12-08  Jim Meyering  <meyering@redhat.com>
72315         * lib/posixtm.c: Remove now-useless declaration of mktime.
72317         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
72319 2008-12-07  Bruno Haible  <bruno@clisp.org>
72321         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
72322         test_once): Mark functions as static.
72323         * tests/test-tls.c (test_tls): Likewise.
72325 2008-12-07  Bruno Haible  <bruno@clisp.org>
72327         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
72328         iconv_register_autodetect.
72330 2008-12-07  Jim Meyering  <meyering@redhat.com>
72332         posixtm.c: avoid a warning
72333         * lib/posixtm.c (posixtime): Don't initialize tm0.
72334         It's no longer needed to placate gcc4's -Wuninitialized,
72335         and the attempt to placate would elicit a new warning.
72337         unicodeio.c: mark unused parameters
72338         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72339         (fallback_failure_callback): Likewise.
72341 2008-12-07  Bruno Haible  <bruno@clisp.org>
72343         * gnulib-tool (func_create_testdir): When building the tests
72344         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
72345         Reported by Simon Josefsson.
72347 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72349         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
72351 2008-12-06  Bruno Haible  <bruno@clisp.org>
72353         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
72354         Suggested by Eric Blake.
72356 2008-12-06  Bruno Haible  <bruno@clisp.org>
72358         Fix a c-stack test failure on MacOS X.
72359         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
72360         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
72361         handler for SIGBUS as well.
72362         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
72363         install a signal handler for SIGBUS as well.
72364         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
72366 2008-12-06  Bruno Haible  <bruno@clisp.org>
72368         Advocacy documentation.
72369         * doc/gnulib-intro.texi (Benefits): New section.
72370         * doc/gnulib.texi: Update.
72372 2008-12-06  Bruno Haible  <bruno@clisp.org>
72374         Document the 'manywarnings' module.
72375         * doc/manywarnings.texi: New file.
72376         * doc/gnulib.texi: Include it.
72378 2008-12-05  Eric Blake  <ebb9@byu.net>
72380         tests: silence some gcc warnings
72381         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
72382         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
72383         type mismatches.
72385 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72386             Bruno Haible  <bruno@clisp.org>
72388         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
72390 2008-11-29  Jim Meyering  <meyering@redhat.com>
72392         unicodeio.c: mark unused parameters
72393         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
72394         (fallback_failure_callback): Likewise.
72396         fts: fix a thinko
72397         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
72398         (set_stat_type): Return S_IF*-valued "type" directly.
72399         Prompted by James Youngman's spotting a related bug.
72400         Confirmed by further testing through find.
72402         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
72403         * lib/fts.c (D_TYPE): Define.
72404         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
72405         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
72406         (s_ifmt_shift_bits): New function.
72407         (set_stat_type): New function.
72408         (fts_build): When not calling fts_stat, call set_stat_type
72409         to propagate dirent.d_type info to fts_read caller.
72410         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
72411         fts_statp->st_mode type information may be valid.
72413 2008-11-28  Simon Josefsson  <simon@josefsson.org>
72415         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
72416         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
72417         <sds@gnu.org>.
72419 2008-11-20  Bruno Haible  <bruno@clisp.org>
72421         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
72422         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
72423         INCLUDE_NEXT.
72424         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
72425         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
72426         * modules/math (Makefile.am): Substitute
72427         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
72428         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72430 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
72431             Bruno Haible  <bruno@clisp.org>
72433         * lib/stdint.in.h: Define all type macros so that their expansion is
72434         a single typedef'ed token. Fixes a compilation failure in Boost which
72435         does "using ::int8_t;".
72437 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72439         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
72440         gl_MANYWARN_ALL_GCC.
72441         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
72442         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
72443         * modules/manywarnings: New file.
72444         * MODULES.html.sh: Mention manywarnings module.
72446 2008-11-18  Bruno Haible  <bruno@clisp.org>
72448         * doc/gnulib-tool.texi (Unit tests): New section.
72450 2008-11-18  Simon Josefsson  <simon@josefsson.org>
72452         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
72453         paths like 'lib/po/foo.po'.
72455 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72457         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
72458         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
72460 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72462         * m4/warnings.m4: Use CPPFLAGS to really check whether the
72463         parameter works.
72465 2008-11-17  Simon Josefsson  <simon@josefsson.org>
72467         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
72469 2008-11-17  Bruce Korb  <bkorb@gnu.org>
72471         * modules/parse-duration-tests: New file.
72472         * tests/test-parse-duration.sh: New file.
72473         * tests/test-parse-duration.c: New file.
72475         New module 'parse-duration'.
72476         * lib/parse-duration.h: New file.
72477         * lib/parse-duration.c: New file.
72478         * modules/parse-duration: New file.
72480 2008-11-17  Bruno Haible  <bruno@clisp.org>
72482         * tests/test-select-out.sh: Comment out the first pipe test.
72483         Reported by Simon Josefsson.
72485 2008-11-17  Bruno Haible  <bruno@clisp.org>
72487         * modules/getaddrinfo (Depends-on): Add servent, hostent.
72488         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
72489         gl_HOSTENT.
72491 2008-11-17  Bruno Haible  <bruno@clisp.org>
72493         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
72494         -lnetwork and -lnet. Needed for Haiku and BeOS.
72496 2008-11-16  Bruno Haible  <bruno@clisp.org>
72498         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
72500 2008-11-16  Bruno Haible  <bruno@clisp.org>
72502         Avoid test failure on Haiku.
72503         * tests/test-fsync.c: Include <errno.h>.
72504         (main): Don't require that fsync (0) fails.
72506 2008-11-15  Bruno Haible  <bruno@clisp.org>
72508         New module 'hostent'.
72509         * modules/hostent: New file.
72510         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
72512 2008-11-15  Bruno Haible  <bruno@clisp.org>
72514         New module 'servent'.
72515         * modules/servent: New file.
72516         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
72518 2008-11-15  Bruno Haible  <bruno@clisp.org>
72520         Avoid generating same test program with two different rules.
72521         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
72522         test-frexp to test-frexp-nolibm.
72523         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
72524         test-frexpl to test-frexpl-nolibm.
72526 2008-11-15  Bruno Haible  <bruno@clisp.org>
72528         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
72529         $(FREXPL_LIBM).
72531 2008-11-15  Bruno Haible  <bruno@clisp.org>
72533         * lib/netdb.in.h: Activate the definitions also when the system's
72534         <netdb.h> has 'struct addrinfo'.
72535         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
72536         EAI_OVERFLOW or AI_NUMERICSERV.
72537         * doc/posix-headers/netdb.texi: Document the problem.
72539 2008-11-15  Bruno Haible  <bruno@clisp.org>
72541         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
72543         Make the 'sched' module work on platforms where <sched.h> exists but
72544         is incomplete (such as Haiku).
72545         * lib/sched.in.h; Include the system's <sched.h> if it exists.
72546         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
72547         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
72548         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
72549         HAVE_STRUCT_SCHED_PARAM.
72550         * modules/sched (Depends-on): Add include_next.
72551         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
72552         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
72553         * doc/posix-headers/sched.texi: Document the issue.
72555 2008-11-13  Jim Meyering  <meyering@redhat.com>
72557         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
72558         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
72559         test would fail due to the difference in the Report bugs to ...
72560         line.  The expected address is empty, "<>", while the actual
72561         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
72563 2008-11-12  Bruno Haible  <bruno@clisp.org>
72565         lstat: don't compile lstat.c on systems lacking lstat
72566         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
72567         which don't have lstat; this is handled by lib/sys_stat.in.h already.
72568         Reported by Daniel P. Berrange via Jim Meyering.
72570 2008-11-12  Jim Meyering  <meyering@redhat.com>
72572         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
72574 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72576         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
72577         instead.
72579 2008-11-12  Bruno Haible  <bruno@clisp.org>
72581         * lib/unicodeio.c: Include unistr.h.
72582         (utf8_wctomb): Remove function.
72583         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
72585 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72587         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
72588         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
72589         <bruno@clisp.org>.
72590         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
72592 2008-11-12  Simon Josefsson  <simon@josefsson.org>
72594         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
72595         * doc/gnulib.texi: Add section for warnings.
72597 2008-11-11  Bruno Haible  <bruno@clisp.org>
72599         * lib/sockets.h: Add a comment.
72601 2008-11-11  Karl Berry  <karl@gnu.org>
72603         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
72605 2008-11-11  Eric Blake  <ebb9@byu.net>
72607         fdl.texi: avoid git symlinks
72608         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
72610 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72612         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
72614 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72616         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
72617         (gl_WARN_ADD): Substitute $2 if literal.
72619 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72621         * m4/warning.m4: Remove.
72623 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
72625         * m4/warnings.m4: Almost complete rewrite. :-)
72627 2008-11-10  Simon Josefsson  <simon@josefsson.org>
72629         * modules/warnings: New module.
72630         * m4/warnings.m4: New file.
72631         * MODULES.html.sh: Mention warnings module.
72632         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
72633         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72635 2008-11-10  Eric Blake  <ebb9@byu.net>
72637         fdl.texi: make a symlink to the latest version
72638         * doc/standards.texi: Revert today's earlier change.
72639         * doc/fdl-1.2.texi: Rename from old fdl.texi...
72640         * doc/fdl.texi: ...and replace this with a symlink to the newer
72641         fdl-1.3.texi.
72643 2008-11-10  Bruno Haible  <bruno@clisp.org>
72645         * tests/test-select-fd.c (main): Accept the result file name as fourth
72646         argument.
72647         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
72648         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
72650 2008-11-10  Bruno Haible  <bruno@clisp.org>
72652         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
72653         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
72654         as autoconf-substituted macros.
72655         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
72656         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
72657         gl_NETDB_H_DEFAULTS. Set these variables.
72658         * modules/netdb (Makefile.am): Substitute these variables.
72660 2008-11-10  Eric Blake  <ebb9@byu.net>
72662         standards.texi: include correct file for FDL 1.3
72663         * doc/standards.texi (GNU Free Documentation License): Change
72664         include file to pull in FDL 1.3, not 1.2.
72666         fdl.texi: revert accidental change to license
72667         * doc/fdl.texi: This is FDL 1.2, not 1.3.
72669 2008-11-10  Bruno Haible  <bruno@clisp.org>
72671         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
72672         cross-compiling guesses also when the native compile gives no result.
72674 2008-11-10  Bruno Haible  <bruno@clisp.org>
72676         * lib/spawni.c (__spawni): Force variable into the stack.
72678 2008-11-10  Bruno Haible  <bruno@clisp.org>
72680         Add support for Haiku.
72681         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
72682         glibc and BeOS, but also on Haiku.
72683         * lib/fpurge.c (fpurge): Likewise.
72684         * lib/freadable.c (freadable): Likewise.
72685         * lib/freadahead.c (freadahead): Likewise.
72686         * lib/freading.c (freading): Likewise.
72687         * lib/freadptr.c (freadptr): Likewise.
72688         * lib/freadseek.c (freadptrinc): Likewise.
72689         * lib/fseeko.c (rpl_fseeko): Likewise.
72690         * lib/fseterr.c (fseterr): Likewise.
72691         * lib/fwritable.c (fwritable): Likewise.
72692         * lib/fwriting.c (fwriting): Likewise.
72693         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
72695 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72697         * lib/config.charset: Treat Haiku like BeOS.
72699 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
72701         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
72702         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
72704 2008-11-08  Bruno Haible  <bruno@clisp.org>
72706         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
72707         AC_CACHE_CHECK.
72709 2008-11-08  Bruno Haible  <bruno@clisp.org>
72711         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
72713 2008-11-08  Bruno Haible  <bruno@clisp.org>
72715         * tests/test-select-fd.c: New file.
72716         * tests/test-select-in.sh: New file.
72717         * tests/test-select-out.sh: New file.
72718         * tests/test-select-stdin.c: New file.
72719         * modules/select-tests (Files): Add the new files.
72720         (Depends-on): Add gettimeofday.
72721         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
72722         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
72723         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
72725 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
72726             Bruno Haible  <bruno@clisp.org>
72728         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
72730 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
72732         * build-aux/pmccabe2html: Added support for C++ source files.
72734 2008-11-05  Ben Pfaff  <blp@gnu.org>
72736         Fix lib/close.c build on Windows.
72737         * modules/close (Files): Add lib/w32sock.h.
72739 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
72741         Accept Bison's NEWS format.
72742         * build-aux/announce-gen (print_news_deltas): Tweak
72743         $re_prefix.
72745 2008-11-04  Bruno Haible  <bruno@clisp.org>
72747         * modules/random_r (Maintainer): Add glibc.
72749 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72751         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
72752         by karl@freefriends.org (Karl Berry).
72753         * doc/alloca.texi: Likewise.
72754         * doc/c-ctype.texi: Likewise.
72755         * doc/c-strcase.texi: Likewise.
72756         * doc/c-strcaseeq.texi: Likewise.
72757         * doc/c-strcasestr.texi: Likewise.
72758         * doc/c-strstr.texi: Likewise.
72759         * doc/c-strtod.texi: Likewise.
72760         * doc/c-strtold.texi: Likewise.
72761         * doc/ctime.texi: Likewise.
72762         * doc/error.texi: Likewise.
72763         * doc/fdl.texi: Likewise.
72764         * doc/gcd.texi: Likewise.
72765         * doc/getdate.texi: Likewise.
72766         * doc/gnulib-intro.texi: Likewise.
72767         * doc/gnulib-tool.texi: Likewise.
72768         * doc/gnulib.texi: Likewise.
72769         * doc/inet_ntoa.texi: Likewise.
72770         * doc/maintain.texi: Likewise.
72771         * doc/make-stds.texi: Likewise.
72772         * doc/quote.texi: Likewise.
72773         * doc/regexprops-generic.texi: Likewise.
72774         * doc/standards.texi: Likewise.
72775         * doc/verify.texi: Likewise.
72776         * doc/visibility.texi: Likewise.
72777         * doc/gnulib.texi (GNU Free Documentation License): Include
72778         fdl-1.3.texi instead of fdl.texi.
72780 2008-11-04  Simon Josefsson  <simon@josefsson.org>
72782         * doc/fdl-1.3.texi: New file, from
72783         <http://www.gnu.org/licenses/fdl-1.3.texi>.
72784         * modules/fdl-1.3: Add.
72785         * MODULES.html.sh: Add fdl-1.3.
72787 2008-11-03  Bruno Haible  <bruno@clisp.org>
72789         Make determination of absolute name of header file work with AIX xlc.
72790         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
72791         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
72792         preprocessing.
72793         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
72794         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
72796 2008-11-03  Simon Josefsson  <simon@josefsson.org>
72798         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
72799         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
72800         <ludo@gnu.org>.
72802 2008-11-02  Bruno Haible  <bruno@clisp.org>
72804         Mark 'strpbrk' obsolete.
72805         * modules/strpbrk (Status, Notice): New sections.
72806         * modules/strtok_r (Depends-on): Add strpbrk.
72808 2008-11-02  Bruno Haible  <bruno@clisp.org>
72810         Mark 'strdup' obsolete.
72811         * modules/strdup (Status, Notice): New sections.
72812         * modules/findprog (Depends-on): Add strdup.
72813         * modules/getaddrinfo (Depends-on): Likewise.
72814         * modules/localename (Depends-on): Likewise.
72815         * modules/relocatable-lib (Depends-on): Likewise.
72816         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
72817         * modules/relocatable-prog (Depends-on): Likewise.
72818         * modules/trim (Depends-on): Likewise.
72819         * modules/unictype/gen-ctype (Depends-on): Likewise.
72820         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72822 2008-11-02  Bruno Haible  <bruno@clisp.org>
72824         Mark 'strcspn' obsolete.
72825         * modules/strcspn (Status, Notice): New sections.
72827 2008-11-02  Bruno Haible  <bruno@clisp.org>
72829         Mark 'rmdir' obsolete.
72830         * modules/rmdir (Status, Notice): New sections.
72831         * modules/clean-temp (Depends-on): Add rmdir.
72832         * modules/openat (Depends-on): Likewise.
72834 2008-11-02  Bruno Haible  <bruno@clisp.org>
72836         Mark 'raise' obsolete.
72837         * modules/raise (Status, Notice): New sections.
72838         (Include): Specify <signal.h>.
72839         * modules/stdio (Depends-on): Add raise.
72840         * modules/write (Depends-on): Likewise.
72842 2008-11-02  Bruno Haible  <bruno@clisp.org>
72844         Mark 'memset' obsolete.
72845         * modules/memset (Status, Notice): New sections.
72847 2008-11-02  Bruno Haible  <bruno@clisp.org>
72849         Mark 'memmove' obsolete.
72850         * modules/memmove (Status, Notice): New sections.
72851         * modules/argp (Depends-on): Add memmove.
72852         * modules/argz (Depends-on): Likewise.
72853         * modules/canonicalize (Depends-on): Likewise.
72854         * modules/canonicalize-lgpl (Depends-on): Likewise.
72855         * modules/fts (Depends-on): Likewise.
72856         * modules/getcwd (Depends-on): Likewise.
72857         * modules/human (Depends-on): Likewise.
72858         * modules/regex (Depends-on): Likewise.
72859         * modules/striconveh (Depends-on): Likewise.
72860         * modules/trim (Depends-on): Likewise.
72861         * modules/unistr/u8-move (Depends-on): Likewise.
72862         * modules/unistr/u16-move (Depends-on): Likewise.
72863         * modules/unistr/u32-move (Depends-on): Likewise.
72865 2008-11-02  Bruno Haible  <bruno@clisp.org>
72867         Mark 'memcpy' obsolete.
72868         * modules/memcpy (Status, Notice): New sections.
72870 2008-11-02  Bruno Haible  <bruno@clisp.org>
72872         Mark 'memcmp' obsolete.
72873         * modules/memcmp (Status, Notice): New sections.
72874         * modules/argmatch (Depends-on): Add memchr.
72875         * modules/backupfile (Depends-on): Likewise.
72876         * modules/c-strcasestr (Depends-on): Likewise.
72877         * modules/crypto/des (Depends-on): Likewise.
72878         * modules/csharpcomp (Depends-on): Likewise.
72879         * modules/fnmatch (Depends-on): Likewise.
72880         * modules/git-merge-changelog (Depends-on): Likewise.
72881         * modules/isnand (Depends-on): Likewise.
72882         * modules/isnand-nolibm (Depends-on): Likewise.
72883         * modules/isnanf (Depends-on): Likewise.
72884         * modules/isnanf-nolibm (Depends-on): Likewise.
72885         * modules/isnanl (Depends-on): Likewise.
72886         * modules/isnanl-nolibm (Depends-on): Likewise.
72887         * modules/mbchar (Depends-on): Likewise.
72888         * modules/memcoll (Depends-on): Likewise.
72889         * modules/quotearg (Depends-on): Likewise.
72890         * modules/regex (Depends-on): Likewise.
72891         * modules/relocatable-prog (Depends-on): Likewise.
72892         * modules/same (Depends-on): Likewise.
72893         * modules/signbit (Depends-on): Likewise.
72894         * modules/strcasestr-simple (Depends-on): Likewise.
72895         * modules/unictype/gen-ctype (Depends-on): Likewise.
72896         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
72897         * modules/uniname/uniname (Depends-on): Likewise.
72898         * modules/unistr/u8-cmp (Depends-on): Likewise.
72900 2008-11-02  Bruno Haible  <bruno@clisp.org>
72902         Mark 'memchr' obsolete.
72903         * modules/memchr (Status, Notice): New sections.
72904         * modules/argp (Depends-on): Add memchr.
72905         * modules/base64 (Depends-on): Likewise.
72906         * modules/c-strcasestr (Depends-on): Likewise.
72907         * modules/chdir-long (Depends-on): Likewise.
72908         * modules/fnmatch (Depends-on): Likewise.
72909         * modules/getsubopt (Depends-on): Likewise.
72910         * modules/git-merge-changelog (Depends-on): Likewise.
72911         * modules/glob (Depends-on): Likewise.
72912         * modules/strcasestr-simple (Depends-on): Likewise.
72913         * modules/strnlen (Depends-on): Likewise.
72915 2008-11-02  Bruno Haible  <bruno@clisp.org>
72917         Mark 'atexit' obsolete.
72918         * modules/atexit (Status, Notice): New sections.
72919         * modules/chdir-long (Depends-on): Add atexit.
72920         * modules/wait-process (Depends-on): Likewise.
72922 2008-11-02  Bruno Haible  <bruno@clisp.org>
72924         * gnulib-tool: New option --with-obsolete.
72925         (func_usage): Document it.
72926         (func_modules_transitive_closure): Drop obsolete dependencies if
72927         incobsolete is not true.
72928         (func_import): Read and save the incobsolete variable to the cache.
72930 2008-11-02  Bruno Haible  <bruno@clisp.org>
72932         * modules/TEMPLATE-EXTENDED: New field 'Status'.
72933         * gnulib-tool: New option --extract-status.
72934         (func_usage): Document it.
72935         (sed_extract_prog): Recognize it.
72936         (func_get_status): New function.
72938 2008-10-30  Simon Josefsson  <simon@josefsson.org>
72940         * modules/sockets (License): Change from LGPL to LGPLv2+.
72942 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72944         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
72946 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72948         * MODULES.html.sh (Support for systems lacking POSIX:2001):
72949         Mention times and sys_times.
72950         * modules/sys_times, modules/sys_times-tests: New modules.
72951         * modules/times, modules/times-tests: Likewise
72952         * m4/sys_times_h.m4: New file.
72953         * lib/sys_times.in.h: Likewise
72954         * lib/times.c: Likewise.
72955         * tests/test-sys_times.c: Likewise.
72956         * tests/test-times.c: Likewise.
72957         * doc/posix-headers/sys_times.texi: Update.
72958         * doc/posix-functions/times.texi: Update.
72960 2008-10-28  Jim Meyering  <meyering@redhat.com>
72962         * modules/tempname (Depends-on): Add lstat.
72964         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
72966 2008-10-28  Simon Josefsson  <simon@josefsson.org>
72968         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
72969         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
72970         using idiom used elsewhere in gnulib.
72972 2008-10-27  Jim Meyering  <meyering@redhat.com>
72974         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
72976 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72978         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
72979         TESTS_ENVIRONMENT, for shell scripts that needs to call built
72980         programs.
72981         * tests/test-argp-2.sh: Use $EXEEXT when needed.
72983 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72985         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
72987 2008-10-27  Bruno Haible  <bruno@clisp.org>
72989         * tests/test-lstat.c: Include <stdio.h>.
72991 2008-10-27  Simon Josefsson  <simon@josefsson.org>
72993         * modules/lstat-tests: New module.
72994         * tests/test-lstat.c: New file.
72996 2008-10-26  Jim Meyering  <meyering@redhat.com>
72998         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
73000 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73001             Bruno Haible  <bruno@clisp.org>
73003         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
73004         * modules/configmake (Include): Add a note that the include must come
73005         after all system headers.
73006         * lib/javaversion.c: Include configmake.h after all other includes.
73008 2008-10-26  Bruno Haible  <bruno@clisp.org>
73010         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
73011         HAVE_STRUCT_RANDOM_DATA to 1.
73012         (gl_STDLIB_H): Simplify.
73014 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73016         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
73017         substitute HAVE_STRUCT_RANDOM_DATA.
73018         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
73019         random_data.
73020         * modules/stdlib (Makefile.am): Substitute
73021         HAVE_STRUCT_RANDOM_DATA.
73023 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73025         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
73026         * doc/gnulib-intro.texi (Copyright): Likewise.
73028 2008-10-26  Simon Josefsson  <simon@josefsson.org>
73030         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
73031         findings.
73033 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
73034             Bruno Haible  <bruno@clisp.org>
73036         * lib/unistd.in.h: Include <winsock2.h>.
73037         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
73038         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
73039         Provide dummy declarations.
73040         (gethostname): Override.
73041         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
73042         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
73043         gl_PREREQ_SYS_H_WINSOCK2.
73044         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
73045         * doc/posix-functions/gethostname.texi: More details.
73047 2008-10-25  Bruno Haible  <bruno@clisp.org>
73049         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73050         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
73051         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
73053         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
73054         here ...
73055         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
73056         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
73057         gl_UNISTD_H_DEFAULTS.
73059 2008-10-25  Eric Blake  <ebb9@byu.net>
73061         signbit: avoid spurious compiler failure
73062         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
73063         declarations inside function.
73065 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73066             Bruno Haible  <bruno@clisp.org>
73068         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
73069         * modules/random_r (Depends-on): Add stdint.
73071 2008-10-24  Bruno Haible  <bruno@clisp.org>
73073         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
73074         Eggert.
73075         * modules/strerror (License): Likewise.
73077 2008-10-24  Jim Meyering  <meyering@redhat.com>
73079         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
73080         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
73082 2008-10-24  Eric Blake  <ebb9@byu.net>
73084         getgroups: fix compilation when getgroups is available
73085         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
73086         but with <config.h> override of getgroups disabled.
73088 2008-10-24  Simon Josefsson  <simon@josefsson.org>
73090         * doc/gnulib.texi (Header files): Add note about C++ problems.
73091         Explained by Bruno Haible <bruno@clisp.org>.
73093 2008-10-23  Bruno Haible  <bruno@clisp.org>
73095         Define a dummy SA_NODEFER macro on Interix.
73096         * lib/signal.in.h (SA_NODEFER): Define fallback.
73097         Reported by Aleksey Cheusov <cheusov@tut.by> via
73098         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
73100 2008-10-23  Bruno Haible  <bruno@clisp.org>
73102         * modules/freadahead (License): Change to LGPLv2+.
73103         Suggested by Simon Josefsson.
73105 2008-10-23  Jim Meyering  <meyering@redhat.com>
73107         random_r: new module
73108         * modules/random_r: New file.
73109         * m4/random_r.m4: New file.
73110         * lib/random_r.c: New file, from glibc.
73111         * modules/random_r-tests: New file.
73112         * tests/test-random_r.c: New file.
73113         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
73114          Declare.
73115         (RAND_MAX): Define.
73116         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
73117         * modules/stdlib: Substitute them, too.
73118         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
73119         * doc/glibc-functions/initstate_r.texi: Mention the new module.
73120         * doc/glibc-functions/random_r.texi: Likewise.
73121         * doc/glibc-functions/setstate_r.texi: Likewise.
73122         * doc/glibc-functions/srandom_r.texi: Likewise.
73123         * config/srclist.txt: Mention it.
73125 2008-10-23  David Lutterkort  <lutter@redhat.com>
73127         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
73128         link requirement
73130 2008-10-23  Jim Meyering  <meyering@redhat.com>
73132         selinux-h: mark parameters of stub functions as intentionally unused
73133         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
73134         * lib/se-context.in.h: Likewise.
73136 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73138         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
73140 2008-10-22  Simon Josefsson  <simon@josefsson.org>
73142         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
73144 2008-10-22  Eric Blake  <ebb9@byu.net>
73146         glthread/thread: avoid compiler warning
73147         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
73148         Add unreachable abort to silence compiler.
73150 2008-10-22  Eric Blake  <ebb9@byu.net>
73152         netdb: also supply struct addrinfo for cygwin 1.5.x
73153         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
73154         older cygwin.
73155         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
73156         cygwin.
73157         * doc/posix-headers/netdb.texi (netdb.h): Document this.
73159 2008-10-22  Bruno Haible  <bruno@clisp.org>
73161         * users.txt: Update entry about pspp.
73163 2008-10-21  Bruno Haible  <bruno@clisp.org>
73165         Simplification.
73166         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
73167         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
73169         Simplification.
73170         * lib/ioctl.c (ioctl): Don't undefine.
73171         * lib/socket.c (socket): Don't undefine.
73173         Remove unused module indicator macros.
73174         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
73175         GNULIB_$1 as a C macro.
73177         * doc/posix-functions/close.texi: Undo last change.
73178         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
73179         Windows platforms.
73181 2008-10-21  Bruno Haible  <bruno@clisp.org>
73183         Add gethostname() declaration to <unistd.h>.
73184         * lib/unistd.in.h (gethostname): New declaration.
73185         * lib/gethostname.c: Include <unistd.h>.
73186         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
73187         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
73188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
73189         and HAVE_GETHOSTNAME.
73190         * modules/gethostname (Depends-on): Add unistd.
73191         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73192         (Include): Specify <unistd.h>.
73193         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
73194         HAVE_GETHOSTNAME.
73195         * tests/test-gethostname.c: Include <unistd.h> first.
73197 2008-10-21  Bruno Haible  <bruno@clisp.org>
73199         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
73200         * modules/select-tests (Depends-on): Likewise.
73201         Reported by Simon Josefsson.
73203 2008-10-21  Simon Josefsson  <simon@josefsson.org>
73205         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
73206         * lib/accept.c: New file, based on winsock.c.
73207         * lib/bind.c: New file, based on winsock.c.
73208         * lib/connect.c: New file, based on winsock.c.
73209         * lib/getpeername.c: New file, based on winsock.c.
73210         * lib/getsockname.c: New file, based on winsock.c.
73211         * lib/getsockopt.c: New file, based on winsock.c.
73212         * lib/ioctl.c: New file, based on winsock.c.
73213         * lib/listen.c: New file, based on winsock.c.
73214         * lib/recv.c: New file, based on winsock.c.
73215         * lib/recvfrom.c: New file, based on winsock.c.
73216         * lib/send.c: New file, based on winsock.c.
73217         * lib/sendto.c: New file, based on winsock.c.
73218         * lib/setsockopt.c: New file, based on winsock.c.
73219         * lib/shutdown.c: New file, based on winsock.c.
73220         * lib/socket.c: New file, based on winsock.c.
73221         * lib/w32sock.h: New file, based on winsock.c.
73222         * lib/winsock.c: Remove file.
73223         * modules/accept: Likewise.
73224         * modules/bind: Likewise.
73225         * modules/connect: Likewise.
73226         * modules/getpeername: Likewise.
73227         * modules/getsockname: Likewise.
73228         * modules/getsockopt: Likewise.
73229         * modules/ioctl: Likewise.
73230         * modules/listen: Likewise.
73231         * modules/recv: Likewise.
73232         * modules/recvfrom: Likewise.
73233         * modules/send: Likewise.
73234         * modules/sendto: Likewise.
73235         * modules/setsockopt: Likewise.
73236         * modules/shutdown: Likewise.
73237         * modules/socket: Use socket.c instead of winsock.c.
73238         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
73239         * doc/posix-functions/accept.texi: Doc fix.
73240         * doc/posix-functions/bind.texi: Doc fix.
73241         * doc/posix-functions/close.texi: Doc fix.
73242         * doc/posix-functions/connect.texi: Doc fix.
73243         * doc/posix-functions/getpeername.texi: Doc fix.
73244         * doc/posix-functions/getsockname.texi: Doc fix.
73245         * doc/posix-functions/getsockopt.texi: Doc fix.
73246         * doc/posix-functions/ioctl.texi: Doc fix.
73247         * doc/posix-functions/listen.texi: Doc fix.
73248         * doc/posix-functions/recv.texi: Doc fix.
73249         * doc/posix-functions/recvfrom.texi: Doc fix.
73250         * doc/posix-functions/send.texi: Doc fix.
73251         * doc/posix-functions/sendto.texi: Doc fix.
73252         * doc/posix-functions/setsockopt.texi: Doc fix.
73253         * doc/posix-functions/shutdown.texi: Doc fix.
73254         * doc/posix-functions/socket.texi: Doc fix.
73256 2008-10-20  Bruno Haible  <bruno@clisp.org>
73258         Take into account the role of SIGABRT_COMPAT on Windows 2008.
73259         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
73260         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
73261         as an alias for SIGABRT.
73262         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
73263         (sigaction): Map it to SIGABRT.
73264         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
73266 2008-10-20  Bruno Haible  <bruno@clisp.org>
73268         * lib/fts.c: Don't include lstat.h.
73269         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
73271         Move the lstat() declaration to <sys/stat.h>.
73272         * lib/lstat.h: Remove file.
73273         * lib/sys_stat.in.h: Add special invocation convention.
73274         (lstat): New declaration.
73275         * lib/lstat.c (orig_lstat): New function.
73276         (rpl_lstat): Use orig_lstat instead of lstat.
73277         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
73278         AC_C_INLINE. Set REPLACE_LSTAT.
73279         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
73280         and REPLACE_LSTAT.
73281         * modules/lstat (Files): Remove lib/lstat.h.
73282         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73283         (Include): Specify <sys/stat.h> instead of lstat.h.
73284         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
73285         REPLACE_LSTAT.
73286         * NEWS: Mention the change.
73288 2008-10-20  Bruno Haible  <bruno@clisp.org>
73290         * modules/posix_spawn-tests: New file.
73291         * tests/test-posix_spawn3.c: New file.
73293 2008-10-20  Bruno Haible  <bruno@clisp.org>
73295         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
73296         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73297         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
73298         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
73299         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
73301 2008-10-20  Bruno Haible  <bruno@clisp.org>
73303         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
73304         of posix_spawn on AIX 5.3.
73306 2008-10-20  Bruno Haible  <bruno@clisp.org>
73308         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
73310 2008-10-20  Bruno Haible  <bruno@clisp.org>
73312         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
73313         of AC_LANG_PROGRAM.
73315 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73317         * lib/netdb.in.h: Don't define GNU specific constants until they
73318         are supported or needed.  Reported by Bruno Haible
73319         <bruno@clisp.org>.
73321 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73323         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
73325 2008-10-20  Simon Josefsson  <simon@josefsson.org>
73327         * lib/getaddrinfo.h: Remove file.
73328         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
73329         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
73330         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
73331         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
73332         * modules/netdb: Substitute GNULIB_GETADDRINFO.
73333         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
73334         * tests/test-getaddrinfo.c: Likewise.
73335         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
73336         * NEWS: Mention change.
73338 2008-10-19  Bruno Haible  <bruno@clisp.org>
73340         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
73342 2008-10-19  Bruno Haible  <bruno@clisp.org>
73344         * lib/wait-process.c: Include simply <sys/wait.h>.
73345         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
73346         WIFSTOPPED): Remove fallback definitions.
73347         * modules/wait-process (Depends-on): Add sys_wait.
73349         New module 'sys_wait'.
73350         * modules/sys_wait: New file.
73351         * lib/sys_wait.in.h: New file, partially copied from
73352         lib/wait-process.c.
73353         * m4/sys_wait_h.m4: New file.
73354         * doc/posix-headers/sys_wait.texi: Mention the new module.
73356 2008-10-19  Bruno Haible  <bruno@clisp.org>
73358         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
73360 2008-10-19  Bruno Haible  <bruno@clisp.org>
73362         Assume that waitpid() fills an 'int' status, not a 'union wait'.
73363         * lib/wait-process.c (WAIT_T): Remove type.
73364         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
73365         (wait_subprocess): Update.
73367 2008-10-19  Bruno Haible  <bruno@clisp.org>
73369         New module 'atoll'.
73370         * modules/atoll: New file.
73371         * lib/stdlib.in.h (atoll): New declaration.
73372         * lib/atoll.c: New file, from glibc with modifications.
73373         * m4/atoll.m4: New file.
73374         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
73375         HAVE_ATOLL.
73376         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
73377         * doc/posix-functions/atoll.texi: Mention the new module.
73379 2008-10-19  Bruno Haible  <bruno@clisp.org>
73381         Add strtoull() declaration to <stdlib.h>.
73382         * lib/stdlib.in.h (strtoull): New declaration.
73383         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73384         Set HAVE_STRTOULL.
73385         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
73386         HAVE_STRTOULL.
73387         * modules/strtoull (Depends-on): Add stdlib.
73388         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73389         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
73390         HAVE_STRTOULL.
73392 2008-10-19  Bruno Haible  <bruno@clisp.org>
73394         Add strtoll() declaration to <stdlib.h>.
73395         * lib/stdlib.in.h (strtoll): New declaration.
73396         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
73397         Set HAVE_STRTOLL.
73398         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
73399         HAVE_STRTOLL.
73400         * modules/strtoll (Depends-on): Add stdlib.
73401         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73402         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
73404 2008-10-19  Bruno Haible  <bruno@clisp.org>
73406         * modules/bcopy (Depends-on): Add strings.
73407         (Include): Specify <strings.h>.
73409 2008-10-19  Bruno Haible  <bruno@clisp.org>
73411         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
73413 2008-10-19  Bruno Haible  <bruno@clisp.org>
73415         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
73416         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
73417         mingw.
73419 2008-10-19  Bruno Haible  <bruno@clisp.org>
73421         * lib/atanl.c: Don't include isnanl.h.
73422         * lib/cosl.c: Likewise.
73423         * lib/ldexpl.c: Likewise.
73424         * lib/logl.c: Likewise.
73425         * lib/sinl.c: Likewise.
73426         * lib/sqrtl.c: Likewise.
73427         * lib/tanl.c: Likewise.
73429         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
73430         * lib/isnanf.h: Remove file.
73431         * lib/isnand.h: Remove file.
73432         * lib/isnanl.h: Remove file.
73433         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
73434         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
73435         macros.
73436         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
73437         HAVE_ISNANF, don't define it as a C macro.
73438         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
73439         HAVE_ISNAND, don't define it as a C macro.
73440         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
73441         HAVE_ISNANL, don't define it as a C macro.
73442         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
73443         HAVE_ISNAN[FDL].
73444         * modules/isnanf (Files): Remove lib/isnanf.h.
73445         (Depends-on): Add math.
73446         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73447         (Include): Specify <math.h> instead of isnanf.h.
73448         * modules/isnand (Files): Remove lib/isnand.h.
73449         (Depends-on): Add math.
73450         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73451         (Include): Specify <math.h> instead of isnand.h.
73452         * modules/isnanl (Files): Remove lib/isnanl.h.
73453         (Depends-on): Add math.
73454         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
73455         (Include): Specify <math.h> instead of isnanl.h.
73456         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
73457         HAVE_ISNAN[FDL].
73458         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
73459         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
73460         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
73461         * NEWS: Mention the change.
73463 2008-10-18  Bruno Haible  <bruno@clisp.org>
73465         Add getusershell(), setusershell(), endusershell() declarations to
73466         <unistd.h>.
73467         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
73468         declarations.
73469         * lib/getusershell.c: Include unistd.h.
73470         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
73471         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73472         HAVE_GETUSERSHELL.
73473         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
73474         and HAVE_GETUSERSHELL.
73475         * modules/getusershell (Depends-on): Add unistd, extensions.
73476         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73477         (Include): Specify <unistd.h>.
73478         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
73479         HAVE_GETUSERSHELL.
73481 2008-10-18  Bruno Haible  <bruno@clisp.org>
73483         Add a getloadavg() declaration to <stdlib.h>.
73484         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
73485         getloadavg declaration.
73486         (getloadavg): New declaration.
73487         * lib/getloadavg.c: Include <stdlib.h> first.
73488         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
73489         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
73490         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
73491         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
73492         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73493         * modules/getloadavg (Depends-on): Add stdlib, extensions.
73494         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73495         (Include): Specify <stdlib.h>.
73496         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
73497         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
73499 2008-10-18  Bruno Haible  <bruno@clisp.org>
73501         * lib/dirchownmod.c: Don't include lchmod.h.
73503         Move the lchmod() declaration to <sys/stat.h>.
73504         * lib/lchmod.h: Remove file.
73505         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
73506         (lchmod): New declaration, moved here from lib/lchown.h.
73507         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
73508         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
73509         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
73510         and HAVE_LCHMOD.
73511         * modules/lchmod (Files): Remove lib/lchmod.h.
73512         (Depends-on): Add sys_stat, extensions.
73513         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
73514         (Include): Specify <sys/stat.h> instead of lchmod.h.
73515         * modules/sys_stat (Depends-on): Add link-warning.
73516         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
73517         definition of GL_LINK_WARNING.
73518         * NEWS: Mention the change.
73520 2008-10-18  Bruno Haible  <bruno@clisp.org>
73522         * lib/fchdir.c: Don't include dirfd.h.
73523         * lib/fts.c: Likewise.
73524         * lib/getcwd.c: Likewise.
73525         * lib/glob.c: Likewise.
73527         Move the dirfd() declaration to <dirent.h>.
73528         * lib/dirfd.h: Remove file.
73529         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
73530         (dirfd): New declaration.
73531         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
73532         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
73533         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
73534         HAVE_DECL_DIRFD.
73535         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
73536         HAVE_DECL_DIRFD.
73537         * modules/dirfd (Files): Remove lib/dirfd.h.
73538         (Depends-on): Add dirent, extensions.
73539         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
73540         (Include): Specify <dirent.h> instead of dirfd.h.
73541         * modules/dirent (Depends-on): Add link-warning.
73542         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
73543         definition of GL_LINK_WARNING.
73544         * NEWS: Mention the change.
73546 2008-10-18  Bruno Haible  <bruno@clisp.org>
73548         Move the euidaccess() declaration to <unistd.h>.
73549         * lib/euidaccess.h: Remove file.
73550         * lib/unistd.in.h (euidaccess): New declaration.
73551         * lib/euidaccess.c: Don't include euidaccess.h.
73552         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
73553         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
73554         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
73555         and HAVE_EUIDACCESS.
73556         * modules/euidaccess (Files): Remove lib/euidaccess.h.
73557         (Depends-on): Add unistd.
73558         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73559         (Include): Specify <unistd.h> instead of euidaccess.h.
73560         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
73561         HAVE_EUIDACCESS.
73562         * NEWS: Mention the change.
73564 2008-10-18  Bruno Haible  <bruno@clisp.org>
73566         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
73568         Move the getdomainname() declaration to <unistd.h>.
73569         * lib/getdomainname.h: Remove file.
73570         * lib/unistd.in.h (getdomainname): New declaration.
73571         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
73572         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
73573         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
73574         HAVE_GETDOMAINNAME.
73575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73576         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
73577         * modules/getdomainname (Files): Remove lib/getdomainname.h.
73578         (Depends-on): Add unistd, extensions.
73579         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73580         (Includes): Specify <unistd.h> instead of getdomainname.h.
73581         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
73582         HAVE_GETDOMAINNAME.
73583         * NEWS: Mention the change.
73585 2008-10-18  Bruno Haible  <bruno@clisp.org>
73587         * modules/dirent: New file.
73588         * m4/dirent_h.m4: New file.
73589         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
73590         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
73591         * modules/fchdir (Files): Remove lib/dirent.in.h.
73592         (Depends-on): Add dirent.
73593         (Makefile.am): Move rules to modules/dirent.
73594         * doc/posix-headers/dirent.texi: Mention the new module.
73596 2008-10-18  Bruno Haible  <bruno@clisp.org>
73598         Avoid -Wunused-parameter warnings in public gnulib header files.
73599         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
73600         macro.
73601         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
73603 2008-10-18  Bruno Haible  <bruno@clisp.org>
73605         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
73606         * doc/glibc-functions/error.texi: Mention the module 'error'.
73607         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
73608         * doc/glibc-functions/getdomainname.texi: Mention the module
73609         'getdomainname'.
73610         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
73611         * doc/glibc-functions/getpagesize.texi: Mention the module
73612         'getpagesize'.
73613         * doc/glibc-functions/getusershell.texi: Mention the module
73614         'getusershell'.
73615         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
73616         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
73617         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
73618         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
73619         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
73620         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
73621         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
73622         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
73623         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
73624         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
73625         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
73626         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
73627         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
73628         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
73630 2008-10-17  Bruno Haible  <bruno@clisp.org>
73632         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
73633         HP-UX and IRIX, use -0.0L.
73634         * tests/test-ceill.c (minus_zero): Likewise.
73635         * tests/test-floorl.c (minus_zero): Likewise.
73636         * tests/test-frexpl.c (minus_zero): Likewise.
73637         * tests/test-isnan.c (minus_zerol): Likewise.
73638         * tests/test-isnanl.h (minus_zero): Likewise.
73639         * tests/test-ldexpl.c (minus_zero): Likewise.
73640         * tests/test-roundl.c (minus_zero): Likewise.
73641         * tests/test-signbit.c (minus_zerol): Likewise.
73642         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
73643         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
73644         * tests/test-truncl.c (minus_zero): Likewise.
73645         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
73646         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
73647         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
73648         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
73650 2008-10-17  Bruno Haible  <bruno@clisp.org>
73652         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
73653         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
73654         that it gets activated only for gcc >= 3.0.
73655         * lib/dirent.in.h: Likewise.
73656         * lib/errno.in.h: Likewise.
73657         * lib/fcntl.in.h: Likewise.
73658         * lib/float.in.h: Likewise.
73659         * lib/iconv.in.h: Likewise.
73660         * lib/inttypes.in.h: Likewise.
73661         * lib/locale.in.h: Likewise.
73662         * lib/math.in.h: Likewise.
73663         * lib/netdb.in.h: Likewise.
73664         * lib/netinet_in.in.h: Likewise.
73665         * lib/search.in.h: Likewise.
73666         * lib/signal.in.h: Likewise.
73667         * lib/spawn.in.h: Likewise.
73668         * lib/stdarg.in.h: Likewise.
73669         * lib/stdint.in.h: Likewise.
73670         * lib/stdio.in.h: Likewise.
73671         * lib/stdlib.in.h: Likewise.
73672         * lib/string.in.h: Likewise.
73673         * lib/strings.in.h: Likewise.
73674         * lib/sys_file.in.h: Likewise.
73675         * lib/sys_ioctl.in.h: Likewise.
73676         * lib/sys_select.in.h: Likewise.
73677         * lib/sys_socket.in.h: Likewise.
73678         * lib/sys_stat.in.h: Likewise.
73679         * lib/sys_time.in.h: Likewise.
73680         * lib/sysexits.in.h: Likewise.
73681         * lib/time.in.h: Likewise.
73682         * lib/unistd.in.h: Likewise.
73683         * lib/wchar.in.h: Likewise.
73684         * lib/wctype.in.h: Likewise.
73685         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
73687 2008-10-17  Jim Meyering  <meyering@redhat.com>
73689         ignore-value: don't depend on inline module
73690         * modules/ignore-value (Depends-on): Remove 'inline'.
73691         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
73692         Suggestion from Bruno Haible.
73694 2008-10-17  Bruno Haible  <bruno@clisp.org>
73696         New implementation of condition variables for Win32.
73697         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
73698         (gl_linked_waitqueue_t): New type.
73699         (gl_cond_t): Use it.
73700         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
73701         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
73702         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
73703         (glthread_cond_init_func, glthread_cond_wait_func,
73704         glthread_cond_timedwait_func, glthread_cond_signal_func,
73705         glthread_cond_broadcast_func, glthread_cond_destroy_func):
73706         Reimplemented on the basis of gl_linked_waitqueue_t.
73707         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
73708         gl_waitqueue_t.
73709         (gl_rwlock_t): Update.
73710         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
73712 2008-10-17  Simon Josefsson  <simon@josefsson.org>
73714         * modules/recvfrom (Depends-on): Add dependency on getpeername.
73715         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73717 2008-10-17  Jim Meyering  <meyering@redhat.com>
73719         ignore-value: new module
73720         * modules/ignore-value: New file.
73721         * lib/ignore-value.h: New file.
73722         * MODULES.html.sh (Compiler warning management): New section,
73723         just for this module.  More to come.
73725 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
73727         open-safer.c: avoid 'signed and unsigned in conditional...' warning
73728         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
73729         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
73731 2008-10-16  Jim Meyering  <meyering@redhat.com>
73733         openat-die.c: avoid 'no previous prototype' warning
73734         * lib/openat-die.c: Include "openat.h".
73735         Reported by Reuben Thomas <rrt@sc3d.org>.
73737 2008-10-16  Simon Josefsson  <simon@josefsson.org>
73739         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
73740         * lib/netdb.in.h: Fix typo.
73741         Reported by Bruno Haible  <bruno@clisp.org>
73743         * lib/netdb.in.h: Include sys/socket.h for platforms without
73744         netdb.h, to get structures like hostent on MinGW.
73745         * modules/netdb (Depends-on): Add sys_socket.
73747 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73749         * modules/netdb, modules/netdb-tests: New file.
73750         * m4/netdb_h.m4: New file.
73751         * lib/netdb.in.h: Add, currently just an empty file pending
73752         definitions.
73753         * tests/test-netdb.c: New file.
73754         * doc/posix-headers/netdb.texi: Mention that we replace it if
73755         needed.
73756         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73757         netdb.
73759 2008-10-15  Simon Josefsson  <simon@josefsson.org>
73761         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
73762         with code.
73764 2008-10-13  Bruno Haible  <bruno@clisp.org>
73766         * lib/glthread/cond.c (glthread_cond_wait_func,
73767         glthread_cond_timedwait_func): Add a comment.
73769 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73771         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
73772         * tests/test-select.c: Likewise,
73774 2008-10-13  Bruno Haible  <bruno@clisp.org>
73776         * lib/glthread/cond.c (glthread_cond_wait_func,
73777         glthread_cond_timedwait_func): Fix variable name.
73778         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
73780 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
73782         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
73783         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
73784         struct sockaddr.sa_len.
73785         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
73787 2008-10-13  Simon Josefsson  <simon@josefsson.org>
73789         * build-aux/pmccabe2html: Add css and css_url parameters.
73791 2008-10-12  Bruno Haible  <bruno@clisp.org>
73793         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
73794         calling aclx_get.
73795         Reported by Rainer Tammer <tammer@tammer.net>.
73797 2008-10-12  Bruno Haible  <bruno@clisp.org>
73799         Use msvcrt aware primitives for creation/termination of Win32 threads.
73800         * lib/glthread/thread.c: Include <process.h>.
73801         (glthread_create_func): Use _beginthreadex instead of CreateThread.
73802         (wrapper_func): Update signature.
73803         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
73805 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73806             Bruno Haible  <bruno@clisp.org>
73808         Provide a Win32 implementation of the 'cond' module.
73809         * lib/glthread/cond.h [USE_WIN32]: New implementation.
73810         * lib/glthread/cond.c (glthread_cond_init_func,
73811         glthread_cond_wait_func, glthread_cond_timedwait_func,
73812         glthread_cond_signal_func, glthread_cond_broadcast_func,
73813         glthread_cond_destroy_func) [USE_WIN32]: New functions.
73814         * modules/cond (Dependencies): Add gettimeofday.
73816 2008-10-11  Bruno Haible  <bruno@clisp.org>
73818         Make sleep work on older versions of mingw.
73819         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
73820         only whether it exists.
73821         * doc/posix-functions/sleep.texi: Mention the problem with older
73822         versions of mingw.
73824 2008-10-11  Bruno Haible  <bruno@clisp.org>
73826         New module 'shutdown'.
73827         * modules/shutdown: New file.
73828         * lib/sys_socket.in.h (shutdown): New declaration.
73829         * lib/winsock.c (shutdown): New function.
73830         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
73831         GNULIB_SHUTDOWN.
73832         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
73833         * doc/posix-functions/shutdown.texi: Document the new module.
73835 2008-10-11  Jim Meyering  <meyering@redhat.com>
73837         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
73839 2008-10-11  Bruno Haible  <bruno@clisp.org>
73841         New module 'fclose'.
73842         * modules/fclose: New file.
73843         * lib/stdio.in.h (fclose): New declaration.
73844         * lib/fclose.c: New file.
73845         * m4/fclose.m4: New file.
73846         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
73847         REPLACE_FCLOSE.
73848         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
73849         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
73850         REPLACE_FCLOSE.
73851         * modules/close (Depends-on): fclose.
73852         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
73854 2008-10-11  Bruno Haible  <bruno@clisp.org>
73856         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
73857         set errno and don't call _close.
73859 2008-10-10  Bruno Haible  <bruno@clisp.org>
73861         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
73862         ACL, not afterwards. Fixes test failure on Cygwin.
73864 2008-10-09  Ben Pfaff  <blp@gnu.org>
73866         * build-aux/announce-gen: Fix gnulib version related part of usage
73867         message.  Die with a useful error message if no tarballs are
73868         found.
73870 2008-10-10  Jim Meyering  <meyering@redhat.com>
73872         bootstrap: use git's --depth=N option only if it's supported
73873         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
73874         recognize the --depth option.  Reported by Pádraig Brady.
73876 2008-10-09  Bruno Haible  <bruno@clisp.org>
73878         New module 'ioctl'.
73879         * modules/ioctl: New file.
73880         * lib/sys_socket.in.h (ioctl): Remove declaration.
73881         * lib/winsock.c: Include <sys/ioctl.h>.
73882         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
73883         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
73884         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
73885         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
73886         * doc/posix-functions/ioctl.texi: Mention the new module.
73888 2008-10-09  Bruno Haible  <bruno@clisp.org>
73890         New module 'sys_ioctl'.
73891         * lib/sys_ioctl.in.h: New file.
73892         * m4/sys_ioctl_h.m4: New file.
73893         * modules/sys_ioctl: New file.
73894         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
73896 2008-10-09  Bruno Haible  <bruno@clisp.org>
73898         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
73899         * lib/winsock.c: Include <stdarg.h>.
73900         (rpl_ioctl): Change to second argument 'int' and then varargs.
73902 2008-10-09  Bruno Haible  <bruno@clisp.org>
73904         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
73905         when the sys_socket module is present and the system has <winsock2.h>.
73907 2008-10-09  Bruno Haible  <bruno@clisp.org>
73909         * doc/posix-functions/close.texi: Mention module 'close' instead of
73910         module 'sys_socket'.
73912 2008-10-09  Bruno Haible  <bruno@clisp.org>
73914         * doc/glibc-headers/sys_ioctl.texi: New file.
73915         * doc/gnulib.texi: Include it.
73917 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73918             Bruno Haible  <bruno@clisp.org>
73920         Combine the two replacements of 'close'.
73921         * lib/sys_socket.in.h (close): Define to a reminder to include
73922         <unistd.h>.
73923         (_gl_close_fd_maybe_socket): New declaration.
73924         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
73925         * lib/winsock.c (close): Remove undefinition.
73926         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
73927         needed for the gnulib module 'close'.
73928         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
73929         define to an error symbol or to a warning, if suitable.
73930         * lib/close.c: Include <sys/socket.h>.
73931         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
73932         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
73933         UNISTD_H_HAVE_WINSOCK2_H.
73934         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
73935         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
73936         UNISTD_H_HAVE_WINSOCK2_H.
73937         * modules/sys_socket (Files): Add m4/unistd_h.m4.
73938         (configure.ac): Set a module indicator.
73939         (Makefile.am): Substitute GNULIB_CLOSE.
73940         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
73941         * modules/poll-tests (Depends-on): Add close.
73942         * modules/select-tests (Depends-on): Likewise.
73944 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73945             Bruno Haible  <bruno@clisp.org>
73947         New module 'close'.
73948         * modules/close: New file.
73949         * lib/unistd.in.h (close): Move declaration out of the
73950         FCHDIR_REPLACEMENT scope.
73951         (_gl_unregister_fd): New declaration.
73952         * lib/close.c: New file.
73953         * lib/fchdir.c (rpl_close): Remove function.
73954         * m4/close.m4: New file.
73955         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73956         close.
73957         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
73958         REPLACE_CLOSE.
73959         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
73960         REPLACE_CLOSE.
73961         * modules/fchdir (Depends-on): Add close.
73963 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73964             Bruno Haible  <bruno@clisp.org>
73966         * lib/fcntl.in.h (open): Simplify conditionals.
73967         (_gl_register_fd): New declaration.
73968         * lib/fchdir.c (rpl_open): Remove function.
73969         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
73970         also.
73971         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
73972         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
73973         open.
73975 2008-10-09  Jim Meyering  <meyering@redhat.com>
73977         GNUmakefile: use the more name-space-friendly "_version"
73978         * top/GNUmakefile (_dummy): Update.
73979         (_version): Rename from "version".
73981 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73982             Bruno Haible  <bruno@clisp.org>
73984         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
73985         rpl_close.
73986         (_gl_register_fd): New function, extracted from rpl_open.
73987         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
73988         (rpl_open, rpl_opendir): Use _gl_register_fd.
73990 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
73992         Fix organization of 'open' replacement.
73993         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
73994         (gl_FUNC_OPEN): Use it.
73995         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
73997 2008-10-08  Bruno Haible  <bruno@clisp.org>
73999         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
74001 2008-10-08  Simon Josefsson  <simon@josefsson.org>
74003         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
74004         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
74005         listen).
74007 2008-10-08  Eric Blake  <ebb9@byu.net>
74009         GNUmakefile: add 'make version' target
74010         * top/GNUmakefile (_curr-ver): Split version update rules...
74011         (version): ...into a target.
74013 2008-10-07  Bruno Haible  <bruno@clisp.org>
74015         Use a more portable replacement expression for -0.0L.
74016         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
74017         instead of -0.0L. Fix m4 quotation.
74019         * tests/test-signbit.c: Include <float.h>.
74020         (minus_zero): New variable.
74021         (test_signbitl): Use minus_zero instead of -zero.
74022         * modules/signbit-tests (Depends-on): Add float.
74024         * tests/test-ceill.c: Include <float.h>.
74025         (zero): Remove variable.
74026         (minus_zero): New variable.
74027         (main): Use minus_zero instead of -zero.
74028         * modules/ceill-tests (Depends-on): Add float.
74030         * tests/test-floorl.c: Include <float.h>.
74031         (zero): Remove variable.
74032         (minus_zero): New variable.
74033         (main): Use minus_zero instead of -zero.
74034         * modules/floorl-tests (Depends-on): Add float.
74036         * tests/test-roundl.c: Include <float.h>.
74037         (zero): Remove variable.
74038         (minus_zero): New variable.
74039         (main): Use minus_zero instead of -zero.
74040         * modules/roundl-tests (Depends-on): Add float.
74042         * tests/test-truncl.c: Include <float.h>.
74043         (zero): Remove variable.
74044         (minus_zero): New variable.
74045         (main): Use minus_zero instead of -zero.
74046         * modules/truncl-tests (Depends-on): Add float.
74048         * tests/test-frexpl.c (zero): Remove variable.
74049         (minus_zero): New variable.
74050         (main): Use minus_zero instead of -zero.
74051         * modules/frexpl-tests (Depends-on): Add float.
74053         * tests/test-isnan.c (zerol): Remove variable.
74054         (minus_zerol): New variable.
74055         (test_long_double): Use minus_zerol instead of -zerol.
74056         * modules/isnan-tests (Depends-on): Add float.
74058         * tests/test-isnanl.h (zero): Remove variable.
74059         (minus_zero): New variable.
74060         (main): Use minus_zero instead of -zero.
74061         * modules/isnanl-nolibm-tests (Depends-on): Add float.
74062         * modules/isnanl-tests (Depends-on): Add float.
74064         * tests/test-ldexpl.c (zero): Remove variable.
74065         (minus_zero): New variable.
74066         (main): Use minus_zero instead of -zero.
74067         * modules/ldexpl-tests (Depends-on): Add float.
74069         * tests/test-snprintf-posix.h (zerol): Remove variable.
74070         (minus_zerol): New variable.
74071         (test_function): Use minus_zerol instead of -zerol.
74072         * modules/snprintf-posix-tests (Depends-on): Add float.
74073         * modules/vsnprintf-posix-tests (Depends-on): Add float.
74075         * tests/test-sprintf-posix.h (zerol): Remove variable.
74076         (minus_zerol): New variable.
74077         (test_function): Use minus_zerol instead of -zerol.
74078         * modules/sprintf-posix-tests (Depends-on): Add float.
74079         * modules/vsprintf-posix-tests (Depends-on): Add float.
74081         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
74082         (minus_zerol): New variable.
74083         (test_function): Use minus_zerol instead of -zerol.
74084         * modules/vasnprintf-posix-tests (Depends-on): Add float.
74086         * tests/test-vasprintf-posix.c (zerol): Remove variable.
74087         (minus_zerol): New variable.
74088         (test_function): Use minus_zerol instead of -zerol.
74089         * modules/vasprintf-posix-tests (Depends-on): Add float.
74091 2008-10-07  Simon Josefsson  <simon@josefsson.org>
74093         * MODULES.html.sh (Support for building documentation): Mention
74094         pmccabe2html.  Sort entries.
74096         Add pmccabe2html module, from gnupdf.
74097         * build-aux/pmccabe.css: New file.
74098         * build-aux/pmccabe2html: New file.
74099         * m4/pmccabe2html.m4: New file.
74100         * modules/pmccabe2html: New file.
74102 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
74104         flock: new module
74105         * MODULES.html.sh: Add to list of modules.
74106         * lib/flock.c: flock implementation for Windows and Unix systems
74107         which have fcntl.
74108         * doc/glibc-functions/flock.texi: Update documentation.
74109         * lib/sys_file.in.h: <sys/file.h> header file.
74110         * m4/flock.m4: M4 macros.
74111         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
74112         * modules/flock: flock module.
74113         * modules/flock-tests: flock tests module.
74114         * modules/sys_file: sys/file.h module.
74115         * tests/test-flock.c: test suite for flock.
74117 2008-10-06  Jim Meyering  <meyering@redhat.com>
74119         bootstrap: check for LT_INIT more portably still ;-)
74120         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
74121         Spotted by Bruno Haible.
74123 2008-10-06  Eric Blake  <ebb9@byu.net>
74125         test-signbit: avoid tripping Irix cc bug on -0.0L
74126         * tests/test-signbit.c (minus_zerol): Delete, and replace with
74127         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
74128         entire testsuite consistent and avoids an Irix 6.2 bug.
74130 2008-10-05  Bruno Haible  <bruno@clisp.org>
74131             Jim Meyering  <jim@meyering.net>
74133         Add an option for ignoring EPIPE during close_stdout.
74134         * lib/closeout.h: Include <stdbool.h>.
74135         (close_stdout_set_ignore_EPIPE): New declaration.
74136         * lib/closeout.c: Include <stdbool.h>.
74137         (ignore_EPIPE): New variable.
74138         (close_stdout_set_ignore_EPIPE): New function.
74139         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
74140         * lib/close-stream.c (close_stream): Mention the possible EPIPE
74141         failure.
74142         * modules/closeout (Depends-on): Add stdbool.
74144 2008-10-05  Bruno Haible  <bruno@clisp.org>
74146         * modules/accept: New file.
74147         * modules/bind: New file.
74148         * modules/connect: New file.
74149         * modules/getpeername: New file.
74150         * modules/getsockname: New file.
74151         * modules/getsockopt: New file.
74152         * modules/listen: New file.
74153         * modules/recv: New file.
74154         * modules/recvfrom: New file.
74155         * modules/send: New file.
74156         * modules/sendto: New file.
74157         * modules/setsockopt: New file.
74158         * modules/socket: New file.
74159         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
74160         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
74161         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
74162         the particular module is requested. Add a link warning when the
74163         particular module is not requested.
74164         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
74165         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
74166         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
74167         the particular module is requested.
74168         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
74169         gl_SYS_SOCKET_H_DEFAULTS): New macros.
74170         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
74171         * modules/sys_socket (Depends-on): Add link-warning.
74172         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
74173         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
74174         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
74175         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
74176         GL_LINK_WARNING.
74177         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
74178         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
74179         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
74180         * doc/posix-functions/getpeername.texi: Mention the new module
74181         'getpeername'.
74182         * doc/posix-functions/getsockname.texi: Mention the new module
74183         'getsockname'.
74184         * doc/posix-functions/getsockopt.texi: Mention the new module
74185         'getsockopt'.
74186         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
74187         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
74188         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
74189         * doc/posix-functions/send.texi: Mention the new module 'send'.
74190         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
74191         * doc/posix-functions/setsockopt.texi: Mention the new module
74192         'setsockopt'.
74193         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
74194         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
74195         listen, connect, accept.
74196         * modules/select-tests (Depends-on): Likewise.
74198 2008-10-05  Bruno Haible  <bruno@clisp.org>
74200         * lib/winsock.c (strerror): Remove unused #undef.
74201         (rpl_close): Remove unused local variable.
74203         * modules/sys_socket (Depends-on); Add errno.
74205 2008-10-05  Bruno Haible  <bruno@clisp.org>
74207         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
74208         (select): Add a link warning when the 'select' module is not used.
74209         * modules/sys_select (Depends-on): Add link-warning.
74210         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
74211         Suggested by Paolo Bonzini.
74213 2008-10-05  Jim Meyering  <meyering@redhat.com>
74215         bootstrap: check for LT_INIT more portably
74216         * build-aux/bootstrap: Avoid using grep -E, since it's not
74217         portable enough.  Suggestion from Bruno Haible.
74219 2008-10-05  Bruno Haible  <bruno@clisp.org>
74221         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
74222         as being fixed by gnulib.
74224 2008-10-05  Bruno Haible  <bruno@clisp.org>
74226         * modules/select-tests: New file, mostly copied from
74227         modules/sys_select-tests.
74228         * tests/test-select.c: New file, mostly copied from
74229         tests/test-sys_select.c.
74230         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
74231         * modules/sys_select-tests (Depends-on): Remove all dependencies.
74232         (Makefile.am): Remove test_sys_select_LDADD.
74234         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
74235         to an undefined symbol, for an error message.
74236         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
74237         (gl_SYS_SELECT_H_DEFAULTS): New macro.
74238         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
74239         winsock-select.c here.
74240         * modules/sys_select (Files): Remove lib/winsock-select.c.
74241         (Depends-on): Remove alloca.
74242         (Makefile.am): Substitute GNULIB_SELECT.
74243         * modules/select: New file.
74244         * doc/posix-functions/select.texi: Update.
74246 2008-10-05  Bruno Haible  <bruno@clisp.org>
74248         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
74249         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
74250         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
74251         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
74252         getdtablesize.
74253         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
74254         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
74256 2008-10-05  Bruno Haible  <bruno@clisp.org>
74258         * modules/getdtablesize-tests: New file.
74259         * tests/test-getdtablesize.c: New file.
74261         New module 'getdtablesize'.
74262         * lib/unistd.in.h (getdtablesize): New declaration.
74263         * lib/getdtablesize.c: New file.
74264         * m4/getdtablesize.m4: New file.
74265         * modules/getdtablesize: New file.
74266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74267         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
74268         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
74269         HAVE_GETDTABLESIZE.
74270         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
74272 2008-10-05  Bruno Haible  <bruno@clisp.org>
74274         * modules/sched (Makefile.am): Fix typo.
74275         Reported by Simon Josefsson.
74277 2008-10-05  Jim Meyering  <meyering@redhat.com>
74279         bootstrap: check for LT_INIT, too
74280         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
74281         are deprecated.  Suggestion from Ralf Wildenhues.
74283 2008-10-05  Bruno Haible  <bruno@clisp.org>
74285         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
74286         overriding them by ours.
74287         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
74289 2008-10-05  Jim Meyering  <meyering@redhat.com>
74291         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
74292         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
74293         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
74295 2008-10-04  Bruno Haible  <bruno@clisp.org>
74297         * modules/dup2 (License): Change to LGPLv2+.
74298         * modules/sleep (License): Likewise.
74299         * modules/perror (License): Likewise.
74300         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
74301         Blake.
74302         * modules/signal (License): Likewise.
74303         * modules/sigprocmask (License): Likewise.
74304         * modules/raise (License): Change to LGPLv2+, with approval by Jim
74305         Meyering.
74307 2008-10-04  Bruno Haible  <bruno@clisp.org>
74309         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
74310         Reported by Rainer Tammer <tammer@tammer.net>.
74312 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
74313             Bruno Haible  <bruno@clisp.org>
74315         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
74316         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
74317         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
74319 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
74321         filevercmp: new module
74322         * lib/filevercmp.h: New function filevercmp comparing version strings.
74323         * lib/filevercmp.c: Implementation of filevercmp function.
74324         * modules/filevercmp: Module metadata.
74325         * tests/test-filevercmp.c: Unit test for new module.
74326         * modules/filevercmp-tests: Unit test metadata.
74327         * MODULES.html.sh: Add filevercmp module.
74329 2008-10-03  Bruno Haible  <bruno@clisp.org>
74331         * lib/c-ctype.h: Add comment.
74332         Reported by Jim Meyering.
74334 2008-10-02  Bruno Haible  <bruno@clisp.org>
74336         * modules/posix_spawn-internal (Depends-on): Add 'open'.
74338 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74340         * build-aux/bootstrap: Allow renaming bootstrap, and change the
74341         name of bootstrap.conf accordingly.
74343 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74345         * build-aux/bootstrap: Install git-merge-changelog configuration
74346         items into .gitconfig if needed.
74348 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
74350         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
74351         git repository, and initialize/update it accordingly.
74353 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
74355         * modules/fsync-tests: New file.
74356         * tests/test-fsync.c: New file.
74358         New module 'fsync'.
74359         * lib/fsync.c: New file.
74360         * m4/fsync.m4: New file.
74361         * modules/fsync: New file.
74362         * lib/unistd.in.h (fsync): New declaration.
74363         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
74364         GNULIB_FSYNC and HAVE_FSYNC.
74365         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
74366         * MODULES.html.sh (posix_functions): Add fsync.
74367         * doc/posix-functions/fsync.texi: Mention the new module.
74369 2008-10-02  Jim Meyering  <meyering@redhat.com>
74371         fts.c: sync with similar code from coreutils' remove.c
74372         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
74373         Guard also with "#if defined __linux__", since for now at least,
74374         this code is Linux-kernel-specific.
74376 2008-10-02  Jim Meyering  <meyering@redhat.com>
74378         fts: bug fixes
74379         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
74380         Include <sys/vfs.h>, not <sys/statfs.h>.
74382         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
74383         Include <sys/vfs.h>, not <sys/statfs.h>.
74385 2008-10-01  Bruno Haible  <bruno@clisp.org>
74387         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
74388         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
74389         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
74390         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
74391         * doc/posix-functions/posix_spawnp.texi: Likewise.
74392         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
74393         whether posix_spawn actually works.
74394         * m4/pipe.m4 (gl_PIPE): Likewise.
74395         * modules/execute (Files): Add m4/posix_spawn.m4.
74396         * modules/pipe (Files): Add m4/posix_spawn.m4.
74397         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
74399 2008-10-01  Jim Meyering  <meyering@redhat.com>
74401         remove trailing spaces
74402         * NEWS: Likewise.
74403         * lib/poll.c (poll): Likewise.
74404         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
74405         * lib/winsock.c (rpl_close): Likewise.
74406         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
74407         * modules/yield: Likewise.
74408         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
74409         * tests/test-sys_select.c (connect_to_socket): Likewise.
74411         fts.c: adjust a new interface to be more generally useful
74412         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
74413         (fts_build): Adjust caller.
74415 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74417         * modules/cond-tests: New file.
74418         * tests/test-cond.c: New file.
74420 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74421             Bruno Haible  <bruno@clisp.org>
74423         * modules/cond (Dependencies): Add errno, time.
74424         * lib/glthread/cond.h: Include <time.h>.
74425         (gl_cond_define, gl_cond_define_initialized): Use the same definition
74426         across platforms.
74428 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74429             Bruno Haible  <bruno@clisp.org>
74431         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
74433 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74434             Bruno Haible  <bruno@clisp.org>
74436         * modules/tls-tests (Depends-on): Add thread, yield.
74437         (configure.ac): Remove all checks.
74438         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
74439         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74440         gl_thread_self): Remove definitions. Include glthread/thread.h and
74441         glthread/yield.h instead.
74442         (test_tls): Pass an additional NULL argument to gl_thread_join.
74444 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74445             Bruno Haible  <bruno@clisp.org>
74447         * modules/lock-tests (Depends-on): Add thread, yield.
74448         (configure.ac): Remove all checks.
74449         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
74450         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
74451         gl_thread_self): Remove definitions. Include glthread/thread.h and
74452         glthread/yield.h instead.
74453         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
74454         additional NULL argument to gl_thread_join.
74456 2008-09-30  Bruno Haible  <bruno@clisp.org>
74458         Fix the Win32 implementation of the 'thread' module.
74459         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
74460         pointer type.
74461         (gl_thread_self): Invoke gl_thread_self_func.
74462         (gl_thread_self_func): New declaration.
74463         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
74464         (do_init_self_key, init_self_key): New functions.
74465         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
74466         Remove some fields.
74467         (running_threads, running_lock): Remove variables.
74468         (get_current_thread_handle): New function.
74469         (gl_thread_self_func, wrapper_func, glthread_create_func,
74470         glthread_join_func, gl_thread_exit_func): Largely rewritten and
74471         simplified.
74473 2008-09-30  Bruno Haible  <bruno@clisp.org>
74475         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
74476         files.
74478 2008-09-30  Jim Meyering  <meyering@redhat.com>
74480         fts.m4: correct the test for statfs.f_type
74481         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
74482         when checking for statfs.f_type.
74484 2008-09-15  Simon Josefsson  <simon@josefsson.org>
74486         tests: avoid some compiler warnings
74487         * tests/test-memchr.c (main): Pass NULL indirectly.
74488         * tests/test-getdate.c (main): Remove unused variable 'ret'.
74490 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
74492         getdate.y: disallow countable dayshifts like "4 yesterday ago"
74493         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
74494         exactly specified dayshifts.
74495         (dayshift): New rule.
74496         (rel): Add dayshift.
74497         (relative_time_table) [tomorrow, yesterday, today, now]:
74498         Use tDAY_SHIFT in place of tDAY_UNIT.
74499         * tests/test-getdate.c: Add tests for now-disallowed countable
74500         dayshifts, e.g., "4 yesterday ago".
74502 2008-09-29  Bruno Haible  <bruno@clisp.org>
74504         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
74505         * tests/test-posix_spawn1.in.sh: Renamed from
74506         tests/test-posix_spawn.in.sh.
74507         * tests/test-posix_spawn2.c: New file.
74508         * tests/test-posix_spawn2.in.sh: New file.
74509         * modules/posix_spawnp-tests (Files): Update.
74510         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
74512 2008-09-29  Bruno Haible  <bruno@clisp.org>
74514         Propagate effects of putenv/setenv/unsetenv to child processes.
74515         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
74516         * lib/pipe.c (create_pipe): Likewise.
74518 2008-09-29  Bruno Haible  <bruno@clisp.org>
74520         Enable use of shell scripts as executables in mingw.
74521         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
74522         run the program as a shell script.
74523         * lib/pipe.c (create_pipe): Likewise.
74524         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
74525         resulting array.
74527 2008-09-29  Eric Blake  <ebb9@byu.net>
74529         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
74531 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
74533         * doc/posix-functions/accept.texi: Update mingw problems.
74534         * doc/posix-functions/bind.texi: Update mingw problems.
74535         * doc/posix-functions/close.texi: Update mingw problems.
74536         * doc/posix-functions/connect.texi: Update mingw problems.
74537         * doc/posix-functions/getpeername.texi: Update mingw problems.
74538         * doc/posix-functions/getsockname.texi: Update mingw problems.
74539         * doc/posix-functions/getsockopt.texi: Update mingw problems.
74540         * doc/posix-functions/ioctl.texi: Update mingw problems.
74541         * doc/posix-functions/listen.texi: Update mingw problems.
74542         * doc/posix-functions/recv.texi: Update mingw problems.
74543         * doc/posix-functions/recvfrom.texi: Update mingw problems.
74544         * doc/posix-functions/select.texi: Update mingw problems.
74545         * doc/posix-functions/send.texi: Update mingw problems.
74546         * doc/posix-functions/sendto.texi: Update mingw problems.
74547         * doc/posix-functions/setsockopt.texi: Update mingw problems.
74548         * doc/posix-functions/socket.texi: Update mingw problems.
74550 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
74551             Bruno Haible  <bruno@clisp.org>
74553         * lib/sys_select.in.h: Include sys/time.h.
74554         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
74555         * modules/sys_select: Depend on sys_time.
74556         * tests/test-sys_select.c: Test that sys/select.h defines struct
74557         timeval fully.
74559 2008-09-29  Bruno Haible  <bruno@clisp.org>
74561         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
74562         * lib/sys_select.in.h: Likewise.
74564 2008-09-29  Bruno Haible  <bruno@clisp.org>
74566         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
74568 2008-09-29  Bruno Haible  <bruno@clisp.org>
74570         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
74571         Set LIBSOCKET instead of augmenting LIBS.
74572         * modules/sockets (Link): New section.
74573         * modules/sockets-tests (test_sockets_LDADD): New variable.
74574         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
74575         * modules/poll-tests (test_poll_LDADD): New variable.
74576         * NEWS: Document the change.
74578 2008-09-29  Bruno Haible  <bruno@clisp.org>
74580         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
74581         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
74582         ARPA_INET_H directly.
74583         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
74585 2008-09-28  Bruno Haible  <bruno@clisp.org>
74587         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
74588         from gl_HEADER_SYS_SOCKET.
74589         (gl_HEADER_SYS_SOCKET): Invoke it.
74590         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74592 2008-09-28  Bruno Haible  <bruno@clisp.org>
74594         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
74595         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
74596         Needed on OSF/1 4.0.
74598 2008-09-28  Bruno Haible  <bruno@clisp.org>
74600         Override open more carefully.
74601         * lib/open.c (orig_open): New function.
74602         (rpl_open): Use orig_open instead of open.
74603         * lib/fcntl.in.h: Add special invocation convention.
74604         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
74605         (gl_FUNC_OPEN): Invoke it.
74607         Override freopen more carefully.
74608         * lib/freopen.c (orig_freopen): New function.
74609         (rpl_freopen): Use orig_freopen instead of freopen.
74610         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
74611         (gl_FUNC_FREOPEN): Invoke it.
74613         Override fopen more carefully.
74614         * lib/fopen.c (orig_fopen): New function.
74615         (rpl_fopen): Use orig_fopen instead of fopen.
74616         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
74617         (gl_FUNC_FOPEN): Invoke it.
74618         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
74620 2008-09-28  Bruno Haible  <bruno@clisp.org>
74622         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
74623         SIGPIPE.
74625 2008-09-28  Bruno Haible  <bruno@clisp.org>
74627         * tests/test-sigaction.c (handler, main): Disable the check whether
74628         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
74629         glibc systems with LinuxThreads.
74631 2008-09-28  Bruno Haible  <bruno@clisp.org>
74633         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
74635         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
74636         with AIX xlc.
74637         * lib/fcntl.in.h (open): Likewise.
74638         Reported by Rainer Tammer <tammer@tammer.net>.
74640 2008-09-28  Bruno Haible  <bruno@clisp.org>
74642         * modules/posix_spawnp-tests: New file.
74643         * tests/test-posix_spawn.c: New file.
74644         * tests/test-posix_spawn.in.sh: New file.
74646         New module 'posix_spawnp'.
74647         * modules/posix_spawnp: New file.
74648         * lib/spawnp.c: New file, from GNU libc with modifications.
74649         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
74651         New module 'posix_spawn'.
74652         * modules/posix_spawn: New file.
74653         * lib/spawn.c: New file, from GNU libc with modifications.
74654         * doc/posix-functions/posix_spawn.texi: Mention the new module.
74656         New module 'posix_spawnattr_destroy'.
74657         * modules/posix_spawnattr_destroy: New file.
74658         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
74659         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
74660         module.
74662         New module 'posix_spawnattr_setsigmask'.
74663         * modules/posix_spawnattr_setsigmask: New file.
74664         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
74665         modifications.
74666         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
74667         new module.
74669         New module 'posix_spawnattr_getsigmask'.
74670         * modules/posix_spawnattr_getsigmask: New file.
74671         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
74672         modifications.
74673         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
74674         new module.
74676         New module 'posix_spawnattr_setsigdefault'.
74677         * modules/posix_spawnattr_setsigdefault: New file.
74678         * lib/spawnattr_setdefault.c: New file, from GNU libc with
74679         modifications.
74680         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
74681         new module.
74683         New module 'posix_spawnattr_getsigdefault'.
74684         * modules/posix_spawnattr_getsigdefault: New file.
74685         * lib/spawnattr_getdefault.c: New file, from GNU libc with
74686         modifications.
74687         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
74688         new module.
74690         New module 'posix_spawnattr_setschedpolicy'.
74691         * modules/posix_spawnattr_setschedpolicy: New file.
74692         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
74693         modifications.
74694         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
74695         new module.
74697         New module 'posix_spawnattr_getschedpolicy'.
74698         * modules/posix_spawnattr_getschedpolicy: New file.
74699         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
74700         modifications.
74701         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
74702         new module.
74704         New module 'posix_spawnattr_setschedparam'.
74705         * modules/posix_spawnattr_setschedparam: New file.
74706         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
74707         modifications.
74708         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
74709         new module.
74711         New module 'posix_spawnattr_getschedparam'.
74712         * modules/posix_spawnattr_getschedparam: New file.
74713         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
74714         modifications.
74715         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
74716         new module.
74718         New module 'posix_spawnattr_setpgroup'.
74719         * modules/posix_spawnattr_setpgroup: New file.
74720         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
74721         modifications.
74722         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
74723         module.
74725         New module 'posix_spawnattr_getpgroup'.
74726         * modules/posix_spawnattr_getpgroup: New file.
74727         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
74728         modifications.
74729         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
74730         module.
74732         New module 'posix_spawnattr_setflags'.
74733         * modules/posix_spawnattr_setflags: New file.
74734         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
74735         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
74736         module.
74738         New module 'posix_spawnattr_getflags'.
74739         * modules/posix_spawnattr_getflags: New file.
74740         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
74741         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
74742         module.
74744         New module 'posix_spawnattr_init'.
74745         * modules/posix_spawnattr_init: New file.
74746         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
74747         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
74748         module.
74750         New module 'posix_spawn_file_actions_destroy'.
74751         * modules/posix_spawn_file_actions_destroy: New file.
74752         * lib/spawn_faction_destroy.c: New file, from GNU libc with
74753         modifications.
74754         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
74755         the new module.
74757         New module 'posix_spawn_file_actions_addopen'.
74758         * modules/posix_spawn_file_actions_addopen: New file.
74759         * lib/spawn_faction_addopen.c: New file, from GNU libc with
74760         modifications.
74761         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
74762         the new module.
74764         New module 'posix_spawn_file_actions_adddup2'.
74765         * modules/posix_spawn_file_actions_adddup2: New file.
74766         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
74767         modifications.
74768         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
74769         the new module.
74771         New module 'posix_spawn_file_actions_addclose'.
74772         * modules/posix_spawn_file_actions_addclose: New file.
74773         * lib/spawn_faction_addclose.c: New file, from GNU libc with
74774         modifications.
74775         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
74776         the new module.
74778         New module 'posix_spawn_file_actions_init'.
74779         * modules/posix_spawn_file_actions_init: New file.
74780         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
74781         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
74782         new module.
74784         New module 'posix_spawn-internal'.
74785         * modules/posix_spawn-internal: New file.
74786         * lib/spawn_int.h: New file, from GNU libc with modifications.
74787         * lib/spawni.c: New file, from GNU libc with modifications.
74788         * m4/posix_spawn.m4: New file.
74790         New module 'spawn'.
74791         * modules/spawn: New file.
74792         * lib/spawn.in.h: New file, from GNU libc with modifications.
74793         * m4/spawn_h.m4: New file.
74794         * doc/posix-headers/spawn.texi: Mention the new module.
74796 2008-09-28  Bruno Haible  <bruno@clisp.org>
74798         * modules/sched-tests: New file.
74799         * tests/test-sched.c: New file.
74801         New module 'sched'.
74802         * modules/sched: New file.
74803         * lib/sched.in.h: New file.
74804         * m4/sched_h.m4: New file.
74805         * doc/posix-headers/sched.texi: Mention the new module.
74807 2008-09-27  Eric Blake  <ebb9@byu.net>
74809         Fix previous patch, and tweak references to $0.
74810         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
74811         (func_version, func_gnulib_dir): Don't call this program
74812         gnulib-tool.
74813         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
74814         with using $0 in function.
74815         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
74816         (func_fatal_error): Reuse the name the user invoked us with.
74818 2008-09-27  Bruno Haible  <bruno@clisp.org>
74820         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
74821         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
74822         (gl_ICONV_H): Not here.
74823         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
74824         instead of assigning ICONV_H directly.
74826         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
74827         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
74828         WCHAR_H directly.
74830 2008-09-27  Bruno Haible  <bruno@clisp.org>
74832         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
74833         * modules/arpa_inet (Depends-on): Add link-warning.
74834         (Makefile.am): Insert the definition of GL_LINK-WARNING.
74835         * modules/unistd (Makefile.am): Likewise.
74837 2008-09-26  Bruno Haible  <bruno@clisp.org>
74839         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
74840         variables.
74841         (func_version): Essentially copied from gnulib-tool.
74842         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
74843         func_readlink): Copied from gnulib-tool.
74845 2008-09-26  Bruno Haible  <bruno@clisp.org>
74847         * gnulib-tool (func_version): Change directory to $gnulib_dir before
74848         invoking git-version-gen.
74850 2008-09-26  Bruno Haible  <bruno@clisp.org>
74852         * posix-modules: Update to directory names changed on 2008-01-19.
74853         Remove commas in output before splitting into words. No more need to
74854         avoid 'ftruncate' since 2007-02-19.
74856 2008-09-26  Bruno Haible  <bruno@clisp.org>
74858         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
74860 2008-09-26  Bruno Haible  <bruno@clisp.org>
74862         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
74863         * modules/fwriteerror (Depends-on): Add errno.
74865 2008-09-26  Bruno Haible  <bruno@clisp.org>
74867         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
74868         * tests/test-vc-list-files-cvs.sh: Likewise.
74870 2008-09-26  Bruno Haible  <bruno@clisp.org>
74872         * doc/posix-headers/sys_resource.texi: Reorder items.
74874 2008-09-26  Jim Meyering  <meyering@redhat.com>
74876         fts: tweak inode comparison function
74877         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
74878         inode numbers, as documented.
74880         fts: sort dirent entries on inode number before traversing
74881         This avoids a quadratic, seek-related performance penalty when
74882         operating on a directory containing many entries (measurable at 10k;
74883         3.5 hours at 2 million entries with a cold cache) on certain types
74884         of file systems, including ext3 and ext4, but not tmpfs.
74885         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
74886         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
74887         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
74888         (fs_handles_readdir_ordered_dirents_efficiently): New function.
74889         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
74890         (fts_build): Set the stat.st_ino member from D_INO.
74891         If it is likely to be useful, sort dirent entries on inode number.
74893         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
74894         and the struct statfs.f_type member.
74895         * modules/fts (Depends-on): Add d-ino.
74897 2008-09-26  Bruno Haible  <bruno@clisp.org>
74899         * modules/sigpipe-die (Depends-on): Add sigpipe.
74901         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
74902         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
74903         and GNULIB_STDIO_H_SIGPIPE are set.
74904         * lib/stdio-write.c: New file.
74905         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
74906         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74907         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74908         REPLACE_STDIO_WRITE_FUNCS.
74909         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
74910         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74911         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74912         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74913         * modules/stdio (Files): Add lib/stdio-write.c.
74914         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
74915         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
74916         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
74917         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
74918         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
74919         REPLACE_FPRINTF_POSIX.
74920         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
74921         REPLACE_PRINTF_POSIX.
74922         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
74923         REPLACE_VFPRINTF_POSIX.
74924         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
74925         REPLACE_VPRINTF_POSIX.
74926         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
74927         SIGPIPE issue.
74928         * doc/posix-functions/fputc.texi: Likewise.
74929         * doc/posix-functions/fputs.texi: Likewise.
74930         * doc/posix-functions/fwrite.texi: Likewise.
74931         * doc/posix-functions/printf.texi: Likewise.
74932         * doc/posix-functions/putc.texi: Likewise.
74933         * doc/posix-functions/putchar.texi: Likewise.
74934         * doc/posix-functions/puts.texi: Likewise.
74935         * doc/posix-functions/vfprintf.texi: Likewise.
74936         * doc/posix-functions/vprintf.texi: Likewise.
74938         * modules/safe-write (Depends-on): Add write.
74940         * modules/sigpipe-tests: New file.
74941         * tests/test-sigpipe.c: New file.
74942         * tests/test-sigpipe.sh: New file.
74944         * modules/write: New file.
74945         * lib/unistd.in.h: Include <sys/types.h>.
74946         (write): New declaration.
74947         * lib/write.c: New file.
74948         * m4/write.m4: New file.
74949         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
74950         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
74951         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
74952         GNULIB_WRITE, REPLACE_WRITE.
74953         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
74954         and the SIGPIPE issue.
74956         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
74957         (raise): New declaration.
74958         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
74959         (ext_signal): New function.
74960         (rpl_raise): New function.
74961         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
74962         GNULIB_SIGNAL_H_SIGPIPE.
74963         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
74964         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
74966         * modules/sigpipe: New file.
74967         * m4/sigpipe.m4: New file.
74969 2008-09-25  Derek Price  <derek@ximbiot.com>
74970             Bruno Haible  <bruno@clisp.org>
74972         * gnulib-tool (func_import): Report all license incompatibilities, not
74973         just the first one.
74975 2008-09-25  Bruno Haible  <bruno@clisp.org>
74977         * gnulib-tool (func_import): When computing the edits, consider not
74978         only the Makefile.ams that exist but also those that will be generated.
74980 2008-09-25  Simon Josefsson  <simon@josefsson.org>
74982         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
74983         fixes gnulib-tool --test warning about duplicate dependency.
74985 2008-09-25  Bruno Haible  <bruno@clisp.org>
74987         * gnulib-tool: Don't ask the user to perform edits in the generated
74988         Makefile.ams.
74989         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
74990         apply to the Makefile.am being generated.
74991         (func_emit_tests_Makefile_am): Execute edits that apply to the
74992         Makefile.am being generated.
74993         (func_import): Setup list of Makefile.am edits before emitting the
74994         Makefile.ams, not at the end.
74995         (func_create_testdir): Update.
74996         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74998 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75000         * gnulib-tool (func_import): Store the --tests-base option in the
75001         comment in gnulib-cache.m4.
75003 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
75005         * NEWS: Document increased portability that sys_select now provides.
75007         * lib/sys_select.in.h: Install select wrapper.
75008         * lib/sys_socket.in.h: Use more descriptive name when there is no
75009         select wrapper.
75010         * lib/winsock-select.c: New.
75011         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
75012         Require gl_HEADER_SYS_SOCKET.
75013         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
75014         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
75015         * tests/test-sys_select.c: Add functional tests.
75017 2008-09-24  Eric Blake  <ebb9@byu.net>
75019         open, fopen: close fd leak in last patch
75020         * lib/open.c (rpl_open): Close fd before returning error.
75021         * lib/fopen.c (rpl_fopen): Close fd before returning error.
75022         * doc/posix-functions/open.texi (open): Document that Irix also
75023         has the bug.
75024         * doc/posix-functions/fopen.texi (fopen): Likewise.
75025         Reported by Paolo Bonzini.
75027 2008-09-24  Bruno Haible  <bruno@clisp.org>
75029         Ensure that a filename ending in a slash cannot be used to access a
75030         non-directory.
75031         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
75032         to check whether it's really a directory.
75033         * lib/fopen.c: Include fcntl.h, unistd.h.
75034         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
75035         and fdopen().
75036         * modules/fopen (Depends-on): Add unistd.
75037         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
75038         * tests/test-fopen.c (main): Likewise.
75039         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
75040         * doc/posix-functions/fopen.texi: Likewise.
75041         Reported by Eric Blake.
75043 2008-09-23  Eric Blake  <ebb9@byu.net>
75045         c-stack: avoid compiler optimizations when provoking overflow
75046         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
75047         recursion harder to optimize, to ensure a stack overflow occurs.
75048         * tests/test-c-stack.c (recurse): Likewise.
75049         Borrowed from libsigsegv.
75051         c-stack: work around Irix sigaltstack bug
75052         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
75053         whether sigaltstack uses wrong end of stack_t (copied in part from
75054         libsigsegv).
75055         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
75056         Irix bug, without requiring an over-allocation.
75057         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
75058         bug.
75060         fopen: document mingw bug on directories
75061         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
75062         not allowing a stream visiting a directory, even though reading
75063         from such a stream is not portable.
75065 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75067         * lib/poll.c: Rewrite.
75068         * modules/poll: Depend on alloca.
75070 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75072         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
75073         instead define prototypes for a full set of wrappers.  Ensure
75074         that Cygwin does not use the compatibility code, which is only
75075         for MinGW.
75076         * lib/winsock.c: New.
75077         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
75078         * modules/sys_socket: Add lib/winsock.c.
75080         * modules/poll-tests: Add errno and perror.
75081         * tests/test-poll.c: Use ioctl, not ioctlsocket.
75083 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
75085         * tests/test-poll.c: Downgrade minimum needed Winsock version.
75087 2008-09-23  Bruno Haible  <bruno@clisp.org>
75089         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
75090         * doc/glibc-functions/*: Likewise.
75092 2008-09-23  Simon Josefsson  <simon@josefsson.org>
75094         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
75095         success.
75097 2008-09-22  Eric Blake  <ebb9@byu.net>
75098             Bruno Haible  <bruno@clisp.org>
75100         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
75101         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
75102         supply %A but mishandle pseudo-NaN.
75103         Reported by Simon Josefsson.
75105 2008-09-21  Bruno Haible  <bruno@clisp.org>
75107         * tests/test-lock.c (main): Tweak skip message.
75108         * tests/test-tls.c (main): Likewise.
75110 2008-09-21  Bruno Haible  <bruno@clisp.org>
75112         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
75113         whether 'struct sigaction' has sa_sigaction here...
75114         (gl_PREREQ_SIG_HANDLER_H): ... not here.
75115         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
75117 2008-09-21  Bruno Haible  <bruno@clisp.org>
75119         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
75120         section.
75121         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
75122         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
75123         the new section.
75124         (Support for obsolete systems lacking POSIX:2001): New section.
75125         (String handling <string.h>): Move strdup to the new section.
75126         Suggested by Simon Josefsson and Paolo Bonzini.
75128 2008-09-21  Bruno Haible  <bruno@clisp.org>
75130         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
75131         exponents in %e and %g results on 'long double'. Needed for mingw's
75132         improved *printf functions.
75133         * tests/test-vasprintf-posix.c (test_function): Likewise.
75134         * tests/test-snprintf-posix.h (test_function): Likewise.
75135         * tests/test-sprintf-posix.h (test_function): Likewise.
75136         Reported by Eric Blake.
75138 2008-09-21  Bruno Haible  <bruno@clisp.org>
75140         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
75141         * tests/test-sprintf-posix.h (test_function): Likewise.
75143 2008-09-21  Bruno Haible  <bruno@clisp.org>
75145         * modules/getpass (Depends-on): Add strdup-posix.
75147         New module 'strdup-posix'.
75148         * modules/strdup-posix: New file.
75149         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
75150         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
75151         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
75152         REPLACE_STRDUP.
75153         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
75154         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
75155         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75156         strdup-posix.
75158         * modules/strdup (Depends-on): Remove malloc-posix.
75160 2008-09-20  Bruno Haible  <bruno@clisp.org>
75162         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
75163         Wildenhues.
75165 2008-09-20  Bruno Haible  <bruno@clisp.org>
75167         Ensure that wint_t gets defined on IRIX 5.3.
75168         * lib/wchar.in.h (wint_t): Define if not defined by the system.
75169         * lib/wctype.in.h (wint_t): Likewise.
75170         (__wctype_wint_t): Remove type.
75171         (isw*): Use wint_t instead of __wctype_wint_t.
75172         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
75173         * modules/wchar (Files): Add m4/wint_t.m4.
75174         (Makefile.am): Substitute HAVE_WINT_T.
75175         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
75176         * tests/test-wctype.c: Check that wint_t is defined.
75177         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
75178         * doc/posix-headers/wctype.texi: Likewise.
75179         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
75181 2008-09-18  Bruno Haible  <bruno@clisp.org>
75183         * gnulib-tool (func_exit): Update comment.
75185 2008-09-18  Simon Josefsson  <simon@josefsson.org>
75187         * modules/getaddrinfo (Depends-on): Remove strdup, this module
75188         assumes strdup exists and does not depend on strdup to return
75189         ENOMEM on out of memory conditions.
75191 2008-09-18  Bruno Haible  <bruno@clisp.org>
75193         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
75194         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
75195         digits for the exponent.
75197 2008-09-18  Jim Meyering  <meyering@redhat.com>
75198             Bruno Haible  <bruno@clisp.org>
75200         * lib/vasnprintf.c (decimal_point_char): Define also if
75201         NEED_PRINTF_INFINITE_LONG_DOUBLE.
75203 2008-09-16  Bruno Haible  <bruno@clisp.org>
75204         and Eric Blake  <ebb9@byu.net>
75206         vasnprintf: support Irix 5.3
75207         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
75208         that mishandle long double infinity.
75209         Reported by Tom G. Christensen.
75211 2008-09-16  Bruno Haible  <bruno@clisp.org>
75213         * doc/glibc-functions/scandir.texi: Mention the function is missing on
75214         Solaris 9.
75215         * doc/glibc-functions/alphasort.texi: Likewise.
75216         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
75218 2008-09-16  Jim Meyering  <meyering@redhat.com>
75220         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
75221         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
75222         a umask modification leak out of a subshell.  Otherwise, the
75223         opensolaris /bin/sh would be accepted and thus cause unwarranted
75224         failures in the coreutils test suite.
75226 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
75228         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
75229         to succeed.
75231 2008-09-16  Jim Meyering  <meyering@redhat.com>
75233         avoid spurious test failure when library is built without ACL support
75234         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
75235         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
75236         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
75237         * tests/test-copy-acl.sh: Likewise.
75239 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75241         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
75242         based on character occurrence counts.
75244 2008-09-15  Eric Blake  <ebb9@byu.net>
75246         tests: avoid some compiler warnings
75247         * tests/test-memchr.c (main): Pass NULL indirectly.
75248         * tests/test-closein.c (main): Avoid unused variable.
75250 2008-09-15  Bruno Haible  <bruno@clisp.org>
75252         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
75253         are missing on OpenBSD 4.0 individually.
75254         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
75256 2008-09-15  Bruno Haible  <bruno@clisp.org>
75258         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
75259         * doc/posix-functions/strerror.texi: Mention also Cygwin.
75260         * doc/posix-functions/perror.texi: Likewise.
75261         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
75262         is missing.
75263         Reported by Eric Blake.
75265         * lib/errno.in.h: Use replacement values >= 2000.
75266         Reported by Eric Blake.
75268 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75270         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
75271         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
75272         limit.
75273         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
75274         compareseq was aborted.
75276 2008-09-14  Bruno Haible  <bruno@clisp.org>
75278         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
75279         yvec_edit_count.
75280         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
75281         (fstrcmp_bounded): Simplify result computation accordingly.
75283 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75285         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
75286         (fstrcmp): Define in terms of fstrcmp_bounded.
75287         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
75288         lower_bound argument.
75289         Return quickly if the result is certainly < lower_bound.
75290         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
75292 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75294         * lib/diffseq.h (EARLY_ABORT): New macro.
75295         (compareseq): Change return type to bool. Return true when EARLY_ABORT
75296         evaluates to true.
75298 2008-09-14  Bruno Haible  <bruno@clisp.org>
75300         * modules/perror-tests: New file.
75301         * tests/test-perror.sh: New file.
75302         * tests/test-perror.c: New file.
75304         New module 'perror'.
75305         * lib/stdio.in.h (perror): New declaration.
75306         * lib/perror.c: New file.
75307         * m4/perror.m4: New file.
75308         * modules/perror: New file.
75309         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
75310         * doc/posix-functions/perror.texi: Mention the perror module.
75311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
75312         REPLACE_PERROR.
75313         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
75314         REPLACE_PERROR.
75316 2008-09-14  Bruno Haible  <bruno@clisp.org>
75318         * modules/stdio (Makefile.am): Reorder to match the order in
75319         lib/stdio.in.h.
75320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
75322 2008-09-13  Bruno Haible  <bruno@clisp.org>
75324         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
75326 2008-09-13  Bruno Haible  <bruno@clisp.org>
75328         Extend strerror to cover the added errno values.
75329         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
75330         (rpl_strerror): Provide error messages for the added errno values and
75331         for the WSA* values.
75332         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
75333         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
75334         strerror.
75335         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
75336         * modules/strerror (Depends-on): Add errno.
75337         * doc/posix-functions/strerror.texi: Document the change.
75338         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
75339         and EOVERFLOW.
75341 2008-09-13  Bruno Haible  <bruno@clisp.org>
75343         * modules/EOVERFLOW: Remove file.
75344         * m4/eoverflow.m4: Remove file.
75345         * modules/EOVERFLOW-tests: Remove file.
75346         * tests/test-EOVERFLOW.c: Remove file.
75347         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
75348         * modules/ftell (Depends-on): Likewise.
75349         * modules/getdelim (Depends-on): Likewise.
75350         * modules/getugroups (Depends-on): Likewise.
75351         * modules/poll (Depends-on): Likewise.
75352         * modules/snprintf (Depends-on): Likewise.
75353         * modules/sprintf-posix (Depends-on): Likewise.
75354         * modules/vasnprintf (Depends-on): Likewise.
75355         * modules/vasprintf (Depends-on): Likewise.
75356         * modules/vfprintf-posix (Depends-on): Likewise.
75357         * modules/vsnprintf (Depends-on): Likewise.
75358         * modules/vsprintf-posix (Depends-on): Likewise.
75359         * modules/xvasprintf (Depends-on): Likewise.
75360         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
75361         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
75362         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
75363         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
75364         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
75365         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
75366         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
75367         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
75368         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
75369         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
75370         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
75371         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
75372         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
75373         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
75374         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
75375         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
75376         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
75377         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
75378         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
75379         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
75380         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
75381         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
75382         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
75383         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
75384         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
75385         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
75386         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
75387         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
75388         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
75389         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
75390         * MODULES.html.sh: Remove EOVERFLOW.
75391         * NEWS: Mention the change.
75393 2008-09-13  Bruno Haible  <bruno@clisp.org>
75395         * modules/errno-tests: New file.
75396         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
75398         * lib/errno.in.h: New file.
75399         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
75400         * modules/errno: New file.
75401         * doc/posix-headers/errno.texi: Update documentation.
75402         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
75404 2008-09-13  Bruno Haible  <bruno@clisp.org>
75406         * tests/test-poll.c: Use #if for native Windows, rather than testing
75407         __MSVCRT__.
75409 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75410             Bruno Haible  <bruno@clisp.org>
75412         * lib/glob.c: Don't include <pwd.h> on native Windows.
75413         (WINDOWS32): New macro.
75414         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
75416 2008-09-13  Bruno Haible  <bruno@clisp.org>
75418         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
75419         (ETIMEDOUT): Remove macro.
75420         (glthread_cond_timedwait_multithreaded): New declaration.
75421         (glthread_cond_timedwait): Use it.
75422         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
75423         (glthread_cond_timedwait_multithreaded): New function.
75425 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75427         * modules/poll-tests: Do not check for io.h.
75428         * tests/test-poll.c: Check for __MSVCRT__ instead.
75430 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75432         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
75433         * modules/poll-tests: Add inet_pton, stdbool, sockets.
75434         * tests/test-poll.c: Use them.  Use _pipe on Windows.
75436 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
75438         * modules/poll-tests: New.
75439         * tests/test-poll.c: New.
75441 2008-09-12  Eric Blake  <ebb9@byu.net>
75443         frexp: test for NetBSD failure on -0.0
75444         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
75445         not all, bugs from NetBSD 3.0 have been fixed.
75446         * doc/posix-functions/frexp.texi (frexp): Document bug.
75447         Reported by Thomas Klausner.
75449         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
75450         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
75451         literal -0.0.
75452         Reported by Jonathan C. Patschke <jp@centtech.com>.
75454 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75456         * lib/glthread/cond.h: Use dummy implementation also if
75457         USE_WIN32_THREADS.
75459 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75461         * modules/fnmatch-posix (License): Change to LGPLv2+.
75462         * modules/fnmatch-gnu (License): Likewise.
75464 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75466         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
75468 2008-09-11  Jim Meyering  <meyering@redhat.com>
75470         * users.txt: Add gtk-vnc.
75472 2008-09-08  Simon Josefsson  <simon@josefsson.org>
75474         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
75475         rotate amounts.
75477         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
75478         required for 16-bit and 8-bit rotates.
75479         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
75480         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
75481         UINT8_MAX instead of hard-coded constants.
75482         Suggested by Paul Eggert.
75484 2008-09-07  Bruno Haible  <bruno@clisp.org>
75486         * tests/test-striconveh.c (main): Check behaviour when converting from
75487         UTF-7.
75489         Make striconveh work better with stateful encodings.
75490         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
75491         that iconv does not increment the inptr when returning -1/EINVAL.
75493 2008-09-07  Bruno Haible  <bruno@clisp.org>
75495         * build-aux/config.rpath: Update according to libtool-2.2.6.
75496         * build-aux/config.libpath: Likewise.
75498 2008-09-06  Bruno Haible  <bruno@clisp.org>
75500         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
75501         * lib/freadptr.c (freadptr): Likewise.
75502         * lib/freadseek.c (freadptrinc): Likewise.
75503         Reported by Simon Josefsson.
75505 2008-09-06  Bruno Haible  <bruno@clisp.org>
75507         * modules/freadptr (License): Change to LGPLv2+.
75508         * modules/freadseek (License): Likewise.
75509         Suggested by Eric Blake.
75511         * modules/memchr2 (License): Change to LGPLv2+.
75512         Approved by Eric Blake.
75514 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75515             Bruno Haible  <bruno@clisp.org>
75517         Make gnulib-tool work with native 'sed' on AIX.
75518         * gnulib-tool (sed_noop): New variable.
75519         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
75520         func_add_or_update, func_create_testdir): Use it to initialize sed
75521         script variables.
75522         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
75524 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
75525             Bruno Haible  <bruno@clisp.org>
75527         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
75528         also works after #include directives.
75530 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
75532         getdate.y: reject an out-of-range timezone value
75533         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
75534         the range [-24...+24].  When specified with only one or two digits,
75535         * tests/test-getdate.c: Tests for the fix.
75536         * doc/getdate.texi: Document this change.
75538 2008-09-03  Bruno Haible  <bruno@clisp.org>
75540         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
75542 2008-09-02  Simon Josefsson  <simon@josefsson.org>
75544         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
75545         <bruce.korb@gmail.com> with ideas from Ben Pfaff
75546         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
75547         Blake <ebb9@byu.net>.
75549         * tests/test-bitrotate.c: Add more test vectors.
75551 2008-09-02  Eric Blake  <ebb9@byu.net>
75553         vasnprintf-posix: handle large precision via %.*d
75554         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
75555         when handling it ourselves.
75556         * tests/test-vasnprintf-posix.c (test_function): Add test.
75557         * tests/test-snprintf-posix.h (test_function): Likewise.
75558         * tests/test-sprintf-posix.h (test_function): Likewise.
75559         * tests/test-vasprintf-posix.c (test_function): Likewise.
75560         Reported by Alain Guibert.
75562 2008-09-01  Eric Blake  <ebb9@byu.net>
75564         c-stack: make configure-time check more robust
75565         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
75566         successful sigaction call.
75567         Reported by Tom G. Christensen.
75569 2008-09-01  Bruno Haible  <bruno@clisp.org>
75571         New module 'findprog-lgpl'.
75572         * modules/findprog-lgpl: New file.
75573         * lib/findprog-lgpl.c: New file.
75574         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
75575         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
75576         to decide whether to use strdup or xstrdup, concatenated_filename or
75577         xconcatenated_filename.
75579 2008-09-01  Bruno Haible  <bruno@clisp.org>
75581         Split module 'concat-filename' into 'concat-filename' (LGPL) and
75582         'xconcat-filename' (GPL).
75583         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
75584         (License): Change to LGPLv2+.
75585         * modules/xconcat-filename: New file.
75586         * lib/concat-filename.h (concatenated_filename): Change specification.
75587         (xconcatenated_filename): New declaration.
75588         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
75589         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
75590         memory situations.
75591         * lib/xconcat-filename.c: New file.
75592         * NEWS: Mention the change.
75593         * lib/findprog.c: Include concat-filename.h, not filename.h.
75594         (find_in_path): Use xconcatenated_filename instead of
75595         concatenated_filename.
75596         * lib/javacomp.c: Include concat-filename.h, not filename.h.
75597         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
75598         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
75599         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
75600         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
75601         instead of concatenated_filename.
75602         * lib/javaexec.c: Include concat-filename.h, not filename.h.
75603         (execute_java_class): Use xconcatenated_filename instead of
75604         concatenated_filename.
75605         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
75606         * modules/javacomp (Depends-on): Likewise.
75607         * modules/javaexec (Depends-on): Likewise.
75609 2008-09-01  Bruno Haible  <bruno@clisp.org>
75611         Split module 'filename' into 'filename' and 'concat-filename'.
75612         * modules/filename: Keep only lib/filename.h.
75613         (License): Change to LGPLv2+.
75614         * modules/concat-filename: New file, extracted from modules/filename.
75615         * lib/filename.h (concatenated_filename): Remove declaration.
75616         * lib/concat-filename.h: New file, extracted from lib/filename.h.
75617         * lib/concat-filename.c: Include concat-filename.h.
75618         * NEWS: Mention the change.
75620 2008-09-01  Simon Josefsson  <simon@josefsson.org>
75622         * lib/bitrotate.h (rotl8, rotr8): Add.
75624         * modules/bitrotate (configure.ac): Need
75625         AC_REQUIRE([AC_C_INLINE]).
75626         (Description): Mention stdint.h.  Reported by Bruno Haible
75627         <bruno@clisp.org>.
75629         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
75630         Paolo Bonzini <bonzini@gnu.org>.
75632 2008-08-31  Bruno Haible  <bruno@clisp.org>
75634         Assume Solaris specific bi-arch conventions on Solaris systems.
75635         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
75636         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
75637         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
75638         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
75639         like acl_libdirstem.
75640         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
75641         acl_libdirstem.
75642         * NEWS: Mention the change.
75643         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
75645 2008-08-31  Jim Meyering  <meyering@redhat.com>
75647         * lib/strftime.h: Add comments describing the two added arguments.
75649         remove duplicate #include directives
75650         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
75651         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
75653 2008-08-31  Bruno Haible  <bruno@clisp.org>
75655         New module 'sigpipe-die'.
75656         * modules/sigpipe-die: New file.
75657         * lib/sigpipe-die.h: New file.
75658         * lib/sigpipe-die.c: New file.
75659         * MODULES.html.sh (Signal handling): Add sigpipe-die.
75661 2008-08-31  Bruno Haible  <bruno@clisp.org>
75663         Don't override previously installed signal handlers.
75664         * lib/fatal-signal.c (saved_sigactions): New variable.
75665         (uninstall_handlers): Reset the signal to the saved handler, not
75666         to SIG_DFL (except when ignored).
75667         (install_handlers): Save the previous handlers.
75669 2008-08-30  Bruno Haible  <bruno@clisp.org>
75671         * gnulib-tool (func_reset_sigpipe): New function.
75672         (func_get_automake_snippet, func_modules_transitive_closure,
75673         func_import): Invoke it before a join command that reads from stdin,
75674         to avoid "echo: write error: Broken pipe" error messages on stderr.
75675         Reported by Sam Steingold <sds@gnu.org>.
75677 2008-08-30  Bruno Haible  <bruno@clisp.org>
75679         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
75680         Code copied from m4/open.m4.
75681         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
75682         access and the filename ends in a slash. Code copied from lib/open.c.
75683         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
75684         * tests/test-fopen.c (main): Check against bug with trailing slash.
75686 2008-08-29  Bruno Haible  <bruno@clisp.org>
75688         Avoid some "gcc -pedantic" warnings.
75689         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
75690         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
75691         * lib/dirent.in.h: Likewise.
75692         * lib/fcntl.in.h: Likewise.
75693         * lib/float.in.h: Likewise.
75694         * lib/iconv.in.h: Likewise.
75695         * lib/inttypes.in.h: Likewise.
75696         * lib/locale.in.h: Likewise.
75697         * lib/math.in.h: Likewise.
75698         * lib/netinet_in.in.h: Likewise.
75699         * lib/search.in.h: Likewise.
75700         * lib/signal.in.h: Likewise.
75701         * lib/stdarg.in.h: Likewise.
75702         * lib/stdint.in.h: Likewise.
75703         * lib/stdio.in.h: Likewise.
75704         * lib/stdlib.in.h: Likewise.
75705         * lib/string.in.h: Likewise.
75706         * lib/strings.in.h: Likewise.
75707         * lib/sys_select.in.h: Likewise.
75708         * lib/sys_socket.in.h: Likewise.
75709         * lib/sys_stat.in.h: Likewise.
75710         * lib/sys_time.in.h: Likewise.
75711         * lib/sysexits.in.h: Likewise.
75712         * lib/time.in.h: Likewise.
75713         * lib/unistd.in.h: Likewise.
75714         * lib/wchar.in.h: Likewise.
75715         * lib/wctype.in.h: Likewise.
75716         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
75717         * modules/fchdir (Makefile.am): Likewise.
75718         * modules/fcntl (Makefile.am): Likewise.
75719         * modules/float (Makefile.am): Likewise.
75720         * modules/iconv_open (Makefile.am): Likewise.
75721         * modules/inttypes (Makefile.am): Likewise.
75722         * modules/locale (Makefile.am): Likewise.
75723         * modules/math (Makefile.am): Likewise.
75724         * modules/netinet_in (Makefile.am): Likewise.
75725         * modules/search (Makefile.am): Likewise.
75726         * modules/signal (Makefile.am): Likewise.
75727         * modules/stdarg (Makefile.am): Likewise.
75728         * modules/stdint (Makefile.am): Likewise.
75729         * modules/stdio (Makefile.am): Likewise.
75730         * modules/stdlib (Makefile.am): Likewise.
75731         * modules/string (Makefile.am): Likewise.
75732         * modules/strings (Makefile.am): Likewise.
75733         * modules/sys_select (Makefile.am): Likewise.
75734         * modules/sys_socket (Makefile.am): Likewise.
75735         * modules/sys_stat (Makefile.am): Likewise.
75736         * modules/sys_time (Makefile.am): Likewise.
75737         * modules/sysexits (Makefile.am): Likewise.
75738         * modules/time (Makefile.am): Likewise.
75739         * modules/unistd (Makefile.am): Likewise.
75740         * modules/wchar (Makefile.am): Likewise.
75741         * modules/wctype (Makefile.am): Likewise.
75742         Reported by Reuben Thomas <rrt@sc3d.org>.
75744 2008-08-29  Bruno Haible  <bruno@clisp.org>
75746         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
75747         any more.
75749 2008-08-29  Simon Josefsson  <simon@josefsson.org>
75751         * MODULES.html.sh (Misc): Add bitrotate.
75753         * modules/bitrotate: New file.
75755         * lib/bitrotate.h: New file.
75757         * modules/bitrotate-tests: New file.
75759         * tests/test-bitrotate.c: New file.
75761         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
75762         on the bitrotate module.
75764         * lib/arctwo.c: Use new bitrotate module.
75766 2008-08-29  Jim Meyering  <meyering@redhat.com>
75768         bootstrap: merge changes from coreutils
75769         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
75770         of copied files.  Remove a kludge, now that this is fixed.
75771         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
75772         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
75773         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
75775 2008-08-29  Bruno Haible  <bruno@clisp.org>
75777         * MODULES.html.sh: Remove --cvs-urls option.
75779 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
75781         maint.mk: adjust to file name change
75782         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
75784 2008-08-28  Jim Meyering  <meyering@redhat.com>
75786         * modules/getndelim2 (License): Relicense to LGPLv2+.
75787         Approved by Richard Stallman for the version of 1995, and by
75788         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
75790 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
75792         * lib/getdelim.c (flockfile, funlockfile): Make all of them
75793         dummy if one is not available.  Do not touch them if
75794         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
75795         (getc_maybe_unlocked): New.
75796         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
75798 2008-08-26  Eric Blake  <ebb9@byu.net>
75800         doc/INSTALL: resync from autoconf
75801         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
75802         (INSTALL_PRELUDE): Delete; this is done more efficiently by
75803         moving...
75804         * install.texi [!autoconf]: ...here.  Resync from autoconf.
75805         * INSTALL: Regenerate.
75806         * INSTALL.ISO: New file.
75807         * INSTALL.UTF-8: Likewise.
75809 2008-08-26  Jim Meyering  <meyering@redhat.com>
75811         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
75812         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
75813         these definitions conditional, so that they may be overridden, too.
75815 2008-08-26  Bruno Haible  <bruno@clisp.org>
75817         Generate INSTALL file variants with prettier quotes.
75818         * doc/Makefile (INSTALL_PRELUDE): New macro.
75819         (INSTALL): Use it.
75820         (INSTALL.ISO, INSTALL.UTF-8): New rules.
75822 2008-08-26  Bruno Haible  <bruno@clisp.org>
75824         Run makeinfo in an English locale.
75825         * doc/Makefile (MAKEINFO): New variable.
75827 2008-08-26  Bruno Haible  <bruno@clisp.org>
75829         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
75830         Suggested by Eric Blake.
75832 2008-08-25  Bruno Haible  <bruno@clisp.org>
75834         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
75836 2008-08-25  Eric Blake  <ebb9@byu.net>
75838         c-stack: test that stack overflow can be caught
75839         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
75840         that platform allows handling stack overflow; at least OS/2 EMX
75841         has sigaltstack, but crashes before transferring control to
75842         handler on stack overflow.
75843         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
75844         check for HAVE_STACK_OVERFLOW_HANDLING.
75845         Reported by Elbert Pol.
75847 2008-08-25  Bruno Haible  <bruno@clisp.org>
75849         * doc/posix-functions/strftime.texi: Fix description of strftime
75850         module.
75852 2008-08-24  Bruno Haible  <bruno@clisp.org>
75854         * tests/uniwidth/test-uc_width2.c: New file.
75855         * tests/uniwidth/test-uc_width2.sh: New file.
75856         * modules/uniwidth/width-tests (Files): Add the new files.
75857         (TESTS): Add uniwidth/test-uc_width2.sh.
75858         (TESTS_ENVIRONMENT): New variable.
75859         (check_PROGRAMS): Add test-uc_width2.
75860         (test_uc_width2_SOURCES): New variable.
75862         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
75863         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
75864         not 0x00AB.
75865         Reported by Alexander V. Lukyanov <lav@netis.ru>.
75867 2008-08-22  Eric Blake  <ebb9@byu.net>
75869         test-lock, test-tls: mention why a test is skipped
75870         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
75871         skipped.
75872         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
75874         count-one-bits: relax license
75875         * modules/count-one-bits (License): Relicense to LGPLv2+.
75876         Suggested by Ludovic Courtès, approved by Ben Pfaff.
75878 2008-08-22  Andreas Schwab  <schwab@suse.de>
75880         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
75881         Remove spurious space in assignment.
75883 2008-08-21  Simon Josefsson  <simon@josefsson.org>
75885         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
75886         Paul Eggert <eggert@CS.UCLA.EDU>.
75888 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
75890         * modules/gettext: Add m4/threadlib.m4.
75892 2008-08-19  Eric Blake  <ebb9@byu.net>
75894         test-c-stack: fix compilation failure on FreeBSD 5.0
75895         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
75896         headers before <sys/resource.h>.
75897         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
75898         the bug.
75899         Reported by Nelson H. F. Beebe.
75901         strverscmp: migrate from "strverscmp.h" to <string.h>
75902         * modules/string (Makefile.am): Add new hooks.
75903         * modules/strverscmp (Files): Remove strverscmp.h.
75904         (Depends-on): Add string.
75905         (configure.ac): Add indicator.
75906         (Include): Mention new header.
75907         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
75908         defaults.
75909         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
75910         results.
75911         * lib/strverscmp.h: Delete.
75912         * lib/string.in.h (strverscmp): Provide declaration, when needed.
75913         * tests/test-strverscmp.c (includes): Adjust client.
75914         * lib/check-version.c (includes): Likewise.
75915         * NEWS: Document the change.
75917         strverscmp: add unit test
75918         * modules/strverscmp-tests: New file.
75919         * tests/test-strverscmp.c: Likewise.
75921 2008-08-19  Simon Josefsson  <simon@josefsson.org>
75923         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
75924         regarding Windows crypto stuff, from Mono.
75926 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
75928         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
75929         if present, for intel RND.  Return error on failures.
75931 2008-08-18  Ben Pfaff  <blp@gnu.org>
75933         gitlog-to-changelog: give better diagnostic for failed pipe-open
75934         * build-aux/gitlog-to-changelog: Improve error message: suggest
75935         that the version of Git may be too old.
75937 2008-08-18  Simon Josefsson  <simon@josefsson.org>
75939         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
75940         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
75942 2008-08-18  Bruno Haible  <bruno@clisp.org>
75944         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
75945         pthread_in_use().
75947 2008-08-18  Bruno Haible  <bruno@clisp.org>
75949         * lib/glthread/threadlib.c: Include <pthread.h>.
75951 2008-08-18  Bruno Haible  <bruno@clisp.org>
75953         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
75954         glthread_recursive_lock_* macros.
75955         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
75956         Fix syntax error.
75958 2008-08-18  Bruno Haible  <bruno@clisp.org>
75960         * lib/glthread/thread.c: Avoid forcing a context switch right after
75961         thread creation.
75963 2008-08-17  Bruno Haible  <bruno@clisp.org>
75965         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
75966         * lib/glthread/thread.h: Provide Win32 specific implementation.
75967         * modules/thread (Files): Add lib/glthread/thread.c.
75968         (Depends-on): Add lock.
75969         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
75971 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75973         New module 'yield'.
75974         * modules/yield: New file.
75975         * lib/glthread/yield.h: New file.
75976         * m4/yield.m4: New file.
75977         * MODULES.html.sh (Multithreading): Add yield.
75979 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75981         New module 'thread'.
75982         * modules/thread: New file.
75983         * lib/glthread/thread.h: New file.
75984         * m4/thread.m4: New file.
75985         * MODULES.html.sh (Multithreading): Add thread.
75987 2008-08-17  Bruno Haible  <bruno@clisp.org>
75989         * lib/glthread/lock.h: Include <stdlib.h> always.
75990         * lib/glthread/tls.h: Likewise.
75991         * lib/glthread/cond.h: Likewise.
75993 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75995         New module 'cond'.
75996         * modules/cond: New file.
75997         * lib/glthread/cond.h: New file.
75998         * lib/glthread/cond.c: New file.
75999         * m4/cond.m4: New file.
76000         * MODULES.html.sh (Multithreading): Add cond.
76002 2008-08-16  Eric Blake  <ebb9@byu.net>
76004         c-stack: fix regression on Irix 5.3 from 2008-06-21
76005         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
76006         sa_sigaction...
76007         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
76008         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
76009         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
76010         * modules/signal (Makefile.am): Use the value.
76011         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
76012         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
76013         * doc/posix-headers/signal.texi (signal.h): Document this
76014         portability issue.
76015         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
76016         Reported by Tom G. Christensen.
76018 2008-08-17  Bruno Haible  <bruno@clisp.org>
76020         New module 'threadlib'.
76021         * modules/threadlib: New file.
76022         * lib/glthread/threadlib.c: New file, extracted from
76023         lib/glthread/lock.c.
76024         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
76025         functions.
76026         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
76027         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
76028         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
76029         macros.
76030         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
76031         (gl_DISABLE_THREADS): Remove macro.
76032         * modules/lock (Files): Remove build-aux/config.rpath.
76033         (Depends-on): Remove havelib. Add threadlib.
76034         (configure.ac-early): Remove section.
76035         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
76036         * modules/tls (Depends-on): Remove lock. Add threadlib.
76037         (Link): New section, copied from threadlib.
76038         * MODULES.html.sh (Multithreading): Add threadlib.
76040 2008-08-14  Bruno Haible  <bruno@clisp.org>
76042         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
76043         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
76044         glthread_rwlock_unlock, glthread_rwlock_destroy,
76045         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
76046         glthread_recursive_lock_destroy): Define as macros always.
76047         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
76048         glthread_lock_lock.
76049         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
76050         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
76051         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
76052         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
76053         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
76054         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
76055         (glthread_recursive_lock_lock_func): Renamed from
76056         glthread_recursive_lock_lock.
76057         (glthread_recursive_lock_unlock_func): Renamed from
76058         glthread_recursive_lock_unlock.
76059         (glthread_recursive_lock_destroy_func): Renamed from
76060         glthread_recursive_lock_destroy.
76062 2008-08-14  Bruno Haible  <bruno@clisp.org>
76064         * lib/glthread/lock.h: Renamed from lib/lock.h.
76065         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
76066         * lib/glthread/tls.h: Renamed from lib/tls.h.
76067         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
76068         * lib/fstrcmp.c: Update includes.
76069         * lib/strsignal.c: Update includes.
76070         * modules/lock (Files, Makefile.am): Update.
76071         (Include): Change to "glthread/lock.h".
76072         * modules/tls (Files, Makefile.am): Update.
76073         (Include): Change to "glthread/tls.h".
76074         * tests/test-lock.c: Update includes.
76075         * tests/test-tls.c: Update includes.
76076         * NEWS: Mention the renamed header files.
76078 2008-08-11  Jim Meyering  <meyering@redhat.com>
76080         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
76082 2008-08-11  Eric Blake  <ebb9@byu.net>
76084         test-c-stack: avoid C99-ism
76085         * tests/test-c-stack.c (main): Fix whitespace, move declaration
76086         before statement.
76087         Reported by Alain Guibert.
76089 2008-08-10  Jim Meyering  <meyering@redhat.com>
76091         ensure that return value of uinttostr et al are not ignored
76092         * lib/inttostr.h (__GNUC_PREREQ): Define.
76093         (__attribute_warn_unused_result__): Define.
76094         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
76096 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
76098         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
76099         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
76101 2008-08-07  Jim Meyering  <meyering@redhat.com>
76103         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
76105         * modules/mkstemp (License): Relicense under LGPLv2+.
76106         * modules/tempname (License): Likewise.
76108 2008-08-06  Bruno Haible  <bruno@clisp.org>
76110         * lib/poll.c (poll): Further micro-optimization.
76112 2008-08-06  Jim Meyering  <meyering@redhat.com>
76114         inet_pton.c: use locale-independent tolower
76115         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
76116         (inet_pton6): Use c_tolower rather than tolower.
76117         * modules/inet_pton (Depends-on): Add c-ctype.
76119 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
76121         * lib/poll.c (poll): Avoid division when timeout is 0, cache
76122         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
76124 2008-08-06  Jim Meyering  <meyering@redhat.com>
76126         * modules/inet_pton (License): Relicense under LGPLv2+.
76128 2008-08-03  Bruno Haible  <bruno@clisp.org>
76130         Additional non-aborting API for lock and tls.
76131         * lib/lock.h: Include <errno.h>.
76132         (glthread_lock_init): New macro/function.
76133         (gl_lock_init): Define as wrapper around glthread_lock_init.
76134         (glthread_lock_lock): New macro/function.
76135         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
76136         (glthread_lock_unlock): New macro/function.
76137         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
76138         (glthread_lock_destroy): New macro/function.
76139         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
76140         (glthread_rwlock_init): New macro/function.
76141         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
76142         (glthread_rwlock_rdlock): New macro/function.
76143         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
76144         (glthread_rwlock_wrlock): New macro/function.
76145         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
76146         (glthread_rwlock_unlock): New macro/function.
76147         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
76148         (glthread_rwlock_destroy): New macro/function.
76149         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
76150         (glthread_recursive_lock_init): New macro/function.
76151         (gl_recursive_lock_init): Define as wrapper around
76152         glthread_recursive_lock_init.
76153         (glthread_recursive_lock_lock): New macro/function.
76154         (gl_recursive_lock_lock): Define as wrapper around
76155         glthread_recursive_lock_lock.
76156         (glthread_recursive_lock_unlock): New macro/function.
76157         (gl_recursive_lock_unlock): Define as wrapper around
76158         glthread_recursive_lock_unlock.
76159         (glthread_recursive_lock_destroy): New macro/function.
76160         (gl_recursive_lock_destroy): Define as wrapper around
76161         glthread_recursive_lock_destroy.
76162         (glthread_once): New macro/function.
76163         (gl_once): Define as wrapper around glthread_once.
76164         Update function declarations.
76165         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
76166         glthread_rwlock_init. Return error code.
76167         (glthread_rwlock_rdlock_multithreaded): Renamed from
76168         glthread_rwlock_rdlock. Return error code.
76169         (glthread_rwlock_wrlock_multithreaded): Renamed from
76170         glthread_rwlock_wrlock. Return error code.
76171         (glthread_rwlock_unlock_multithreaded): Renamed from
76172         glthread_rwlock_unlock. Return error code.
76173         (glthread_rwlock_destroy_multithreaded): Renamed from
76174         glthread_rwlock_destroy. Return error code.
76175         (glthread_recursive_lock_init_multithreaded): Renamed from
76176         glthread_recursive_lock_init. Return error code.
76177         (glthread_recursive_lock_lock_multithreaded): Renamed from
76178         glthread_recursive_lock_lock. Return error code.
76179         (glthread_recursive_lock_unlock_multithreaded): Renamed from
76180         glthread_recursive_lock_unlock. Return error code.
76181         (glthread_recursive_lock_destroy_multithreaded): Renamed from
76182         glthread_recursive_lock_destroy. Return error code.
76183         (glthread_once_call): Make static.
76184         (glthread_once_multithreaded): Renamed from glthread_once.
76185         * lib/tls.h: Include <errno.h>.
76186         (glthread_tls_key_init): New macro/function.
76187         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
76188         (glthread_tls_set): New macro/function.
76189         (gl_tls_set): Define as wrapper around glthread_tls_set.
76190         (glthread_tls_key_destroy): New macro/function.
76191         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
76192         Update function declarations.
76193         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
76194         glthread_tls_get.
76195         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
76197 2008-08-04  Eric Blake  <ebb9@byu.net>
76199         gnumakefile: use space, not TAB, outside of targets
76200         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
76202 2008-08-02  Jim Meyering  <meyering@redhat.com>
76204         getdate.y: avoid locale-dependent date parsing failure
76205         In Turkish locales, getdate would fail to recognize keywords
76206         containing a lowercase "i".  The solution is not to rely on
76207         locale-sensitive case-conversion.
76208         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
76209         (lookup_word): Use c_toupper in place of toupper.
76210         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
76211         Reported by Vefa Bicakci <bicave@superonline.com> in
76212         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
76213         * modules/getdate (Depends-on): Add c-ctype.
76215 2008-08-02  Bruno Haible  <bruno@clisp.org>
76217         * gnulib-tool (func_import): When updating or creating a .gitignore
76218         file, prepend each added line with a slash, and ignore leading slashes
76219         from the existing lines.
76220         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
76222 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76224         Portability fix for GNU make 3.79.1.
76225         * top/GNUmakefile: Avoid 'else COND', which older GNU make
76226         versions do not understand.
76228 2008-08-01  Bruno Haible  <bruno@clisp.org>
76230         Work around bug of HP-UX 10.20 cc with -0.0 literal.
76231         * tests/test-isnanf.h (zero): New variable.
76232         (main): Avoid literal -0.0f.
76233         * tests/test-isnand.h (zero): New variable.
76234         (main): Avoid literal -0.0.
76235         * tests/test-isnanl.h (zero): New variable.
76236         (main): Avoid literal -0.0L.
76237         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
76238         (test_float, test_double, test_long_double): Avoid literals -0.0f,
76239         -0.0, -0.0L.
76240         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
76241         (test_signbitd): Avoid literal -0.0.
76242         (test_signbitl): Avoid literal -0.0L.
76243         * tests/test-ceilf1.c (zero): New variable.
76244         (main): Avoid literal -0.0f.
76245         * tests/test-ceill.c (zero): New variable.
76246         (main): Avoid literal -0.0L.
76247         * tests/test-floorf1.c (zero): New variable.
76248         (main): Avoid literal -0.0f.
76249         * tests/test-floorl.c (zero): New variable.
76250         (main): Avoid literal -0.0L.
76251         * tests/test-roundf1.c (zero): New variable.
76252         (main): Avoid literal -0.0f.
76253         * tests/test-round1.c (zero): New variable.
76254         (main): Avoid literal -0.0.
76255         * tests/test-roundl.c (zero): New variable.
76256         (main): Avoid literal -0.0L.
76257         * tests/test-truncf1.c (zero): New variable.
76258         (main): Avoid literal -0.0f.
76259         * tests/test-trunc1.c (zero): New variable.
76260         (main): Avoid literal -0.0.
76261         * tests/test-truncl.c (zero): New variable.
76262         (main): Avoid literal -0.0L.
76263         * tests/test-frexp.c (zero): New variable.
76264         (main): Avoid literal -0.0.
76265         * tests/test-frexpl.c (zero): New variable.
76266         (main): Avoid literal -0.0L.
76267         * tests/test-ldexpl.c (zero): New variable.
76268         (main): Avoid literal -0.0L.
76269         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76270         (zerod, zerol): New variables.
76271         (test_function): Avoid literals -0.0, -0.0L.
76272         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
76273         (zerod, zerol): New variables.
76274         (test_function): Avoid literals -0.0, -0.0L.
76275         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76276         (zerod, zerol): New variables.
76277         (test_function): Avoid literals -0.0, -0.0L.
76278         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
76279         (zerod, zerol): New variables.
76280         (test_function): Avoid literals -0.0, -0.0L.
76281         * tests/test-strtod.c (zero): New variable.
76282         (main): Avoid literal -0.0.
76283         Reported by Jonathan C. Patschke <jp@centtech.com>.
76285 2008-07-31  Jim Meyering  <meyering@redhat.com>
76287         sha256.h: correct definition of SHA224_DIGEST_SIZE
76288         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
76289         Reported by Paulie Pena IV <paulie4@gmail.com>.
76290         Define as 224 / 8, rather than as a literal.
76291         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
76292         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
76293         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
76295 2008-07-31  Bruno Haible  <bruno@clisp.org>
76297         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
76298         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
76299         Reported by Jonathan Patschke <jp@centtech.com>.
76301 2008-07-31  Bruno Haible  <bruno@clisp.org>
76303         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
76304         Reported by Paolo Bonzini <bonzini@gnu.org>.
76306 2008-07-30  Eric Blake  <ebb9@byu.net>
76308         test-strtod: allow compilation without -lm
76309         * tests/test-strtod.c (main): Avoid link dependence on fabs.
76310         Reported by Dennis Clarke <blastwave@gmail.com>.
76312 2008-07-28  Jim Meyering  <meyering@redhat.com>
76314         bootstrap: work also when there are no .po files in po/
76315         * build-aux/bootstrap (update_po_files): Complete the change
76316         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
76318 2008-07-27  Jim Meyering  <meyering@redhat.com>
76320         * users.txt: Add zile.
76322 2008-07-26  Ben Pfaff  <blp@gnu.org>
76324         Add missing dependencies on new m4/exponent[fdl].m4 files.
76325         * modules/isnanf-nolibm: Add m4/exponentf.m4.
76326         * modules/isnand-nolibm: Add m4/exponentd.m4.
76327         * modules/isnanl-nolibm: Add m4/exponentl.m4.
76328         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
76329         m4/isnan[fdl].m4, because the macros actually used moved.
76330         Reported by Jim Meyering.
76332 2008-07-14  Ben Pfaff  <blp@gnu.org>
76334         Add isinf module.
76335         * lib/isinf.c: New file.
76336         * lib/math.in.h: Define isinf macro if we have decided to replace
76337         it.
76338         * m4/isinf.m4: New file.
76339         * m4/math_h.m4: Initialize and substitute variables for isinf
76340         module.
76341         * modules/isinf: New file.
76342         * modules/isinf-tests: New file.
76343         * modules/math: Add substitutions for new module.
76344         * tests/test-isinf.c: New file.
76345         * doc/posix-functions/isinf.texi: Mention new module.
76346         * MODULES.html.sh: Mention new module.
76348 2008-07-14  Ben Pfaff  <blp@gnu.org>
76350         Factor out some macros for use by additional modules.
76351         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
76352         exponentf.m4.
76353         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
76354         exponentd.m4.
76355         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
76356         file exponentl.m4.
76357         * m4/exponentf.m4: New file.
76358         * m4/exponentd.m4: New file.
76359         * m4/exponentl.m4: New file.
76360         * modules/isnanf: Use new file m4/exponentf.m4.
76361         * modules/isnand: Use new file m4/exponentd.m4.
76362         * modules/isnanl: Use new file m4/exponentl.m4.
76364 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
76366         mktime.c: normalize tp->tm_isdst value to -1/0/1.
76367         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
76368         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
76369         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
76371         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
76372         readlink on platforms without PATH_MAX.
76374 2008-07-21  Eric Blake  <ebb9@byu.net>
76376         Warn, not fail, on stale version.
76377         * top/GNUmakefile (_curr-ver): Tone down previous patch.
76379         Don't allow installation with stale devel version number.
76380         * top/GNUmakefile (_is-install-target): New macro.
76381         (_curr-ver): Forbid installation with stale version number.
76383 2008-07-20  Bruno Haible  <bruno@clisp.org>
76385         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
76386         TESTS_ENVIRONMENT.
76387         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
76389 2008-07-20  Bruno Haible  <bruno@clisp.org>
76391         * lib/c-stack.h (c_stack_action): Add documentation.
76392         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
76394 2008-07-20  Bruno Haible  <bruno@clisp.org>
76396         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
76397         * modules/readlink (License): Likewise.
76399 2008-07-17  Eric Blake  <ebb9@byu.net>
76401         * modules/c-stack (Link): Fix typo.
76403         Make c-stack use libsigsegv, when available.
76404         * modules/c-stack (Depends-on): Add libsigsegv.
76405         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
76406         needed.
76407         * lib/c-stack.c (SIGSTKSZ): Define fallback.
76408         (segv_handler, overflow_handler, c_stack_action)
76409         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
76410         implementation when libsigsegv is available, but only when using
76411         the library is necessary.
76412         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
76413         comment, explaining why XSI check fails on Linux.
76414         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
76415         * tests/test-c-stack2.sh: Tweak skip message.
76416         * NEWS: Document new link-time requirements.
76418 2008-07-16  Eric Blake  <ebb9@byu.net>
76420         c-stack: Expose false positives when not using libsigsegv.
76421         * modules/c-stack-tests (Files): Expand test.
76422         * tests/test-c-stack.c (main): Add means to conditionally trigger
76423         non-overflow SIGSEGV.
76424         * tests/test-c-stack2.sh: New file.
76426 2008-07-14  Bruno Haible  <bruno@clisp.org>
76428         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
76429         Reported by Eric Blake.
76431 2008-07-14  Sam Steingold  <sds@gnu.org>
76432             Bruno Haible  <bruno@clisp.org>
76434         New module libsigsegv.
76435         * modules/libsigsegv: New file.
76436         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
76437         modifications.
76438         * MODULES.html.sh (Signal handling): New section.
76440 2008-07-14  Bruno Haible  <bruno@clisp.org>
76442         * modules/unictype/ctype-* (Description): Add the word "function".
76443         Improves the resulting doc in MODULES.html.
76445 2008-07-12  Ben Pfaff  <blp@gnu.org>
76447         Add longlong module.
76448         * modules/longlong: New file.
76450 2008-07-12  Bruno Haible  <bruno@clisp.org>
76452         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
76453         to empty.
76455 2008-07-10  Ben Pfaff  <blp@gnu.org>
76457         Add isnan module.
76458         * doc/posix-functions/isnan.texi: Mention new module.
76459         * lib/math.in.h: Define isnan macro if we have decided to replace
76460         it.
76461         * m4/isnan.m4: New file.
76462         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
76463         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
76464         also.
76465         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
76466         redundancy.
76467         * m4/math_h.m4: Initialize and substitute variables for isnan
76468         module.
76469         * modules/isnan: New file.
76470         * modules/isnan-tests: New file.
76471         * modules/math: Add substitutions for new module.
76472         * tests/test-isnan.c: New file.
76473         * MODULES.html.sh: Mention new module.
76475 2008-07-10  Ben Pfaff  <blp@gnu.org>
76477         Add isnanf module.
76478         * lib/isnanf.m4: New file.
76479         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
76480         (gl_HAVE_ISNANF_IN_LIBM): New macro.
76481         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
76482         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
76483         * modules/isnanf: New file.
76484         * modules/isnanf-tests: New file.
76485         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
76486         files.
76487         * tests/test-isnanf-nolibm.c: factored most of its contents into
76488         new file tests/test-isnanf.h.
76489         * tests/test-isnanf.h: New file.
76490         * tests/test-isnanf.c: New file.
76491         * MODULES.html.sh: Mention new module.
76492         * doc/glibc-functions/isnanf.texi: Mention new module.
76494 2008-07-10  Ben Pfaff  <blp@gnu.org>
76496         Add isnand module.
76497         * lib/isnand.h: New file.
76498         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
76499         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
76500         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
76501         functionality also.
76502         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
76503         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
76504         (gl_HAVE_ISNAND_IN_LIBM): New macro.
76505         * modules/isnand: New file.
76506         * modules/isnand-tests: New file.
76507         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
76508         files.
76509         * tests/test-isnand-nolibm.c: factored most of its contents into
76510         new file tests/test-isnand.h.
76511         * tests/test-isnand.h: New file.
76512         * tests/test-isnand.c: New file.
76513         * MODULES.html.sh: Mention new module.
76515 2008-07-10  Ben Pfaff  <blp@gnu.org>
76517         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
76518         * lib/isnand.h: Rename lib/isnand-nolibm.h.
76519         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
76520         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
76521         * modules/isnanf-nolibm: Update references to renamed files.
76522         * modules/isnand-nolibm: Likewise.
76523         * modules/isnanf-nolibm-tests: Likewise.
76524         * modules/isnand-nolibm-tests: Likewise.
76525         * lib/frexp.c: Likewise.
76526         * lib/isfinite.c: Likewise.
76527         * lib/signbitd.c: Likewise.
76528         * lib/signbitf.c: Likewise.
76529         * lib/vasnprintf.c: Likewise.
76530         * tests/test-ceilf1.c: Likewise.
76531         * tests/test-ceilf2.c: Likewise.
76532         * tests/test-floorf1.c: Likewise.
76533         * tests/test-floorf2.c: Likewise.
76534         * tests/test-frexp.c: Likewise.
76535         * tests/test-round1.c: Likewise.
76536         * tests/test-round2.c: Likewise.
76537         * tests/test-roundf1.c: Likewise.
76538         * tests/test-strtod.c: Likewise.
76539         * tests/test-trunc1.c: Likewise.
76540         * tests/test-trunc2.c: Likewise.
76541         * tests/test-truncf1.c: Likewise.
76542         * tests/test-truncf2.c: Likewise.
76543         * NEWS: Mention the renamed header files.
76545 2008-07-11  Jim Meyering  <meyering@redhat.com>
76547         vc-list-files: make the last-resort awk code more portable
76548         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
76549         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
76550         does not support it.
76552 2008-07-10  Eric Blake  <ebb9@byu.net>
76554         Work with tar's bootstrap.
76555         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
76556         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
76557         an m4 comment.
76559 2008-07-09  Jim Meyering  <meyering@redhat.com>
76561         posix-shell.m4: fix typo that made this test malfunction
76562         * m4/posix-shell.m4: Remove capitalization in variable name.
76564 2008-07-08  Bruno Haible  <bruno@clisp.org>
76566         * m4/onceonly.m4: Update comments.
76567         Reported by Ben Pfaff <blp@cs.stanford.edu>.
76569 2008-07-04  Jim Meyering  <meyering@redhat.com>
76571         * users.txt: Add vc-dwim.
76572         (bison, coreutils): Use the gitweb URL.
76574 2008-07-03  Jim Meyering  <meyering@redhat.com>
76576         * users.txt: Add libffcall.  From Sam Steingold.
76578 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
76580         getdate.y: do not ignore TZ with relative day, month or year offset
76581         * lib/getdate.y (get_date): Move the tz-handling block to follow the
76582         relative-date-handling, since otherwise, the latter would clobber the
76583         sole output (an updated Start value) of the tz-handling block.
76584         * tests/test-getdate.c: Tests for the fix
76586 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76588         Recognize 'foo_LIBRARIES += libgnu.a'.
76589         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
76590         makefile snippet has already specified an installation location,
76591         also using '+='.
76593 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
76595         getdate.y: factor out common actions
76596         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
76597         Use them in place of open-coded actions.
76599 2008-07-01  Simon Josefsson  <simon@josefsson.org>
76601         Add self-test for getdate module.
76602         * modules/getdate-tests: New file.
76603         * tests/test-getdate.c: New file.
76605 2008-06-29  Bruno Haible  <bruno@clisp.org>
76607         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
76608         .gitignore.
76609         Reported by Sylvain Beucler <beuc@beuc.net>.
76611 2008-06-29  Bruno Haible  <bruno@clisp.org>
76613         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
76614         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
76616 2008-06-29  Bruno Haible  <bruno@clisp.org>
76618         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
76619         EXTRA_DIST.
76620         Reported by Sylvain Beucler <beuc@beuc.net>.
76622 2008-06-26  Jim Meyering  <meyering@redhat.com>
76624         make several modules depend on the "open" module
76625         This provides slightly increased consistency when opening-for-write
76626         the name of a non-directory spelled with a trailing slash.
76627         * modules/chdir-safer: Likewise.
76628         * modules/chown: Likewise.
76629         * modules/clean-temp: Likewise.
76630         * modules/copy-file: Likewise.
76631         * modules/fchdir: Likewise.
76632         * modules/fcntl-safer: Likewise.
76633         * modules/pipe: Likewise.
76634         * modules/utime: Likewise.
76635         Prompted by Eric Blake and Bruno Haible.
76637 2008-06-24  Andreas Schwab  <schwab@suse.de>
76639         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
76640         literals can be used as initializers for global variables.
76642 2008-06-23  Eric Blake  <ebb9@byu.net>
76644         Make gnulib-cache.m4 easier to diff.
76645         * gnulib-tool (func_import): Allow newlines when reading cached
76646         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
76648 2008-06-23  Bruno Haible  <bruno@clisp.org>
76650         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
76651         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
76652         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
76653         m4/signalblocking.m4.
76654         (gl_PREREQ_SIGACTION): Don't invoke it.
76655         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
76656         gl_PREREQ_SIG_HANDLER_H.
76657         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76658         Don't check for sigaction here.
76660 2008-06-23  Bruno Haible  <bruno@clisp.org>
76662         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
76663         (install_handlers): Don't set the SA_RESETHAND flag.
76665 2008-06-23  Bruno Haible  <bruno@clisp.org>
76667         * m4/sigaction.m4: Comment fixes.
76668         * lib/signal.in.h: Likewise.
76670 2008-06-23  Eric Blake  <ebb9@byu.net>
76672         Fix typo.
76673         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
76675         Avoid SA_ namespace.
76676         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
76677         Reported by Ralf Wildenhues.
76679         Avoid test failure due to SA_RESTORER.
76680         * tests/test-sigaction.c (SA_MASK): New macro.
76681         (main): Avoid failing due to extension flags being set.
76682         Reported by Jim Meyering.
76684         Revert use of sig-handler.h in sigprocmask.c.
76685         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
76686         it requires the existence of struct sigaction.
76687         * lib/sigprocmask.c (handler_t): Restore typedef.
76688         (rpl_signal, old_handlers): Use local type.
76690 2008-06-22  Bruno Haible  <bruno@clisp.org>
76692         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
76693         conditionally.
76694         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
76696 2008-06-22  Bruno Haible  <bruno@clisp.org>
76698         * doc/posix-functions/siginterrupt.texi: Move note.
76700         * lib/signal.in.h (SA_RESTART): New macro.
76701         * lib/sigaction.c: Update comment.
76703         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
76705         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
76706         (gl_PREREQ_SIGPROCMASK): Invoke it.
76707         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
76709         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
76711         * lib/sigprocmask.c: Update a comment.
76713 2008-06-21  Eric Blake  <ebb9@byu.net>
76715         Use sigaction module rather than signal().
76716         * modules/c-stack (Depends-on): Add sigaction.
76717         * modules/fatal-signal (Depends-on): Likewise.
76718         * modules/nanosleep (Depends-on): Likewise.
76719         * modules/sigprocmask (Files): Add sig-handler.h.
76720         * modules/sigaction (Files): Likewise.
76721         * lib/sig-handler.h (get_handler): New file, suggested by Paul
76722         Eggert.
76723         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
76724         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
76725         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
76726         (init_fatal_signals): Likewise.
76727         * lib/nanosleep.c (rpl_nanosleep): Likewise.
76728         (siginterrupt): Delete fallback.
76729         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
76730         instead.
76731         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
76732         siginterrupt.
76734         New module sigaction, for mingw.
76735         * modules/sigaction: New module...
76736         * modules/sigaction-tests: ...and its test.
76737         * m4/sigaction.m4: New file.
76738         * lib/sigaction.c: Likewise.
76739         * tests/test-sigaction.c: Likewise.
76740         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
76741         * modules/signal (Makefile.am): Likewise.
76742         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
76743         needed.
76744         * doc/posix-headers/signal.texi (signal.h): Mention provided
76745         types.
76746         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
76747         that sigaction is preferable.
76748         * doc/posix-functions/sigaction.texi (sigaction): Mention new
76749         module.
76750         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76751         sigaction.
76753         Improve robustness of sigprocmask by overriding signal.
76754         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
76755         is in use.
76756         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
76757         (SIGKILL, SIGSTOP): Provide fallbacks.
76758         (rpl_signal): Implement.
76759         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
76760         signal can be called inside handlers.
76762         Fix nanosleep module on mingw.
76763         * modules/nanosleep (Depends-on): Add sys_select.
76764         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
76766         Fix licensing of sigprocmask.
76767         * modules/raise (License): Relicense as LGPL.
76769 2008-06-21  Bruno Haible  <bruno@clisp.org>
76771         * lib/propername.c (proper_name_utf8): Don't use the transliterated
76772         result if it contains question marks.
76773         Reported by Michael Geng <linux@michaelgeng.de>.
76775 2008-06-19  Bruno Haible  <bruno@clisp.org>
76777         Fix CVS-ism.
76778         * doc/gnulib.texi: Include updated-stamp.texi.
76779         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
76780         (updated-stamp.texi): New rule.
76781         (gnulib.info): Depend on it.
76782         * doc/.gitignore: Add updated-stamp.texi.
76783         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
76785 2008-06-19  Bruno Haible  <bruno@clisp.org>
76787         * doc/Makefile (gnulib.info): Update and simplify dependencies.
76788         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
76790 2008-06-19  Eric Blake  <ebb9@byu.net>
76792         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
76793         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
76794         Reported by Stepan Kasal.
76796 2008-06-18  Bruno Haible  <bruno@clisp.org>
76798         * lib/fatal-signal.c (init_fatal_signals): Add comment.
76799         Reported by Eric Blake.
76801 2008-06-18  Eric Blake  <ebb9@byu.net>
76803         Work around cygwin 1.5.25 strsignal bug.
76804         * tests/test-strsignal.c: Allow for const char *.
76805         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
76807 2008-06-18  Simon Josefsson  <simon@josefsson.org>
76809         * users.txt: Update URL to article and add author/date
76810         information.
76812 2008-06-17  Bruno Haible  <bruno@clisp.org>
76814         New macro gl_DISABLE_THREADS.
76815         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
76816         if the user did not pass --enable-threads or --disable-threads option.
76817         (gl_DISABLE_THREADS): New macro.
76818         Reported by Eric Blake <ebb9@byu.net>.
76820 2008-06-17  Bruno Haible  <bruno@clisp.org>
76822         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
76823         when the macro ignores it.
76824         Based on a patch by Eric Blake <ebb9@byu.net>.
76826 2008-06-17  Bruno Haible  <bruno@clisp.org>
76828         * modules/tls (License): Change to LGPLv2+.
76829         Reported by Eric Blake.
76831 2008-06-17  Eric Blake  <ebb9@byu.net>
76833         Simplify c-stack prerequisites.
76834         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
76835         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
76836         no longer requires <ucontext.h> to exist.  Optimize setrlimit
76837         check.
76838         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
76839         <sys/resource.h>.
76841         Move c-stack test into testsuite.
76842         * modules/c-stack-tests: New file.
76843         * lib/c-stack.c [DEBUG]: Move test program...
76844         * tests/test-c-stack.c: ...into this new file.  Skip rather than
76845         fail test if sigaltstack is lacking.
76846         * tests/test-c-stack.sh: New driver file.
76848 2008-06-16  Eric Blake  <ebb9@byu.net>
76850         Use raise module consistently.
76851         * modules/fatal-signal (Depends-on): Add raise.
76852         * modules/sigprocmask (Depends-on): Likewise.
76853         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
76854         * lib/sigprocmask.c (sigprocmask): Likewise.
76855         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
76856         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
76858         Fix compliance bug in sigpending.
76859         * lib/sigprocmask.c (sigpending): Return pending array via
76860         parameter, not return value.
76862 2008-06-14  Eric Blake  <ebb9@byu.net>
76864         Improve obstack-printf test code.
76865         * tests/test-obstack-printf.c (test_function): Fix comment, and
76866         simplify usage of obstack_* in macros.  Add a test for coverage.
76867         Reported by Bruno Haible.
76869 2008-06-14  Bruno Haible  <bruno@clisp.org>
76871         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
76872         array size as a constant, not as a const variable.
76873         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
76874         AC_USE_SYSTEM_EXTENSIONS.
76875         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
76876         Test whether the obstack_printf function actually exists.
76877         * modules/obstack-printf (Depends-on): Add extensions.
76878         (Include): Remove obstack.h.
76879         * modules/obstack-printf-posix (Depends-on): Add extensions.
76880         (Include): Remove obstack.h.
76882 2008-06-13  Eric Blake  <ebb9@byu.net>
76884         Add obstack-printf and obstack-printf-posix modules.
76885         * modules/obstack-printf: New file.
76886         * modules/obstack-printf-posix: Likewise.
76887         * MODULES.html.sh (Misc): Mention them.
76888         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
76889         Likewise.
76890         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
76891         Likewise.
76892         * modules/stdio (Makefile.am): Accomodate new modules.
76893         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
76894         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
76895         Declare.
76896         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
76897         functions.
76898         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
76899         (gl_REPLACE_OBSTACK_PRINTF): New macros
76900         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
76901         * tests/test-obstack-printf.c: New file.
76902         * modules/obstack-printf-tests: Likewise.
76903         * modules/obstack-printf-posix-tests: Likewise.
76905 2008-06-11  Bruno Haible  <bruno@clisp.org>
76907         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
76908         * lib/open.c: Include errno.h.
76909         (open): Fail when attempting to write to a file that has a trailing
76910         slash.
76911         * tests/test-open.c (main): Test against trailing slash bug.
76912         * doc/posix-functions/open.texi: Mention the trailing slash bug.
76914 2008-06-10  Bruno Haible  <bruno@clisp.org>
76916         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
76917         for $? to work inside the trap command, with various /bin/sh-s.
76918         * tests/test-vc-list-files-cvs.sh: Likewise.
76920 2008-06-10  Bruno Haible  <bruno@clisp.org>
76922         * lib/acl-internal.h: Don't include gettext.h here.
76923         * lib/set-mode-acl.c: Include gettext.h here.
76924         * lib/copy-acl.c: Likewise.
76926 2008-06-10  Bruno Haible  <bruno@clisp.org>
76928         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
76929         * lib/wait-process.c (wait_subprocess): Likewise.
76930         * lib/execute.h (execute): Add termsigp argument.
76931         * lib/execute.c (execute): Likewise.
76932         * lib/csharpcomp.c (compile_csharp_using_pnet,
76933         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
76934         * lib/csharpexec.c (execute_csharp_using_pnet,
76935         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
76936         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
76937         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
76938         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
76939         is_jikes_present): Update.
76940         * lib/javaexec.c (execute_java_class): Update.
76941         * lib/javaversion.c (execute_and_read_line): Update.
76942         * NEWS: Document the changes.
76943         Reported by Eric Blake.
76945 2008-06-10  Eric Blake  <ebb9@byu.net>
76947         Add missing include.
76948         * tests/test-strstr.c (includes): Add <signal.h>.
76949         * tests/test-strcasestr.c (includes): Likewise.
76950         * tests/test-memmem.c (includes): Likewise.
76952 2008-06-10  Bruno Haible  <bruno@clisp.org>
76954         * lib/wait-process.c (wait_subprocess): Add an assertion.
76956 2008-06-10  Bruno Haible  <bruno@clisp.org>
76958         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
76960 2008-06-10  Bruno Haible  <bruno@clisp.org>
76962         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
76963         using alarm().
76964         * tests/test-strcasestr.c (main): Likewise.
76965         * tests/test-strstr.c (main): Likewise.
76967 2008-06-09  Bruno Haible  <bruno@clisp.org>
76969         Work around the Solaris 10 ACE ACLs ABI change.
76970         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
76971         declare if ACL_NO_TRIVIAL is present.
76972         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
76973         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
76974         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
76975         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
76976         define if ACL_NO_TRIVIAL is present.
76977         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
76978         and use the current ABI.
76979         (file_has_acl): Use same #if condition as elsewhere.
76980         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
76981         in use, and use the current ABI.
76982         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
76983         Reported by Jim Meyering.
76985 2008-06-09  Eric Blake  <ebb9@byu.net>
76987         Work around environments that (stupidly) ignore SIGALRM.
76988         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
76989         before using alarm().
76990         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
76991         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
76992         Reported by Ian Beckwith <ianb@erislabs.net>.
76994         Produce autobuild blurb earlier in log.
76995         * modules/autobuild (configure.ac-early): Move AB_INIT here.
76997 2008-06-09  Jim Meyering  <meyering@redhat.com>
76998         and Ondřej Vašík  <ovasik@redhat.com>
77000         utimens.c: correct kernel bug work-around
77001         Ondřej Vašík found that the invalid return value of 280 indicates
77002         failure, not success, and the kernel bug we're trying to work
77003         around affects not just the utimensat call, but also the fallback
77004         futimens call.
77005         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
77006         not success.
77007         [HAVE_FUTIMENS]: Use the same work-around, here.
77009 2008-06-09  Jim Meyering  <meyering@redhat.com>
77011         add more guards around definition of ACE_-related code
77012         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
77013         ALLOW and ACE_OWNER are also defined.
77015 2008-06-08  Bruno Haible  <bruno@clisp.org>
77017         * lib/acl-internal.h: Add me as co-author.
77018         * lib/file-has-acl.c: Likewise.
77019         * lib/set-mode-acl.c: Likewise.
77020         * lib/copy-acl.c: Likewise.
77022 2008-06-08  Bruno Haible  <bruno@clisp.org>
77024         Add support for AIX ACLs.
77025         * lib/acl-internal.h (acl_nontrivial): New declaration.
77026         * lib/file-has-acl.c (acl_nontrivial): New function.
77027         (file_has_acl): Add implementation using AIX 4 ACL API.
77028         * lib/set-mode-acl.c (qset_acl): Likewise.
77029         * lib/copy-acl.c (qcopy_acl): Likewise.
77031 2008-06-08  Bruno Haible  <bruno@clisp.org>
77033         Add support for HP-UX ACLs.
77034         * lib/acl-internal.h (acl_nontrivial): New declaration.
77035         * lib/file-has-acl.c (acl_nontrivial): New function.
77036         (file_has_acl): Add implementation using HP-UX 11 ACL API.
77037         * lib/set-mode-acl.c (qset_acl): Likewise.
77038         * lib/copy-acl.c (qcopy_acl): Likewise.
77040 2008-06-08  Bruno Haible  <bruno@clisp.org>
77042         Add support for Cygwin ACLs.
77043         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
77044         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
77045         the chmod_or_fchmod call.
77046         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
77048 2008-06-08  Bruno Haible  <bruno@clisp.org>
77050         Fix bug with setuid modes in Solaris 10+ code.
77051         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
77052         succeeded, when the mode contains some special bits.
77054 2008-06-08  Bruno Haible  <bruno@clisp.org>
77056         Add support for Solaris 7..10 ACLs.
77057         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
77058         declarations.
77059         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
77060         functions.
77061         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
77062         * lib/set-mode-acl.c (qset_acl): Likewise.
77063         * lib/copy-acl.c (qcopy_acl): Likewise.
77065 2008-06-08  Bruno Haible  <bruno@clisp.org>
77067         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
77068         declaration.
77069         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
77070         (acl_access_nontrivial): Remove MacOS X case.
77071         (file_has_acl): Use acl_extended_nontrivial.
77072         * lib/copy-acl.c (qcopy_acl): Likewise.
77074 2008-06-08  Bruno Haible  <bruno@clisp.org>
77076         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
77078 2008-06-08  Jim Meyering  <meyering@redhat.com>
77080         * modules/acl (Maintainer): Add Bruno Haible.
77082 2008-06-07  Bruno Haible  <bruno@clisp.org>
77084         Improve support for Tru64 ACLs.
77085         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
77086         ACL on OSF/1.
77088 2008-06-07  Bruno Haible  <bruno@clisp.org>
77090         Add support for MacOS X ACLs.
77091         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
77092         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
77093         * lib/set-mode-acl.c (qset_acl): Likewise.
77094         * lib/copy-acl.c (qcopy_acl): Likewise.
77096 2008-06-07  Bruno Haible  <bruno@clisp.org>
77098         Fix memory leak introduced on 2008-05-22.
77099         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
77100         use.
77102 2008-06-07  Bruno Haible  <bruno@clisp.org>
77104         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
77105         to construct an empty ACL.
77107 2008-06-07  Bruno Haible  <bruno@clisp.org>
77109         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
77110         precisely.
77111         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
77113 2008-06-07  Bruno Haible  <bruno@clisp.org>
77115         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
77116         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
77118 2008-06-07  Bruno Haible  <bruno@clisp.org>
77120         * doc/posix-functions/_setjmp.texi: Explain the use of this function
77121         regardless of POSIX.
77122         * doc/posix-functions/_longjmp.texi: Likewise.
77123         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
77124         SystemV platform in this case.
77126 2008-06-06  Eric Blake  <ebb9@byu.net>
77128         Document abort() bugs.
77129         * doc/posix-functions/abort.texi (abort): Mention anomalies.
77131         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
77132         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
77133         sigsetjmp.
77134         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
77135         siglongjmp, but only as a macro.
77136         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
77137         is obsolete.
77138         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
77140         Tweak documentation to cover cygwin argz bugs.
77141         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
77142         argz bug fix; no code change needed since no cygwin releases
77143         occurred between the last fix and the bug being tested.
77144         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
77145         module and recently fixed cygwin bugs.
77146         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
77147         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
77148         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
77149         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
77150         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
77151         Likewise.
77152         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
77153         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
77154         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
77155         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
77156         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
77157         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
77158         Likewise.
77160         Avoid gcc warning on cygwin.
77161         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
77162         !ACL_NO_TRIVIAL]: Avoid unused variable.
77164 2008-06-05  Eric Blake  <ebb9@byu.net>
77166         Be tolerant of UNKNOWN version in gnulib-tool test dir.
77167         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
77168         git-version-gen fails to come up with a version.
77169         Reported by Simon Josefsson.
77171 2008-06-05  Jim Meyering  <meyering@redhat.com>
77172             Paul Eggert  <eggert@cs.ucla.edu>
77174         utimens.c: work around a probable Linux kernel bug
77175         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
77176         appears to be a kernel bug that causes utimensat to return 280
77177         instead of 0, indicating success.
77179 2008-06-04  Bruno Haible  <bruno@clisp.org>
77181         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
77182         2008-06-01 commit.
77184 2008-06-04  Bruno Haible  <bruno@clisp.org>
77186         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
77187         * lib/file-has-acl.c (acl_access_nontrivial): New function.
77188         (file_has_acl): Use it. Save errno afterwards.
77189         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
77191 2008-06-03  Bruno Haible  <bruno@clisp.org>
77193         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
77194         draft code. Simplify #ifs.
77195         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
77196         Put Solaris code after POSIX-draft code. Fix comments regarding
77197         Solaris 10, HP-UX. Mention Cygwin.
77198         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
77200 2008-06-03  Eric Blake  <ebb9@byu.net>
77202         Provide fallback for older kernels.
77203         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
77204         Provide runtime fallback if kernel lacks support.
77205         Reported by Mike Frysinger.
77207 2008-06-02  Bruno Haible  <bruno@clisp.org>
77209         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
77210         it exists.
77212 2008-06-02  Bruno Haible  <bruno@clisp.org>
77214         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
77215         * lib/copy-acl.c (qcopy_acl): Update comment.
77217 2008-06-02  Bruno Haible  <bruno@clisp.org>
77219         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
77220         like ACL APIs.
77222 2008-06-02  Bruno Haible  <bruno@clisp.org>
77224         * tests/test-file-has-acl.sh: Use different code for Cygwin.
77225         * tests/test-set-mode-acl.sh: Likewise.
77226         * tests/test-copy-acl.sh: Likewise.
77227         * tests/test-copy-file.sh: Likewise.
77229 2008-06-02  Bruno Haible  <bruno@clisp.org>
77231         * tests/test-file-has-acl.sh: Remove unused code.
77233 2008-06-01  Bruno Haible  <bruno@clisp.org>
77235         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
77236         (copy_acl): Just a wrapper around qcopy_acl that emits the error
77237         messages.
77238         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
77240 2008-06-01  Bruno Haible  <bruno@clisp.org>
77242         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
77243         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
77244         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
77245         APIs.
77246         * modules/acl-tests (configure.ac): Remove tests now contained in
77247         m4/acl.m4.
77249 2008-06-02  Jim Meyering  <meyering@redhat.com>
77251         announce-gen: use a better key-server host name
77252         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
77253         it may be more consistently reliable.  Suggested by Werner Koch
77254         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
77256 2008-06-01  Bruno Haible  <bruno@clisp.org>
77258         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
77259         Reported by Voroskoi Andras <voroskoi@gmail.com>.
77261 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
77263         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
77265 2008-06-01  Bruno Haible  <bruno@clisp.org>
77267         New ACL tests.
77268         * tests/test-file-has-acl.sh: New file.
77269         * tests/test-file-has-acl.c: New file.
77270         * tests/test-set-mode-acl.sh: New file.
77271         * tests/test-set-mode-acl.c: New file.
77272         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
77273         * tests/test-copy-acl.c: New file.
77274         * modules/acl-tests: New file, based on modules/copy-file-tests.
77275         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
77276         (Depends-on): Add acl-tests.
77277         (configure.ac): Remove checks.
77278         (Makefile.am): Don't create test-sameacls program here any more.
77280 2008-06-01  Bruno Haible  <bruno@clisp.org>
77282         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
77283         * tests/test-sameacls.c: Include progname.h.
77284         (main): Invoke set_program_name. Portability fixes for MacOS X,
77285         Solaris, HP-UX.
77287 2008-06-01  Bruno Haible  <bruno@clisp.org>
77289         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
77290         function.
77291         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
77293 2008-06-01  Bruno Haible  <bruno@clisp.org>
77295         * modules/rpmatch (Depends-on): Add strdup.
77297 2008-06-01  Bruno Haible  <bruno@clisp.org>
77299         * lib/pipe.c: Include unistd-safer.h.
77300         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
77301         * modules/pipe (Depends-on): Add unistd-safer.
77303 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77305         * modules/autobuild (configure.ac): Call AB_INIT.
77307 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77309         * tests/test-getaddrinfo.c: Don't print debug messages by default.
77310         Suggested by Bruno Haible <bruno@clisp.org>.
77312 2008-05-30  Simon Josefsson  <simon@josefsson.org>
77314         * tests/test-base64.c: Cast size_t to unsigned long when invoking
77315         printf.  Use %lu instead of %d.  Reported by Bruno Haible
77316         <bruno@clisp.org>.
77318 2008-05-29  Eric Blake  <ebb9@byu.net>
77320         Prefer new POSIX 200x interfaces over futimesat.
77321         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
77322         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
77323         when available.
77324         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
77326 2008-05-28  Bruno Haible  <bruno@clisp.org>
77328         * modules/stpcpy (License): Change to LGPLv2+.
77329         Requested by David Lutterkort <dlutter@redhat.com>.
77331 2008-05-27  Bruno Haible  <bruno@clisp.org>
77333         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
77334         current mingw.
77335         Reported by Jose E. Marchesi <jemarch@gnu.org>.
77337 2008-05-27  Bruno Haible  <bruno@clisp.org>
77339         * modules/iconv_open (Link): New section, from module 'iconv'.
77340         * modules/striconv (Link): Likewise.
77341         * modules/striconveh (Link): Likewise.
77342         * modules/xstriconv (Link): Likewise.
77343         * modules/unicodeio (Link): Likewise.
77344         * modules/propername (Link): Likewise.
77345         Reported by Jim Meyering.
77347 2008-05-26  Jim Meyering  <meyering@redhat.com>
77349         sha256: do not artificially restrict buffer length to be < 2^32
77350         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
77351         uint32_t to size_t.
77352         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
77353         to match.
77355         avoid unaligned access errors, e.g., on sparc
77356         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
77357         direct access through a possibly-unaligned uint64* pointer.
77358         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
77359         direct access through a possibly-unaligned uint32* pointer.
77360         Prompted by this patch from Tom "spot" Callaway:
77361         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
77363         sha512.c: fix typo in comment
77364         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
77366 2008-05-25  Bruno Haible  <bruno@clisp.org>
77368         * lib/set-mode-acl.c: Renamed from lib/acl.c.
77369         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
77370         (Makefile.am): Update lib_SOURCES.
77372 2008-05-25  Bruno Haible  <bruno@clisp.org>
77374         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
77376 2008-05-25  Jim Meyering  <meyering@redhat.com>
77378         useless-if-before-free: freed expr may have white-space differences
77379         * build-aux/useless-if-before-free: Recognize cases in which the
77380         freed expression differs from the tested one in embedded white
77381         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
77382         $1 was used, so we can't make any regexp shy.  Improved tests now
77383         detect this.
77385         useless-if-before-free: accept white space in the expression.
77386         * build-aux/useless-if-before-free: For now, any white space
77387         in the expression must be identical in the free argument.
77389         useless-if-before-free: efficiency tweak
77390         * build-aux/useless-if-before-free: Make the expression-matching
77391         regexp "shy".
77392         Make the *outer* regexp shy, not the expr-matching one.
77394         update code-in-comment to accept cast of free arg
77395         * build-aux/useless-if-before-free: Update regexp.
77397 2008-05-25  Bruno Haible  <bruno@clisp.org>
77399         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
77400         * modules/copy-file-tests (Files, Makefile.am): Update.
77401         * tests/test-copy-file.c (func_test_copy): Update.
77403 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
77405         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
77407 2008-05-23  Bruno Haible  <bruno@clisp.org>
77409         Improve support for ACLs on OSF/1.
77410         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
77411         Remove fallback for unknown flavors of ACLs.
77413 2008-05-22  Bruno Haible  <bruno@clisp.org>
77415         Add support for ACLs on OSF/1.
77416         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
77417         replacements.
77418         (acl_free_text): New macro fallback.
77419         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
77420         acl_free.
77421         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
77422         acl_free_text function. Require AC_C_INLINE.
77424 2008-05-22  Bruno Haible  <bruno@clisp.org>
77426         Make copy_acl work on MacOS X 10.5.
77427         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
77428         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
77429         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
77430         If MODE_INSIDE_ACL, don't assume that every system has the same text
77431         representation for ACLs as FreeBSD.
77432         * lib/copy-acl.c (copy_acl): Add support for platforms with
77433         !MODE_INSIDE_ACL.
77434         * lib/file-has-acl.c (file_has_acl): Likewise.
77435         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
77436         FreeBSD, MacOS X, or IRIX, respectively.
77438 2008-05-22  Bruno Haible  <bruno@clisp.org>
77440         * lib/acl.h: Don't include <sys/acl.h>.
77441         (GETACLCNT): Move fallback to lib/acl-internal.h.
77442         * lib/acl-internal.h: Include <sys/acl.h> here.
77443         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
77445 2008-05-22  Bruno Haible  <bruno@clisp.org>
77447         Split off copy_acl function to separate file.
77448         * lib/copy-acl.c: New file, extracted from lib/acl.c.
77449         * lib/acl.c (copy_acl): Moved function to separate file.
77450         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
77451         * modules/acl (Files): Add lib/copy-acl.c.
77452         (Makefiles.am): Augment lib_SOURCES.
77454 2008-05-22  Bruno Haible  <bruno@clisp.org>
77456         * modules/copy-file-tests: New file.
77457         * tests/test-copy-file.sh: New file.
77458         * tests/test-copy-file.c: New file.
77459         * tests/test-copy-file-sameacls.c: New file.
77461 2008-05-22  Eric Blake  <ebb9@byu.net>
77463         Avoid gcc warning.
77464         * tests/test-memcmp.c (main): Pass NULL indirectly.
77466 2008-05-21  Bruno Haible  <bruno@clisp.org>
77468         Add reference doc about ACLs.
77469         * doc/acl-resources.txt: New file.
77470         * doc/acl-cygwin.txt: New file.
77472 2008-05-21  Bruno Haible  <bruno@clisp.org>
77474         Avoid one more warning from gcc.
77475         * lib/vasnprintf.c (IF_LINT): Update comments.
77476         (VASNPRINTF): Use it also for the 'prefix' array initializer.
77478 2008-05-21  Jim Meyering  <meyering@redhat.com>
77480         avoid a warning from gcc
77481         * lib/vasnprintf.c (IF_LINT): Define.
77482         (scale10_round_decimal_long_double):
77483         Use it to avoid a "may be used uninitialized" warning.
77484         (scale10_round_decimal_double): Likewise.
77486 2008-05-21  Simon Josefsson  <simon@josefsson.org>
77488         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
77489         declared.
77491 2008-05-20  Bruno Haible  <bruno@clisp.org>
77493         * tests/test-memcmp.c (main): Test also the sign of the result. Test
77494         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
77496 2008-05-20  Simon Josefsson  <simon@josefsson.org>
77498         * modules/memcmp-tests: New file.
77499         * tests/test-memcmp.c: New file.
77501 2008-05-19  Bruno Haible  <bruno@clisp.org>
77503         * modules/propername (Notice, configure.ac): Put quoted "..." into
77504         --keyword option.
77505         * lib/propername.h: Update comments accordingly.
77506         Reported by Eric Blake.
77508 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
77510         * modules/getpass-gnu (Depends-on): Add fseeko.
77512 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77514         * modules/base64-tests: New file.
77516 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
77518         * lib/base64.c (base64_decode_ctx): If a decode context structure
77519         was passed in use it to ignore newlines.  If a context structure
77520         was _not_ passed in, continue to treat newlines as garbage (this
77521         is the historical behavior).  Formerly base64_decode.
77522         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77523         takes a decode context structure.
77524         * lib/base64.h (base64_decode): Macro for four-argument calls.
77525         (base64_decode_alloc): Likewise.
77526         * lib/base64.c (base64_decode_ctx): If a decode context structure
77527         was passed in use it to ignore newlines.  If a context structure
77528         was _not_ passed in, continue to treat newlines as garbage (this
77529         is the historical behavior).  Formerly base64_decode.
77530         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
77531         takes a decode context structure.
77532         * lib/base64.h (base64_decode): Macro for four-argument calls.
77533         (base64_decode_alloc): Likewise.
77535 2008-05-19  Jim Meyering  <meyering@redhat.com>
77537         avoid a warning from gcc
77538         * lib/trim.c (IF_LINT): Define.
77539         (trim2): Use it to avoid a "may be used uninitialized" warning.
77541         Fix doc typo.
77542         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
77544 2008-05-19  Bruno Haible  <bruno@clisp.org>
77546         * doc/glibc-functions/getpass.texi: Document limits of other
77547         implementations.
77549 2008-05-19  Simon Josefsson  <simon@josefsson.org>
77550             Bruno Haible <bruno@clisp.org>
77552         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
77554 2008-05-18  Bruno Haible  <bruno@clisp.org>
77556         * modules/propername: New file, from GNU gettext.
77557         * lib/propername.h: New file, from GNU gettext.
77558         * lib/propername.c: New file, from GNU gettext.
77559         * MODULES.html.sh (Internationalization functions): Add propername.
77561 2008-05-16  Jim Meyering  <meyering@redhat.com>
77562             Bruno Haible  <bruno@clisp.org>
77564         Avoid some warnings from "gcc -Wshadow".
77565         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
77567 2008-05-15  Eric Blake  <ebb9@byu.net>
77569         Extend previous patch to cygwin 1.7.0.
77570         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
77571         fast implementation in cygwin >= 1.7.0.
77572         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77573         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77575 2008-05-15  Bruno Haible  <bruno@clisp.org>
77577         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
77578         implementation in glibc >= 2.9.
77579         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
77580         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
77582 2008-05-15  Bruno Haible  <bruno@clisp.org>
77584         * MODULES.html.sh (Internationalization functions): Remove linebreak.
77585         (Unicode string functions): Add unilbrk/*.
77586         Reported by Karl Berry.
77588 2008-05-15  Eric Blake  <ebb9@byu.net>
77590         Fix violation of <stdbool.h> replacement in regex.
77591         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
77592         * lib/regexec.c (re_search_internal): Likewise.
77593         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
77595 2008-05-15  Jim Meyering  <meyering@redhat.com>
77597         avoid distracting test output when git or cvs is not found
77598         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
77599         * tests/test-vc-list-files-git.sh: Likewise.
77601 2008-05-15  Eric Blake  <ebb9@byu.net>
77603         Glibc finally accepted the memmem speedup code, bugzilla #5514.
77604         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
77605         glibc version.
77606         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
77607         * doc/posix-functions/strstr.texi (strstr): Likewise.
77608         * lib/str-two-way.h (MAX): Sychronize with glibc.
77610 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
77612         * lib/regcomp.c (optimize_utf8): Add a note on why we test
77613         opr.ctx_type.
77614         (calc_first): Initialize constraint field.
77615         (duplicate_node_closure): Use it instead of special casing ANCHORS.
77616         Fix grammar.
77617         (duplicate_node): Merge constraint field for all node types.
77618         (calc_eclosure_iter): Look at constraint field for all node types.
77619         * lib/regex_internal.c (create_cd_newstate): Don't look at
77620         opr.ctx_type.
77622 2008-05-14  Bruno Haible  <bruno@clisp.org>
77624         Help GCC to do better code generation.
77625         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
77626         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
77627         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
77628         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
77629         Declare with attribute 'malloc' if supported.
77631 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
77633         use "echo STR|wc -c" rather than unportable "expr length STR"
77634         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
77635         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
77637 2008-05-14  Jim Meyering  <meyering@redhat.com>
77639         use dd ibs=$n count=1 ... rather than less-portable head -c$n
77640         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
77641         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
77642         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
77643         via Collin Lasse.
77645 2008-05-14  Eric Blake  <ebb9@byu.net>
77647         Avoid quadratic growth in gl_LIBSOURCES.
77648         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
77649         Suggested by Bruno Haible.
77651         Test xmemdup0.
77652         * modules/xmemdup0-tests: New file.
77653         * tests/test-xmemdup0.c: Likewise.
77655 2008-05-13  Eric Blake  <ebb9@byu.net>
77657         Split xmemdup0 into its own module.
77658         * modules/xmemdup0: New file.
77659         * lib/xmemdup0.h: Likewise.
77660         * lib/xmemdup0.c: Likewise.
77661         * MODULES.html.sh (Memory management functions): Add xmemdup0.
77662         * lib/xalloc.h (xmemdup0): Remove.
77663         * lib/xmalloc.c (xmemdup0): Likewise.
77665 2008-05-13  Eric Blake  <ebb9@byu.net>
77666             Bruno Haible  <bruno@clisp.org>
77668         Reduce number of forks required during autoconf.
77669         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
77670         and gl_LIBSOURCES_DIR.
77671         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
77672         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
77673         m4_syscmd per file.
77674         <m4_foreach_w>: Move...
77675         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
77677 2008-05-13  Eric Blake  <ebb9@byu.net>
77679         * gnulib-tool: Fix various comment typos.
77681 2008-05-12  Bruno Haible  <bruno@clisp.org>
77683         Tailor the linebreaking algorithm.
77684         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
77686 2008-05-12  Bruno Haible  <bruno@clisp.org>
77688         Update to Unicode 5.0.0.
77689         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77690         LBP_JV, LBP_JT. Redistribute values.
77691         (unilbrk_table): Change size.
77692         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
77693         Unicode TR#14 rev. 22.
77694         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
77695         LBP_JV, LBP_JT. Redistribute values.
77696         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
77697         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
77698         Update.
77699         * lib/unilbrk/lbrkprop1.h: Regenerated.
77700         * lib/unilbrk/lbrkprop2.h: Regenerated.
77701         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
77702         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
77703         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
77704         Likewise.
77705         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
77706         Likewise.
77707         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
77708         result.
77709         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
77710         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
77711         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
77712         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
77713         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
77714         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
77716 2008-05-11  Bruno Haible  <bruno@clisp.org>
77718         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
77720 2008-05-11  Bruno Haible  <bruno@clisp.org>
77722         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
77723         * modules/unilbrk/gen-lbrk: New file.
77725 2008-05-11  Bruno Haible  <bruno@clisp.org>
77727         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
77728         * m4/sha512.m4 (gl_SHA512): Likewise.
77730 2008-05-11  Jim Meyering  <meyering@redhat.com>
77732         New modules: crypto/sha256, crypto/sha512 (from coreutils)
77733         * modules/crypto/sha256: New file.
77734         * modules/crypto/sha512: Likewise.
77735         * lib/sha256.c: Likewise.
77736         * lib/sha256.h: Likewise.
77737         * lib/sha512.c: Likewise.
77738         * lib/sha512.h: Likewise.
77739         * lib/u64.h: Likewise.
77740         * m4/sha256.m4: Likewise.
77741         * m4/sha512.m4: Likewise.
77742         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
77744 2008-05-10  Bruno Haible  <bruno@clisp.org>
77746         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
77747         (Input/Output <stdio.h>): Add xprintf.
77748         (Signal handling <signal.h>): Add strsignal.
77749         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
77750         (Core language properties): Add func.
77751         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
77752         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
77753         strings.
77754         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
77755         (Input/output): New section.
77756         (File system functions): Add openat-die, stat-macros.
77757         (Networking functions): Add sockets.
77758         (Unicode string functions): Add unictype/*.
77759         (Support for building libraries and executables): Add gperf.
77760         (Support for building documentation): Add agpl-3.0.
77761         (Misc): Add nocrash.
77763 2008-05-10  Bruno Haible  <bruno@clisp.org>
77765         * modules/unictype/gen-ctype: New file.
77767 2008-05-10  Jim Meyering  <meyering@redhat.com>
77769         Make chdir-safer.c more efficient on a system with no symlinks.
77770         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
77771         also if ELOOP is zero.  Suggested by Bruno Haible.
77773         Make chdir-safer.c slightly safer.
77774         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
77775         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
77777         Avoid compile failure on systems without ELOOP (like mingw).
77778         * lib/chdir-safer.c (ELOOP): Define if not already defined.
77779         Reported by Bruno Haible.
77781 2008-05-10  Bruno Haible  <bruno@clisp.org>
77783         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
77784         (is_utf8_encoding): Use a case-insensitive comparison.
77785         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
77786         streq.
77788 2008-05-10  Bruno Haible  <bruno@clisp.org>
77790         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
77791         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
77792         * lib/unilbrk/ulc-common.h (iconv_string_length,
77793         iconv_string_keeping_offsets): Remove declarations.
77794         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
77795         Don't include <iconv.h>, streq.h, xsize.h.
77796         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
77797         conversion.
77798         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
77799         <iconv.h>, streq.h, xsize.h.
77800         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
77801         conversion.
77802         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
77803         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
77804         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
77805         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
77807 2008-05-10  Bruno Haible  <bruno@clisp.org>
77809         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
77810         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
77812         * modules/unilbrk/u32-width-linebreaks-tests: New file.
77813         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
77815         * modules/unilbrk/u16-width-linebreaks-tests: New file.
77816         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
77818         * modules/unilbrk/u8-width-linebreaks-tests: New file.
77819         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
77821         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
77822         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
77824         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
77825         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
77827         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
77828         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
77830         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
77831         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
77833 2008-05-10  Bruno Haible  <bruno@clisp.org>
77835         Split up 'linebreak' module.
77836         * lib/unilbrk.h: New file, based on lib/linebreak.h.
77837         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
77838         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
77839         modifications.
77840         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
77841         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
77842         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
77843         lib/linebreak.c.
77844         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
77845         lib/linebreak.c.
77846         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
77847         lib/linebreak.c.
77848         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
77849         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
77850         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
77851         lib/linebreak.c.
77852         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
77853         lib/linebreak.c.
77854         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
77855         lib/linebreak.c.
77856         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
77857         lib/linebreak.c.
77858         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
77859         lib/linebreak.c.
77860         * modules/unilbrk/base: New file.
77861         * modules/unilbrk/tables: New file.
77862         * modules/unilbrk/u8-possible-linebreaks: New file.
77863         * modules/unilbrk/u16-possible-linebreaks: New file.
77864         * modules/unilbrk/u32-possible-linebreaks: New file.
77865         * modules/unilbrk/ulc-common: New file.
77866         * modules/unilbrk/ulc-possible-linebreaks: New file.
77867         * modules/unilbrk/u8-width-linebreaks: New file.
77868         * modules/unilbrk/u16-width-linebreaks: New file.
77869         * modules/unilbrk/u32-width-linebreaks: New file.
77870         * modules/unilbrk/ulc-width-linebreaks: New file.
77871         * lib/linebreak.h: Remove file.
77872         * lib/linebreak.c: Remove file.
77873         * m4/linebreak.m4: Remove file.
77874         * modules/linebreak: Remove file.
77875         * NEWS: Mention the changes.
77877 2008-05-09  Eric Blake  <ebb9@byu.net>
77879         Add xmemdup0.
77880         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
77881         implementation.
77882         * lib/xmalloc.c (xmemdup0): New C implementation.
77884 2008-05-08  Bruno Haible  <bruno@clisp.org>
77886         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
77888 2008-05-07  Eric Blake  <ebb9@byu.net>
77890         Support cross-compilation of <wctype.h>.
77891         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
77892         AC_CACHE_CHECK.
77894 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
77896         * build-aux/vc-list-files: Add support for bzr.
77898 2008-05-03  Jim Meyering  <meyering@redhat.com>
77900         avoid failed assertion with tight malloc
77901         * tests/test-getndelim2.c: Correct an off-by-one assertion.
77903 2008-05-03  Simon Josefsson  <simon@josefsson.org>
77905         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
77906         are needed from arpa/inet.h.
77907         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
77908         Reported by Bruno Haible.
77910 2008-05-02  Jim Meyering  <meyering@redhat.com>
77912         avoid compilation error on FreeBSD 6
77913         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
77915 2008-05-01  Jim Meyering  <meyering@redhat.com>
77917         useless-if-before-free: correct --help's exit status description
77918         * build-aux/useless-if-before-free (usage): Like grep, exit 0
77919         for one or more matches, etc.  Reported by Bruno Haible.
77921         vc-list-files: make the stand-alone gnulib test work
77922         * modules/vc-list-files-tests (configure.ac):
77923         Define and AC_SUBST abs_aux_dir.
77924         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
77925         $(abs_top_srcdir) to each script and having each of them
77926         duplicate the work of setting PATH, set PATH here, using
77927         the new variable, abs_aux_dir instead.
77928         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
77929         * tests/test-vc-list-files-git.sh: Likewise.
77930         Reported by Bruno Haible.
77932 2008-05-01  Bruno Haible  <bruno@clisp.org>
77934         * lib/getndelim2.c (getndelim2): Fix newsize computation during
77935         reallocation. Rename 'done' to 'found_delimiter'.
77937 2008-05-01  Jim Meyering  <meyering@redhat.com>
77939         vc-list-files: accommodate /bin/sh like the one from Solaris 10
77940         * build-aux/vc-list-files: Use `...`, not $(...).
77942 2008-04-30  Jim Meyering  <meyering@redhat.com>
77944         add tests for vc-list-files
77945         * modules/vc-list-files-tests: New module.
77946         * tests/test-vc-list-files-cvs.sh: New file.
77947         * tests/test-vc-list-files-git.sh: New file.
77949         avoid a warning from gcc
77950         * lib/getndelim2.c (IF_LINT): Define.
77951         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
77953         vc-list-files: work properly with build-aux/cvsu, too
77954         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
77955         to all cvs-based clauses.
77957         vc-list-files: work properly in the CVS+awk case, too
77958         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
77960         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
77961         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
77962         take more than one file argument, so .  Add quotes, just in case $dir
77963         ever contains a shell meta-character.  Prompted by Soren Hansen in
77964         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
77966 2008-04-29  Eric Blake  <ebb9@byu.net>
77968         Optimize getndelim2 to use block operations when possible.
77969         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
77970         freadseek, and memchr2.
77971         * lib/getndelim2.c (getndelim2): Use them for block reads.
77973 2008-04-29  Bruno Haible  <bruno@clisp.org>
77975         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
77976         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
77977         * modules/inet_ntop (Depends-on): Add extensions.
77978         * modules/inet_pton (Depends-on): Likewise.
77979         Reported by Simon Josefsson.
77981 2008-04-29  Jim Meyering  <meyering@redhat.com>
77983         When the is more than one match in a block, match all of them.
77984         * build-aux/useless-if-before-free: Iterate through each block
77985         until there are no more matches.
77987         Fix broken useless-if-before-free script.
77988         * build-aux/useless-if-before-free: Fix typo: missing "?" after
77989         the expression to match cast of argument to free-like function.
77991 2008-04-29  Eric Blake  <ebb9@byu.net>
77993         Use new header.
77994         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
77996 2008-04-29  Jim Meyering  <meyering@redhat.com>
77998         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
77999         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
78000         by gnulib to exist and to declare e.g., inet_ntop.
78001         Don't include "inet_ntop.h", now removed.
78003         * m4/arpa_inet_h.m4: Remove trailing blanks.
78005 2008-04-29  Eric Blake  <ebb9@byu.net>
78007         Silence valgrind on safe reads beyond potential array bounds.
78008         * lib/rawmemchr.valgrind: New file.
78009         * lib/strchrnul.valgrind: Likewise.
78010         * modules/rawmemchr (Files): Distribute new file.
78011         * modules/strchrnul (Files): Likewise.
78012         Suggested by Bruno Haible.
78014 2008-04-29  Bruno Haible  <bruno@clisp.org>
78016         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
78017         (inet_ntop, inet_pton): Change portability warning's wording.
78018         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
78019         Invoke gl_CHECK_NEXT_HEADERS.
78020         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
78021         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
78022         set ARPA_INET_H.
78023         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78024         * modules/arpa_inet (Description): No longer only for systems that
78025         lack it.
78026         (Depends-on): Add include_next.
78027         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
78028         HAVE_ARPA_INET_H.
78030 2008-04-29  Jim Meyering  <meyering@redhat.com>
78032         * modules/mkdir (License): Re-license as LGPLv2+.
78034 2008-04-29  Bruno Haible  <bruno@clisp.org>
78036         * modules/rawmemchr (Maintainer): Set to Eric.
78037         * modules/strchrnul (Maintainer): Likewise.
78039 2008-04-29  Simon Josefsson  <simon@josefsson.org>
78041         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
78042         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
78044         * modules/arpa_inet (arpa/inet.h): Use them.
78046 2008-04-28  Eric Blake  <ebb9@byu.net>
78048         Test getndelim2.
78049         * modules/getndelim2-tests: New file.
78050         * tests/test-getndelim2.c: Likewise.
78051         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
78052         stream.
78053         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
78055         * MODULES.html.sh: Document new module.
78057 2008-04-20  Bruno Haible  <bruno@clisp.org>
78059         * lib/c-stack.c (die): Use raise.
78060         * modules/c-stack (Depends-on): Add raise.
78062 2008-04-28  Bruno Haible  <bruno@clisp.org>
78064         Expect rpmatch to be declared.
78065         * lib/yesno.c (rpmatch): Remove declaration.
78067         Declare rpmatch.
78068         * lib/stdlib.in.h (rpmatch): New declaration.
78069         * lib/rpmatch.c: Include <stdlib.h> first.
78070         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
78071         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
78072         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
78073         HAVE_RPMATCH.
78074         * modules/rpmatch (Depends-on): Add stdlib, extensions.
78075         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
78076         (Include): Set to <stdlib.h>.
78077         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
78078         HAVE_RPMATCH.
78079         * NEWS: Document the change.
78081 2008-04-28  Bruno Haible  <bruno@clisp.org>
78083         Change rpmatch to use nl_langinfo when appropriate.
78084         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
78085         (N_): New macro.
78086         (localized_pattern): New function/macro.
78087         (try): Remove match, nomatch arguments. Copy the pattern into safe
78088         memory before caching it.
78089         (rpmatch): Use localized_pattern. Add translator comments.
78090         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
78091         Suggested by Eric Blake.
78092         * modules/rpmatch (Depends-on): Add stdbool.
78094 2008-04-28  Eric Blake  <ebb9@byu.net>
78096         Add rawmemchr module, matching glibc.
78097         * modules/string (Makefile.am): New indicator.
78098         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
78099         * lib/string.in.h (rawmemchr): Declare when appropriate.
78100         * modules/rawmemchr: New file.
78101         * m4/rawmemchr.m4: Likewise.
78102         * lib/rawmemchr.c: Likewise.
78103         * modules/rawmemchr-tests: Likewise.
78104         * tests/test-rawmemchr.c: Likewise.
78105         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
78106         module.
78107         * modules/strchrnul (Depends-on): Add rawmemchr.
78108         * lib/strchrnul.c (strchrnul): Optimize a corner case.
78110         Whitespace cleanup.
78111         * tests/test-strchrnul.c: Reindent.
78112         * lib/strchrnul.c: Likewise.
78114         Optimize and test strchrnul.
78115         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
78116         * modules/strchrnul-tests: New file.
78117         * tests/test-strchrnul.c: Likewise.
78119         Remove intprops dependency.
78120         * modules/memchr (Depends-on): Remove intprops.
78121         * modules/memrchr (Depends-on): Likewise.
78122         * modules/memchr2 (Depends-on): Likewise.
78123         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
78124         * lib/memrchr.c (__memrchr): Likewise.
78125         * lib/memrchr2.c (memchr2): Likewise.
78126         Reported by Simon Josefsson.
78128 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78130         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
78131         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78133 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78135         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
78137         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
78139         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
78141         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
78142         declarations.
78143         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
78145         * m4/inet_pton.m4: Don't check for header files.
78147         * m4/inet_ntop.m4: Don't check for header files.
78149 2008-04-28  Simon Josefsson  <simon@josefsson.org>
78151         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
78152         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
78153         trigger for cygwin).
78154         Reported by Bruno Haible  <bruno@clisp.org>.
78156 2008-04-28  Bruno Haible  <bruno@clisp.org>
78158         * doc/posix-functions/strdup.texi: Mention mingw problem.
78160 2008-04-27  Bruno Haible  <bruno@clisp.org>
78162         * modules/stat-time-tests (Depends-on): Add sleep.
78163         * tests/test-stat-time.c (force_unlink): New function.
78164         (cleanup): Use it.
78165         (test_mtime): Remove the ctime related tests.
78166         (test_ctime): New function, containing the ctime related tests.
78167         (main): Call test_ctime, except on native Windows platforms.
78169 2008-04-27  Bruno Haible  <bruno@clisp.org>
78171         * lib/rpmatch.c (rpmatch): Add some comments.
78172         Reported by James Youngman <jay@gnu.org>.
78174 2008-04-27  Bruno Haible  <bruno@clisp.org>
78176         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
78177         quiet NaNs.
78179 2008-04-27  Bruno Haible  <bruno@clisp.org>
78181         Make test-yesno.sh work on mingw.
78182         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
78183         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
78184         (main): Set stdin to binary mode.
78185         * modules/yesno-tests (Depends-on): Add binary-io.
78187 2008-04-27  Bruno Haible  <bruno@clisp.org>
78189         Fix 'isfinite' on x86, x86_64, ia64 platforms.
78190         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
78191         argument that lie outside the IEEE 854 domain.
78192         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
78193         (gl_ISFINITE): Use it.
78194         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
78196 2008-04-27  Bruno Haible  <bruno@clisp.org>
78198         Allow local renaming in config.h.
78199         * lib/memrchr.c (memrchr): Don't undefine outside libc.
78201 2008-04-27  Bruno Haible  <bruno@clisp.org>
78203         * lib/memchr.c (__memchr): Change type of 'i'.
78204         * lib/memchr2.c (memchr2): Likewise.
78206 2008-04-26  Eric Blake  <ebb9@byu.net>
78207         and Bruno Haible  <bruno@clisp.org>
78209         Optimize and test memrchr.
78210         * modules/memrchr (Depends-on): Add intprops.
78211         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
78212         * modules/memrchr-tests: New file.
78213         * tests/test-memrchr.c: New file.
78215 2008-04-26  Bruno Haible  <bruno@clisp.org>
78217         Add tentative support for DragonFly BSD.
78218         * lib/stdio-impl.h: Add macros for DragonFly BSD.
78219         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
78220         fp.
78221         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78222         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
78223         * lib/fpurge.c (fpurge): Likewise.
78224         * lib/freadable.c (freaadable): Likewise.
78225         * lib/freadahead.c (freadahead): Likewise.
78226         * lib/freading.c (freading): Likewise.
78227         * lib/freadptr.c (freadptr): Likewise.
78228         * lib/freadseek.c (freadptrinc): Likewise.
78229         * lib/fseeko.c (fseeko): Likewise.
78230         * lib/fseterr.c (fseterr): Likewise.
78231         * lib/fwritable.c (fwritable): Likewise.
78232         * lib/fwriting.c (fwriting): Likewise.
78234 2008-04-26  Bruno Haible  <bruno@clisp.org>
78236         * lib/stdio-impl.h: New file.
78237         * lib/fbufmode.c: Include stdio-impl.h.
78238         (fbufmode): Use fp_, remove redundant #defines.
78239         * lib/fflush.c: Include stdio-impl.h.
78240         (clear_ungetc_buffer): Remove redundant #defines.
78241         * lib/fpurge.c: Include stdio-impl.h.
78242         (fpurge): Remove redundant #defines.
78243         * lib/freadable.c: Include stdio-impl.h.
78244         (freadable): Remove redundant #defines.
78245         * lib/freadahead.c: Include stdio-impl.h.
78246         (freadahead): Remove redundant #defines.
78247         * lib/freading.c: Include stdio-impl.h.
78248         (freading): Remove redundant #defines.
78249         * lib/freadptr.c: Include stdio-impl.h.
78250         (freadptr): Remove redundant #defines.
78251         * lib/freadseek.c: Include stdio-impl.h.
78252         (freadptrinc): Remove redundant #defines.
78253         * lib/fseeko.c: Include stdio-impl.h.
78254         (rpl_fseeko): Remove redundant #defines.
78255         * lib/fseterr.c: Include stdio-impl.h.
78256         (fseterr): Remove redundant #defines.
78257         * lib/fwritable.c: Include stdio-impl.h.
78258         (fwritable: Remove redundant #defines.
78259         * lib/fwriting.c: Include stdio-impl.h.
78260         (fwriting): Remove redundant #defines.
78261         * modules/fbufmode (Files): Add lib/stdio-impl.h.
78262         * modules/fflush (Files): Likewise.
78263         * modules/fpurge (Files): Likewise.
78264         * modules/freadable (Files): Likewise.
78265         * modules/freadahead (Files): Likewise.
78266         * modules/freading (Files): Likewise.
78267         * modules/freadptr (Files): Likewise.
78268         * modules/freadseek (Files): Likewise.
78269         * modules/fseeko (Files): Likewise.
78270         * modules/fseterr (Files): Likewise.
78271         * modules/fwritable (Files): Likewise.
78272         * modules/fwriting (Files): Likewise.
78274 2008-04-26  Bruno Haible  <bruno@clisp.org>
78276         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
78277         restore_seek_optimization, update_fpos_cache): New functions, extracted
78278         from rpl_fflush.
78279         (rpl_fflush): Use them.
78280         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
78281         (gl_REPLACE_FFLUSH): Use it.
78283 2008-04-26  Bruno Haible  <bruno@clisp.org>
78285         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
78286         on Solaris.
78287         * tests/test-xstrtoimax.sh: Likewise.
78288         * tests/test-xstrtoumax.sh: Likewise.
78289         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78291 2008-04-26  Bruno Haible  <bruno@clisp.org>
78293         * modules/memchr-tests: New file.
78294         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
78296 2008-04-26  Eric Blake  <ebb9@byu.net>
78297             Bruno Haible  <bruno@clisp.org>
78299         * lib/memchr.c: Include intprops.h.
78300         (__memchr): Optimize parallel detection of matching bytes. Rename local
78301         variables. Add explanatory comments.
78303 2008-04-26  Bruno Haible  <bruno@clisp.org>
78305         Fix module 'memchr', broken since 2000-10-28.
78306         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
78308 2008-04-26  Bruno Haible  <bruno@clisp.org>
78310         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
78311         comments.
78313 2008-04-25  Eric Blake  <ebb9@byu.net>
78315         Use native fstatat on cygwin 1.7.0.
78316         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
78317         first.
78319 2008-04-23  Eric Blake  <ebb9@byu.net>
78321         Improve memchr2 performance.
78322         * lib/memchr2.c (memchr2): Further optimize parallel detection of
78323         NUL bytes.
78324         * modules/memchr2 (Depends-on): Use intprops.h.
78326 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78328         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
78329         an inline function instead of a CPP macro.  Patch by Ben Pfaff
78330         <blp@cs.stanford.edu>.
78332 2008-04-23  Simon Josefsson  <simon@josefsson.org>
78334         * lib/arpa_inet.in.h: New file.
78336         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
78337         (Makefile.am): Sed in substitute header file.
78339         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
78340         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
78342         * modules/inet_ntop (configure.ac): Use
78343         gl_ARPA_INET_MODULE_INDICATOR.
78345         * modules/inet_pton (configure.ac): Use
78346         gl_ARPA_INET_MODULE_INDICATOR.
78348 2008-04-22  Jim Meyering  <meyering@redhat.com>
78350         * modules/verify (License): Re-license as LGPLv2+.
78352 2008-04-22  Simon Josefsson  <simon@josefsson.org>
78354         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
78355         parameter to void* as per POSIX standard (MinGW uses char*).
78357 2008-04-21  Bruno Haible  <bruno@clisp.org>
78359         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
78360         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
78361         Define to replacements if REPLACE_ISWCNTRL is 1.
78362         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
78363         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
78364         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
78365         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
78366         what it fixes.
78367         * doc/posix-functions/iswalpha.texi: Likewise.
78368         * doc/posix-functions/iswblank.texi: Likewise.
78369         * doc/posix-functions/iswcntrl.texi: Likewise.
78370         * doc/posix-functions/iswdigit.texi: Likewise.
78371         * doc/posix-functions/iswgraph.texi: Likewise.
78372         * doc/posix-functions/iswlower.texi: Likewise.
78373         * doc/posix-functions/iswprint.texi: Likewise.
78374         * doc/posix-functions/iswpunct.texi: Likewise.
78375         * doc/posix-functions/iswspace.texi: Likewise.
78376         * doc/posix-functions/iswupper.texi: Likewise.
78377         * doc/posix-functions/iswxdigit.texi: Likewise.
78378         Reported by Alain Guibert.
78380 2008-04-21  Bruno Haible  <bruno@clisp.org>
78382         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
78383         Patch by Alain Guibert.
78385 2008-04-21  Bruno Haible  <bruno@clisp.org>
78387         Fix test failures on mingw.
78388         * tests/test-xstrtol.c (print_no_progname): New function.
78389         (main): Install it in error_print_progname hook.
78390         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
78391         * tests/test-xstrtoimax.sh: Likewise.
78392         * tests/test-xstrtoumax.sh: Likewise.
78394 2008-04-21  Bruno Haible  <bruno@clisp.org>
78396         Fix test failure on mingw.
78397         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
78399 2008-04-21  Bruno Haible  <bruno@clisp.org>
78401         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
78402         Actually assign a value.
78404 2008-04-20  Bruno Haible  <bruno@clisp.org>
78406         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
78407         take 2.
78408         * lib/canonicalize.c (canonicalize_file_name): Elide if the
78409         'canonicalize-lgpl' module is also used.
78410         * lib/canonicalize-lgpl.c: Undo last change.
78411         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
78413 2008-04-20  Bruno Haible  <bruno@clisp.org>
78415         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
78416         config.h. Provide _mkdir based fallback for mingw.
78417         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
78418         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
78419         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
78420         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
78421         rather than defining mkdir in config.h.
78422         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
78423         (gl_SYS_STAT_H_DEFAULTS): New macro.
78424         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
78425         HAVE_IO_H any more.
78426         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
78427         HAVE_DECL_MKDIR and HAVE_IO_H.
78429 2008-04-20  Bruno Haible  <bruno@clisp.org>
78431         * lib/isapipe.c: Port to native Windows platforms.
78433 2008-04-20  Bruno Haible  <bruno@clisp.org>
78435         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
78437 2008-04-21  Eric Blake  <ebb9@byu.net>
78439         Work around preprocessors that don't handle UINTMAX_MAX.
78440         * lib/memchr2.c (memchr2): Avoid embedded #if.
78441         Reported by Alain Guibert, fix suggested by Bruno Haible.
78443 2008-04-21  Simon Josefsson  <simon@josefsson.org>
78445         * doc/posix-functions/strftime.texi (strftime): Explain better
78446         Windows incompatibility.  Suggested by Micah Cowan
78447         <micah@cowan.name>.
78449 2008-04-20  Bruno Haible  <bruno@clisp.org>
78451         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
78452         unistr/u8-mblen.
78454 2008-04-20  Bruno Haible  <bruno@clisp.org>
78456         Fix test failure on platforms with non-GNU iconv.
78457         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
78458         (U_TO_U8): Use it, rather than u16_to_u8.
78459         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
78460         units at the end of the input string.
78461         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
78463 2008-04-20  Bruno Haible  <bruno@clisp.org>
78465         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
78466         when the resulting length is 0.
78467         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
78469 2008-04-20  Bruno Haible  <bruno@clisp.org>
78471         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
78472         works.
78473         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
78475 2008-04-20  Bruno Haible  <bruno@clisp.org>
78477         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
78478         * modules/tsearch-tests (configure.ac): Test for initstate function.
78480 2008-04-20  Bruno Haible  <bruno@clisp.org>
78482         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
78483         for nlink_t if missing.
78484         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
78486 2008-04-19  Bruno Haible  <bruno@clisp.org>
78488         Work around snprintf bug on Linux libc5.
78489         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
78490         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
78491         gl_SNPRINTF_SIZE1.
78492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78493         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
78494         that test failed.
78495         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
78496         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
78497         * modules/snprintf (Files): Add m4/printf.m4.
78498         * modules/vsnprintf (Files): Likewise.
78499         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
78500         * doc/posix-functions/vsnprintf.texi: Likewise.
78502 2008-04-19  Bruno Haible  <bruno@clisp.org>
78504         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
78505         from 0.0058 to less than 10^-7.
78507 2008-04-19  Bruno Haible  <bruno@clisp.org>
78509         Fix rounding when a precision is given.
78510         * lib/vasnprintf.c (is_borderline): New function.
78511         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
78512         9...9x.
78513         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
78514         %e, %g.
78515         * tests/test-vasprintf-posix.c (test_function): Likewise.
78516         * tests/test-snprintf-posix.h (test_function): Likewise.
78517         * tests/test-sprintf-posix.h (test_function): Likewise.
78518         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
78519         * tests/test-printf-posix.h (test_function): Likewise.
78520         * tests/test-printf-posix.output: Update.
78521         Reported by John Darrington <john@darrington.wattle.id.au> via
78522         Ben Pfaff <blp@cs.stanford.edu>.
78524 2008-04-18  Simon Josefsson  <simon@josefsson.org>
78526         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
78527         Suggested by Bruno Haible <bruno@clisp.org>.
78529 2008-04-17  Bruno Haible  <bruno@clisp.org>
78531         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
78532         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
78533         implementation.
78534         Patch by Bruce Merry <bmerry@gmail.com>.
78536 2008-04-17  Simon Josefsson  <simon@josefsson.org>
78538         * doc/posix-functions/strftime.texi (strftime): Mention that %e
78539         doesn't work under Windows.
78541 2008-04-16  Bruno Haible  <bruno@clisp.org>
78543         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
78544         New macros.
78545         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
78546         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
78547         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
78548         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
78549         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
78550         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
78551         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
78552         macros.
78553         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
78554         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
78555         Northern Sotho, Uighur.
78557 2008-04-16  Bruno Haible  <bruno@clisp.org>
78559         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
78560         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
78561         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
78562         Reported by Daniel Bergström <daniel@octocode.com>.
78564 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
78565             Bruno Haible  <bruno@clisp.org>
78567         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
78568         function.
78569         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
78570         New functions, mostly extracted from gl_locale_name_default.
78571         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
78573 2008-04-16  Eric Blake  <ebb9@byu.net>
78575         Adjust strtod detection to catch glibc 2.7 bug.
78576         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
78577         Reported by John Gatewood Ham.
78579 2008-04-16  Bruno Haible  <bruno@clisp.org>
78581         Add tentative support for Linux libc5.
78582         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
78583         * lib/fpurge.c (fpurge): Likewise.
78584         * lib/freadable.c (freadable): Likewise.
78585         * lib/freadahead.c (freadahead): Likewise.
78586         * lib/freading.c (freading): Likewise.
78587         * lib/freadptr.c (freadptr): Likewise.
78588         * lib/freadseek.c (freadptrinc): Likewise.
78589         * lib/fseeko.c (rpl_fseeko): Likewise.
78590         * lib/fseterr.c (fseterr): Likewise.
78591         * lib/fwritable.c (fwritable): Likewise.
78592         * lib/fwriting.c (fwriting): Likewise.
78593         Reported by Alain Guibert <alguibert+bts@free.fr>.
78595 2008-04-15  Bruno Haible  <bruno@clisp.org>
78597         * modules/mathl (configure.ac): Define module indicator.
78599 2008-04-15  Bruno Haible  <bruno@clisp.org>
78601         * lib/logl.c (logl): Remove unused variables.
78603 2008-04-15  Bruno Haible  <bruno@clisp.org>
78605         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
78606         fails.
78608 2008-04-15  Bruno Haible  <bruno@clisp.org>
78610         * lib/trim.c (trim2): Fix argument of isspace() macro.
78612 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
78614         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
78615         to 0.
78616         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
78618 2008-04-14  Bruno Haible  <bruno@clisp.org>
78620         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
78621         AC_LANG_PROGRAM argument.
78622         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
78623         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
78624         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
78625         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
78626         * m4/math_h.m4 (gl_MATH_H): Likewise.
78627         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
78628         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
78629         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
78630         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
78631         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
78632         * m4/regex.m4 (gl_REGEX): Likewise.
78633         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
78634         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
78635         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
78636         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
78637         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
78638         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
78639         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
78640         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
78642 2008-04-14  Jim Meyering  <meyering@redhat.com>
78644         test-strtod: fix typos: s/abs/fabs/
78645         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
78647 2008-04-13  Bruno Haible  <bruno@clisp.org>
78649         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
78650         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
78651         module is also used and while not building the reloc-wrapper.
78653 2008-04-13  Bruno Haible  <bruno@clisp.org>
78655         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
78657 2008-04-13  Bruno Haible  <bruno@clisp.org>
78659         Fix AIX compilation failure introduced on 2008-04-02.
78660         * tests/test-frexp.c (exp): Undefine before redefining.
78661         * tests/test-frexpl.c (exp): Likewise.
78663 2008-04-13  Bruno Haible  <bruno@clisp.org>
78665         Work around a HP-UX stdio bug.
78666         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
78667         * tests/test-ftello.c (main): Likewise.
78668         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
78669         * doc/posix-functions/ftello.texi: Likewise.
78671 2008-04-13  Bruno Haible  <bruno@clisp.org>
78673         Make test-signbit pass on HP-UX/hppa.
78674         * tests/test-signbit.c (minus_zerol): New variable.
78675         (test_signbitl): Use it.
78677 2008-04-13  Bruno Haible  <bruno@clisp.org>
78679         Make truncl work on OSF/1 4.0.
78680         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
78681         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78682         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
78683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
78684         HAVE_DECL_TRUNCL.
78685         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
78686         HAVE_DECL_TRUNCL.
78687         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
78689 2008-04-13  Bruno Haible  <bruno@clisp.org>
78691         * lib/unictype.h: Remove trailing comma from enumeration definitions.
78693 2008-04-13  Bruno Haible  <bruno@clisp.org>
78695         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
78696         expression, so as to avoid HP-UX 11 cc compiler bug.
78698 2008-04-13  Bruno Haible  <bruno@clisp.org>
78700         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
78702 2008-04-13  Bruno Haible  <bruno@clisp.org>
78704         * lib/git-merge-changelog.c: Remove empty declaration outside of
78705         functions.
78707 2008-04-13  Bruno Haible  <bruno@clisp.org>
78709         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
78711 2008-04-13  Bruno Haible  <bruno@clisp.org>
78713         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
78714         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
78715         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
78716         also if it exists but lacks definitions of the SHUT_* macros.
78717         * modules/sys_socket (Description): Update.
78718         Reported by Elbert Pol <e.pol@chello.nl>.
78720 2008-04-13  Bruno Haible  <bruno@clisp.org>
78722         * lib/localcharset.c (OS2): Don't redefine if already defined.
78723         Reported by Elbert Pol <e.pol@chello.nl>.
78725 2008-04-13  Bruno Haible  <bruno@clisp.org>
78727         * lib/binary-io.h [__EMX__]: Include <io.h>.
78728         Reported by Elbert Pol <e.pol@chello.nl>.
78730 2008-04-12  Bruno Haible  <bruno@clisp.org>
78732         * lib/fpucw.h: Enable the definitions also for x86_64.
78733         Needed for NetBSD/x86_64.
78734         Reported by Thomas Klausner <tk@giga.or.at>.
78736 2008-04-12  Bruno Haible  <bruno@clisp.org>
78738         * tests/test-strtod.c: Include isnand.h.
78739         (main): Use isnand instead of isnan.
78740         Reported by Jim Meyering.
78742 2008-04-12  Bruno Haible  <bruno@clisp.org>
78744         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
78745         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
78747 2008-04-12  Jim Meyering  <meyering@redhat.com>
78749         * m4/math_h.m4 (gl_MATH_H): Fix typos.
78751 2008-04-12  Bruno Haible  <bruno@clisp.org>
78753         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
78754         Reported by Elbert Pol <e.pol@chello.nl>.
78756 2008-04-12  Eric Blake  <ebb9@byu.net>
78758         Work around Solaris 10 math.h bug.
78759         * m4/math_h.m4 (gl_MATH_H): Check for bug.
78760         (gl_MATH_H_DEFAULTS): Set up default.
78761         * modules/math (Makefile.am): Replace new indicators.
78762         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
78763         * tests/test-math.c (main): Test this.
78764         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
78765         * doc/posix-headers/math.texi (math.h): Mention bug.
78766         Reported by Nelson H. F. Beebe and Jim Meyering.
78768 2008-04-11  Bruno Haible  <bruno@clisp.org>
78770         Adapt to future versions of Apple GCC.
78771         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
78772         Reported by Peter O'Gorman <peter@pogma.com>.
78774 2008-04-11  Bruno Haible  <bruno@clisp.org>
78776         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
78778 2008-04-11  Bruno Haible  <bruno@clisp.org>
78780         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
78782         * modules/getaddrinfo-tests (Makefile.am): Define
78783         test_getaddrinfo_LDADD.
78785 2008-04-11  Bruno Haible  <bruno@clisp.org>
78787         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
78788         (init): Fix syntax error.
78789         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
78790         is declared.
78792 2008-04-11  Bruno Haible  <bruno@clisp.org>
78794         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
78795         * modules/glob (Depends-on): Add stdbool.
78797 2008-04-11  Bruno Haible  <bruno@clisp.org>
78799         * lib/trim.c: Include <string.h>.
78801 2008-04-11  Eric Blake  <ebb9@byu.net>
78803         Avoid compile failure on OS/2.
78804         * lib/regex_internal.h (internal_function): Disable optimization
78805         on OS/2 (__EMX__), where it caused compiler error.
78806         Reported by Elbert Pol.
78808 2008-04-11  Bruno Haible  <bruno@clisp.org>
78810         Flush the standard error stream before aborting. Needed on mingw.
78811         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
78812         * tests/test-array_list.c (ASSERT): Likewise.
78813         * tests/test-array_oset.c (ASSERT): Likewise.
78814         * tests/test-avltree_list.c (ASSERT): Likewise.
78815         * tests/test-avltree_oset.c (ASSERT): Likewise.
78816         * tests/test-avltreehash_list.c (ASSERT): Likewise.
78817         * tests/test-binary-io.c (ASSERT): Likewise.
78818         * tests/test-byteswap.c (ASSERT): Likewise.
78819         * tests/test-c-ctype.c (ASSERT): Likewise.
78820         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
78821         * tests/test-c-strcasestr.c (ASSERT): Likewise.
78822         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
78823         * tests/test-c-strstr.c (ASSERT): Likewise.
78824         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
78825         * tests/test-canonicalize.c (ASSERT): Likewise.
78826         * tests/test-carray_list.c (ASSERT): Likewise.
78827         * tests/test-ceilf1.c (ASSERT): Likewise.
78828         * tests/test-ceilf2.c (ASSERT): Likewise.
78829         * tests/test-ceill.c (ASSERT): Likewise.
78830         * tests/test-count-one-bits.c (ASSERT): Likewise.
78831         * tests/test-fbufmode.c (ASSERT): Likewise.
78832         * tests/test-fflush2.c (ASSERT): Likewise.
78833         * tests/test-floorf1.c (ASSERT): Likewise.
78834         * tests/test-floorf2.c (ASSERT): Likewise.
78835         * tests/test-floorl.c (ASSERT): Likewise.
78836         * tests/test-fopen.c (ASSERT): Likewise.
78837         * tests/test-fpending.c (ASSERT): Likewise.
78838         * tests/test-fprintf-posix.c (ASSERT): Likewise.
78839         * tests/test-fpurge.c (ASSERT): Likewise.
78840         * tests/test-freadable.c (ASSERT): Likewise.
78841         * tests/test-freadahead.c (ASSERT): Likewise.
78842         * tests/test-freading.c (ASSERT): Likewise.
78843         * tests/test-freadptr.c (ASSERT): Likewise.
78844         * tests/test-freadptr2.c (ASSERT): Likewise.
78845         * tests/test-freadseek.c (ASSERT): Likewise.
78846         * tests/test-freopen.c (ASSERT): Likewise.
78847         * tests/test-frexp.c (ASSERT): Likewise.
78848         * tests/test-frexpl.c (ASSERT): Likewise.
78849         * tests/test-fseek.c (ASSERT): Likewise.
78850         * tests/test-fseeko.c (ASSERT): Likewise.
78851         * tests/test-fstrcmp.c (ASSERT): Likewise.
78852         * tests/test-ftell.c (ASSERT): Likewise.
78853         * tests/test-ftello.c (ASSERT): Likewise.
78854         * tests/test-func.c (ASSERT): Likewise.
78855         * tests/test-fwritable.c (ASSERT): Likewise.
78856         * tests/test-fwriting.c (ASSERT): Likewise.
78857         * tests/test-getdelim.c (ASSERT): Likewise.
78858         * tests/test-getline.c (ASSERT): Likewise.
78859         * tests/test-i-ring.c (ASSERT): Likewise.
78860         * tests/test-iconv-utf.c (ASSERT): Likewise.
78861         * tests/test-iconv.c (ASSERT): Likewise.
78862         * tests/test-isfinite.c (ASSERT): Likewise.
78863         * tests/test-isnand.c (ASSERT): Likewise.
78864         * tests/test-isnanf.c (ASSERT): Likewise.
78865         * tests/test-isnanl.h (ASSERT): Likewise.
78866         * tests/test-ldexpl.c (ASSERT): Likewise.
78867         * tests/test-linked_list.c (ASSERT): Likewise.
78868         * tests/test-linkedhash_list.c (ASSERT): Likewise.
78869         * tests/test-localename.c (ASSERT): Likewise.
78870         * tests/test-lseek.c (ASSERT): Likewise.
78871         * tests/test-mbscasecmp.c (ASSERT): Likewise.
78872         * tests/test-mbscasestr1.c (ASSERT): Likewise.
78873         * tests/test-mbscasestr2.c (ASSERT): Likewise.
78874         * tests/test-mbscasestr3.c (ASSERT): Likewise.
78875         * tests/test-mbscasestr4.c (ASSERT): Likewise.
78876         * tests/test-mbschr.c (ASSERT): Likewise.
78877         * tests/test-mbscspn.c (ASSERT): Likewise.
78878         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
78879         * tests/test-mbspbrk.c (ASSERT): Likewise.
78880         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
78881         * tests/test-mbsrchr.c (ASSERT): Likewise.
78882         * tests/test-mbsspn.c (ASSERT): Likewise.
78883         * tests/test-mbsstr1.c (ASSERT): Likewise.
78884         * tests/test-mbsstr2.c (ASSERT): Likewise.
78885         * tests/test-mbsstr3.c (ASSERT): Likewise.
78886         * tests/test-memchr2.c (ASSERT): Likewise.
78887         * tests/test-memmem.c (ASSERT): Likewise.
78888         * tests/test-open.c (ASSERT): Likewise.
78889         * tests/test-printf-frexp.c (ASSERT): Likewise.
78890         * tests/test-printf-frexpl.c (ASSERT): Likewise.
78891         * tests/test-printf-posix.c (ASSERT): Likewise.
78892         * tests/test-quotearg.c (ASSERT): Likewise.
78893         * tests/test-rbtree_list.c (ASSERT): Likewise.
78894         * tests/test-rbtree_oset.c (ASSERT): Likewise.
78895         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
78896         * tests/test-round1.c (ASSERT): Likewise.
78897         * tests/test-roundf1.c (ASSERT): Likewise.
78898         * tests/test-roundl.c (ASSERT): Likewise.
78899         * tests/test-signbit.c (ASSERT): Likewise.
78900         * tests/test-sleep.c (ASSERT): Likewise.
78901         * tests/test-snprintf-posix.c (ASSERT): Likewise.
78902         * tests/test-snprintf.c (ASSERT): Likewise.
78903         * tests/test-sprintf-posix.c (ASSERT): Likewise.
78904         * tests/test-stat-time.c (ASSERT): Likewise.
78905         * tests/test-strcasestr.c (ASSERT): Likewise.
78906         * tests/test-strerror.c (ASSERT): Likewise.
78907         * tests/test-striconv.c (ASSERT): Likewise.
78908         * tests/test-striconveh.c (ASSERT): Likewise.
78909         * tests/test-striconveha.c (ASSERT): Likewise.
78910         * tests/test-strsignal.c (ASSERT): Likewise.
78911         * tests/test-strstr.c (ASSERT): Likewise.
78912         * tests/test-strtod.c (ASSERT): Likewise.
78913         * tests/test-trunc1.c (ASSERT): Likewise.
78914         * tests/test-trunc2.c (ASSERT): Likewise.
78915         * tests/test-truncf1.c (ASSERT): Likewise.
78916         * tests/test-truncf2.c (ASSERT): Likewise.
78917         * tests/test-truncl.c (ASSERT): Likewise.
78918         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
78919         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
78920         * tests/test-vasnprintf.c (ASSERT): Likewise.
78921         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
78922         * tests/test-vasprintf.c (ASSERT): Likewise.
78923         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
78924         * tests/test-vprintf-posix.c (ASSERT): Likewise.
78925         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
78926         * tests/test-vsnprintf.c (ASSERT): Likewise.
78927         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
78928         * tests/test-wcwidth.c (ASSERT): Likewise.
78929         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
78930         * tests/test-xprintf-posix.c (ASSERT): Likewise.
78931         * tests/test-xvasprintf.c (ASSERT): Likewise.
78932         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
78933         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
78934         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
78935         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
78936         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
78937         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
78938         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
78939         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
78940         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
78941         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
78942         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
78943         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
78944         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
78945         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
78946         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
78947         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
78948         * tests/unictype/test-block_list.c (ASSERT): Likewise.
78949         * tests/unictype/test-block_of.c (ASSERT): Likewise.
78950         * tests/unictype/test-block_test.c (ASSERT): Likewise.
78951         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
78952         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
78953         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
78954         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
78955         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
78956         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
78957         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
78958         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
78959         * tests/unictype/test-combining.c (ASSERT): Likewise.
78960         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
78961         * tests/unictype/test-digit.c (ASSERT): Likewise.
78962         * tests/unictype/test-mirror.c (ASSERT): Likewise.
78963         * tests/unictype/test-numeric.c (ASSERT): Likewise.
78964         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
78965         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
78966         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
78967         * tests/unictype/test-scripts.c (ASSERT): Likewise.
78968         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
78969         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
78970         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
78971         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
78972         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
78973         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
78974         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
78975         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
78976         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
78977         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
78978         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
78979         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
78980         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
78981         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
78982         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
78983         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
78984         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
78985         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
78986         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
78987         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
78988         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
78989         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
78990         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
78991         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
78992         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
78993         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
78994         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
78995         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
78996         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
78997         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
78998         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
78999         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
79000         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
79001         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
79002         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
79003         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
79004         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
79005         Reported by Eric Blake.
79007 2008-04-11  Bruno Haible  <bruno@clisp.org>
79009         * lib/wchar.in.h: Tweak comment.
79011 2008-04-11  Bruno Haible  <bruno@clisp.org>
79013         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
79014         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
79015         gl_COMMON.
79016         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
79018 2008-04-11  Bruno Haible  <bruno@clisp.org>
79020         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
79022 2008-04-11  Simon Josefsson  <simon@josefsson.org>
79024         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
79025         of attempting to use non-existing /dev/*random.  Based on patch
79026         from Adam Strzelecki <ono@java.pl> in
79027         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
79029 2008-04-08  Bruno Haible  <bruno@clisp.org>
79031         Add tentative support for emx+gcc.
79032         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
79033         * lib/fpurge.c (fpurge): Likewise.
79034         * lib/freadable.c (freadable): 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 (rpl_fseeko): Likewise.
79040         * lib/fseterr.c (fseterr): Likewise.
79041         * lib/fwritable.c (fwritable): Likewise.
79042         * lib/fwriting.c (fwriting): Likewise.
79043         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
79045 2008-04-09  Eric Blake  <ebb9@byu.net>
79047         Avoid some autoconf warnings.
79048         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
79049         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
79050         * m4/afs.m4 (gl_AFS): Likewise.
79051         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
79052         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
79053         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79054         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
79055         (gl_INTEGER_TYPE_SUFFIX): Likewise.
79056         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
79057         (AC_CHECK_DECLS_ONCE): Likewise.
79058         Rename file...
79059         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
79060         gnulib-tool requires autoconf 2.59 or better.
79061         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
79063 2008-04-08  Eric Blake  <ebb9@byu.net>
79065         Use 'git describe --match' if present (added in git 1.5.5).
79066         * build-aux/git-version-gen: Limit result to tags that match 'v*'
79067         if possible.
79069 2008-04-08  Bruno Haible  <bruno@clisp.org>
79071         Add tentative support for OpenServer.
79072         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
79073         _ptr, _cnt.
79074         * lib/fpurge.c (fpurge): Likewise.
79075         * lib/freadable.c (freadable): Likewise.
79076         * lib/freadahead.c (freadahead): Likewise.
79077         * lib/freading.c (freading): Likewise.
79078         * lib/freadptr.c (freadptr): Likewise.
79079         * lib/freadseek.c (freadptrinc): Likewise.
79080         * lib/fseeko.c (rpl_fseeko): Likewise.
79081         * lib/fseterr.c (fseterr): Likewise.
79082         * lib/fwritable.c (fwritable): Likewise.
79083         * lib/fwriting.c (fwriting): Likewise.
79084         Reported by Roger Cornelius <rac@tenzing.org> and
79085         Brian K. White <brian@aljex.com>.
79087 2008-04-06  Jim Meyering  <meyering@redhat.com>
79089         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
79091 2008-04-06  Bruno Haible  <bruno@clisp.org>
79093         Avoid possible error with non-ASCII bytes in UTF-8 locales.
79094         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
79095         * tests/test-printf-posix.sh: Likewise.
79096         * tests/test-vfprintf-posix.sh: Likewise.
79097         * tests/test-vprintf-posix.sh: Likewise.
79098         * tests/test-xprintf-posix.sh: Likewise.
79100 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79102         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
79103         hide error from 'ls', needed on OS/2.
79104         Report by Elbert Pol <elbert.pol@gmail.com>.
79106 2008-04-04  Eric Blake  <ebb9@byu.net>
79108         Make test-fseeko.c failures meaningful.
79109         * tests/test-fseeko.c: Print line number on failure.
79110         * tests/test-fseek.c: Likewise.
79111         Reported by Nelson H. F. Beebe.
79113         Improve strtod bug detection check.
79114         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
79115         required for Solaris 10.
79116         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
79118 2008-04-04  Bruno Haible  <bruno@clisp.org>
79120         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
79121         by m4/setenv.m4.
79123 2008-04-03  Eric Blake  <ebb9@byu.net>
79125         Ensure sane .version contents.
79126         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
79127         version string.
79128         * build-aux/git-version-gen: Improve documentation.
79130         Make GNU make output nicer.
79131         * top/GNUmakefile [!_have-Makefile]: Add dependency on
79132         MAKECMDGOALS to enforce message for all command line targets.  Set
79133         srcdir for use in maint.mk.
79135         Another maintainer tweak.
79136         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
79137         a target that regenerates version.
79139 2008-04-03  Jim Meyering  <meyering@redhat.com>
79141         vc-list-files: don't cause coreutils "make po-check" failure
79142         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
79144 2008-04-03  Eric Blake  <ebb9@byu.net>
79146         Allow VPATH usage of vc-list-files.
79147         * build-aux/vc-list-files (scriptversion): Add timestamp.
79148         (options): Add --help, --version, -C.
79149         (CVS): Support installed cvsu.
79151 2008-04-02  Bruno Haible  <bruno@clisp.org>
79153         Avoid some "statement with no effect" warnings from gcc.
79154         * tests/test-wctype.c (main): Explicitly ignore unused values.
79155         Reported by Jim Meyering.
79157 2008-04-02  Jim Meyering  <meyering@redhat.com>
79159         Avoid some warnings from "gcc -Wshadow".
79160         * tests/test-frexp.c (exp): Define to a different identifier.
79161         * tests/test-frexpl.c (exp): Likewise.
79163 2008-04-03  Jim Meyering  <meyering@redhat.com>
79165         bootstrap: remove dangling *.[ch] symlinks from lib
79166         * build-aux/bootstrap [dangling symlink removal]: Move find's
79167         -depth option to precede all others, to avoid a warning.
79168         Remove *.[ch] files too, and from "$source_base" (usually lib/).
79170 2008-04-02  Bruno Haible  <bruno@clisp.org>
79172         Avoid some warnings from "gcc -Wshadow".
79173         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
79174         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
79175         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
79176         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
79177         Reported by Jim Meyering.
79179 2008-04-01  Bruno Haible  <bruno@clisp.org>
79181         Fix test to work on IRIX 6.5 with cc.
79182         * tests/test-math.c (numeric_equal): New function.
79183         (main): Use it.
79185 2008-04-01  Bruno Haible  <bruno@clisp.org>
79187         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
79189 2008-04-01  Bruno Haible  <bruno@clisp.org>
79191         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
79192         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79193         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
79194         (Depends-on): Remove math.
79196         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
79197         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79198         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
79199         (Depends-on): Remove math.
79201         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
79202         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79203         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
79204         (Depends-on): Remove math.
79205         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
79206         (Depends-on): Remove math.
79208         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
79209         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
79210         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
79211         (Depends-on): Remove math.
79212         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
79213         (Depends-on): Remove math.
79215         * tests/test-round1.c: Include nan.h.
79216         (main): Use NaNd instead of NAN.
79217         * modules/round-tests (Files): Add tests/nan.h.
79219         * tests/test-trunc1.c: Include nan.h.
79220         (main): Use NaNd instead of NAN.
79221         * modules/trunc-tests (Files): Add tests/nan.h.
79223         * tests/test-roundf1.c: Include nan.h.
79224         (main): Use NaNf instead of NAN.
79225         * modules/roundf-tests (Files): Add tests/nan.h.
79227         * tests/test-truncf1.c: Include nan.h.
79228         (main): Use NaNf instead of NAN.
79229         * modules/truncf-tests (Files): Add tests/nan.h.
79231         * tests/test-ceilf1.c: Include nan.h.
79232         (main): Use NaNf instead of NAN.
79233         * modules/ceilf-tests (Files): Add tests/nan.h.
79235         * tests/test-floorf1.c: Include nan.h.
79236         (main): Use NaNf instead of NAN.
79237         * modules/floorf-tests (Files): Add tests/nan.h.
79239         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
79240         (main): Use NaNf instead of NAN.
79241         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
79243         * tests/test-isnand.c: Include nan.h instead of <math.h>.
79244         (main): Use NaNd instead of NAN.
79245         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
79247         * tests/test-frexp.c: Include nan.h.
79248         (main): Use NaNd instead of NAN.
79249         * modules/frexp-tests (Files): Add tests/nan.h.
79251         * lib/isnan.c: Don't include <math.h>.
79252         (FUNC): Don't use NAN macro.
79253         * modules/isnand-nolibm (Depends-on): Remove math.
79254         * modules/isnanf-nolibm (Depends-on): Remove math.
79255         * modules/isnanl (Depends-on): Remove math.
79256         * modules/isnanl-nolibm (Depends-on): Remove math.
79258         * tests/nan.h: New file.
79260 2008-04-01  Eric Blake  <ebb9@byu.net>
79262         Fix typos.
79263         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
79264         values to be the right type.
79266         For now, cater to gnulib strtod inaccuracies.
79267         * tests/test-strtod.c (main): Allow 1-ulp error on expected
79268         fractional results.  While not as nice from a QoI perspective, it
79269         is a quicker patch than correctly implementing decimal to binary
79270         rounding.
79272 2008-03-31  Eric Blake  <ebb9@byu.net>
79274         Guarantee a definition of NAN.
79275         * lib/math.in.h (NAN): Define if missing.
79276         * tests/test-math.c (main): Test it.
79277         * doc/posix-headers/math.texi (math.h): Document this.
79278         * lib/isnan.c (rpl_isnand): Use it.
79279         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
79280         * tests/test-floorf1.c (NaN): Likewise.
79281         * tests/test-frexp.c (NaN): Likewise.
79282         * tests/test-isnand.c (NaN): Likewise.
79283         * tests/test-isnanf.c (NaN): Likewise.
79284         * tests/test-round1.c (NaN): Likewise.
79285         * tests/test-roundf1.c (NaN): Likewise.
79286         * tests/test-snprintf-posix.h (NaN): Likewise.
79287         * tests/test-sprintf-posix.h (NaN): Likewise.
79288         * tests/test-trunc1.c (NaN): Likewise.
79289         * tests/test-truncf1.c (NaN): Likewise.
79290         * tests/test-vasnprintf-posix.c (NaN): Likewise.
79291         * tests/test-vasprintf-posix.c (NaN): Likewise.
79292         * modules/isnand-nolibm (Depends-on): Add math.
79293         * modules/isnanf-nolibm (Depends-on): Likewise.
79294         * modules/isnanl (Depends-on): Likewise.
79295         * modules/isnanl-nolibm (Depends-on): Likewise.
79296         * modules/snprintf-posix-tests (Depends-on): Likewise.
79297         * modules/sprintf-posix-tests (Depends-on): Likewise.
79298         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
79299         * modules/vsprintf-posix-tests (Depends-on): Likewise.
79300         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
79301         * modules/vasprintf-posix-tests (Depends-on): Likewise.
79303 2008-03-31  Bruno Haible  <bruno@clisp.org>
79305         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
79306         * doc/posix-functions/strtod.texi: Likewise.
79308 2008-03-31  Bruno Haible  <bruno@clisp.org>
79310         * tests/test-strtod.c (main): Don't use C99 syntax.
79312 2008-03-31  Bruno Haible  <bruno@clisp.org>
79314         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
79315         Reported by Eric Blake.
79317 2008-03-31  Jim Meyering  <meyering@redhat.com>
79319         Don't compare actual signbit return values.
79320         * tests/test-strtod.c (main): Rather, compare only their
79321         zero/non-zero nature.
79323 2008-03-31  Eric Blake  <ebb9@byu.net>
79325         More strtod documentation.
79326         * doc/posix-functions/strtod.texi (strtod): Interpret more test
79327         failures as distinct bugs.
79329 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
79331         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
79332         Problem reported by Erik Benada in
79333         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
79335 2008-03-30  Bruno Haible  <bruno@clisp.org>
79337         * tests/test-strtod.c: Add comments about which assertion fails on which
79338         platform.
79339         * doc/posix-functions/strtod.texi: Add info about many more platforms.
79341 2008-03-30  Eric Blake  <ebb9@byu.net>
79343         Test signbit behavior on zeros.
79344         * tests/test-signbit.c (test_signbitf): Add tests for zero.
79345         (test_signbitd, test_signbitl): Likewise.
79347         More strtod touchups.
79348         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
79349         sign of negative underflow, for now.  Use .5, not .1.
79350         * doc/posix-functions/strtod.texi (strtod): Mention these
79351         limitations.
79352         Reported by Jim Meyering.
79354 2008-03-30  Bruno Haible  <bruno@clisp.org>
79356         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
79357         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
79359 2008-03-30  Bruno Haible  <bruno@clisp.org>
79361         Avoid failure when attempting to return empty iconv results on some
79362         platforms.
79363         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
79364         allocation, don't report ENOMEM when the resulting string is empty.
79366 2008-03-30  Bruno Haible  <bruno@clisp.org>
79368         Fix buffer overrun.
79369         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
79370         Don't consider the width for tmp_length. Check count against tmp_length
79371         before doing the padding. Ensure enough allocation during padding.
79373 2008-03-30  Eric Blake  <ebb9@byu.net>
79375         strtod touchups.
79376         * lib/strtod.c (strtod): Avoid compiler warnings.
79377         Reported by Jim Meyering.
79379 2008-03-30  Bruno Haible  <bruno@clisp.org>
79381         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
79382         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
79383         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
79384         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
79385         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
79386         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
79387         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
79388         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
79390         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
79391         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
79392         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
79393         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
79394         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
79395         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
79396         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
79397         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
79399         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
79400         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
79401         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
79402         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
79403         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
79404         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
79405         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
79406         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
79408         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
79409         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
79411         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
79412         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
79414         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
79415         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
79417         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
79418         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
79419         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
79421         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
79422         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
79423         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
79425         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
79426         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
79427         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
79429         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
79430         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
79431         * modules/vasprintf (Depends-on): Add EOVERFLOW.
79433         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
79434         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
79435         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
79436         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
79437         (Depends-on): Add EOVERFLOW.
79438         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
79439         (Depends-on): Add EOVERFLOW.
79440         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79441         (Depends-on): Add EOVERFLOW.
79442         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
79443         (Depends-on): Add EOVERFLOW.
79444         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79445         (Depends-on): Add EOVERFLOW.
79446         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
79447         (Depends-on): Add EOVERFLOW.
79448         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79449         (Depends-on): Add EOVERFLOW.
79450         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
79451         (Depends-on): Add EOVERFLOW.
79453         * lib/sprintf.c (EOVERFLOW): Remove fallback.
79454         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
79455         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
79457         * lib/snprintf.c (EOVERFLOW): Remove fallback.
79458         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
79459         * modules/snprintf (Depends-on): Add EOVERFLOW.
79461         * lib/poll.c (EOVERFLOW): Remove fallback.
79462         * modules/poll (Depends-on): Add EOVERFLOW.
79464         * lib/getugroups.c (EOVERFLOW): Remove fallback.
79465         * modules/getugroups (Depends-on): Add EOVERFLOW.
79467         * lib/getdelim.c (EOVERFLOW): Remove fallback.
79468         * modules/getdelim (Depends-on): Add EOVERFLOW.
79470         * lib/ftell.c (EOVERFLOW): Remove fallback.
79471         * modules/ftell (Depends-on): Add EOVERFLOW.
79473         * lib/fprintf.c (EOVERFLOW): Remove fallback.
79474         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
79475         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
79477         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
79479         * modules/EOVERFLOW-tests: New file.
79480         * tests/test-EOVERFLOW.c: New file.
79482         * modules/EOVERFLOW: New file.
79483         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
79485 2008-03-30  Bruno Haible  <bruno@clisp.org>
79487         Fix bug introduced on 2007-06-10.
79488         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
79489         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
79491 2008-03-30  Bruno Haible  <bruno@clisp.org>
79493         Improve freadseek's efficiency after ungetc.
79494         * lib/freadseek.c: Include freadahead.h.
79495         (freadptrinc): New function, extracted from freadseek.
79496         (freadseek): Use it in a loop. Use freadahead to determine the number
79497         of loop iterations.
79498         * modules/freadseek (Depends-on): Add freadahead.
79499         (configure.ac): Require AC_C_INLINE.
79501 2008-03-30  Bruno Haible  <bruno@clisp.org>
79503         * lib/freadseek.c (freadseek): Don't ignore the return value of
79504         freadptr.
79506 2008-03-29  Eric Blake  <ebb9@byu.net>
79508         Add hex float support.
79509         * modules/strtod (Depends-on): Add c-ctype.
79510         (Link): Mention POW_LIB.
79511         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
79512         whitespace between 'e' and exponent.
79513         * tests/test-strtod.c (main): Enable hex float tests.
79514         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
79515         now provides.
79517         Document various strtod bugs, with some fixes.
79518         * doc/posix-functions/strtod.texi (strtod): Document bugs with
79519         "-0x", "inf", "nan", and hex constants.
79520         * doc/posix-functions/atof.texi (atof): Likewise.
79521         * modules/stdlib (Makefile.am): Support strtod.
79522         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
79523         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
79524         detect additional strtod bugs.
79525         * lib/stdlib.in.h (rpl_strtod): Add declarations.
79526         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
79527         bool where appropriate.  Parse 'inf' and 'nan'.
79528         * tests/test-strtod.c: New file.
79529         * modules/strtod (Depends-on): Add stdbool, stdlib.
79530         (configure.ac): Turn on module indicator.
79531         * modules/strtod-tests: New module.
79533 2008-03-29  Eric Blake  <ebb9@byu.net>
79535         Fix ftell on mingw.
79536         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
79537         * modules/ftell-tests (Depends-on): Add binary-io.
79538         * modules/ftello-tests (Depends-on): Likewise.
79539         * tests/test-ftell.c (main): Enhance test to cover behavior after
79540         ungetc.  Enforce binary mode.
79541         * tests/test-ftello.c (main): Likewise.
79543         Pass test-freadseek on cygwin.
79544         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
79545         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
79546         ungetc buffer.
79548         * tests/test-fflush2.c (main): Fix typo.
79550 2008-03-29  Bruno Haible  <bruno@clisp.org>
79552         * tests/test-fflush2.c (main): Temporarily disable the contents of
79553         this test.
79554         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
79555         Reported by Eric Blake.
79557 2008-03-28  Simon Josefsson  <simon@josefsson.org>
79559         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
79560         (GC_SHA224_DIGEST_SIZE): Add.
79562         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
79563         (gc_hash_digest_length): Likewise.
79564         (gc_hash_buffer): Likewise.
79566 2008-03-25  Bruno Haible  <bruno@clisp.org>
79568         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
79569         detail which gettext release to use.
79570         Reported by Simon Josefsson.
79572 2008-03-26  Jim Meyering  <meyering@redhat.com>
79574         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
79575         * modules/gnumakefile (clean-GNUmakefile): Also, use
79576         test ... && ... || : syntax rather than if-then ... fi.
79578         gnumakefile: Don't double-quote-expand $(VPATH) value.
79579         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
79581 2008-03-24  Eric Blake  <ebb9@byu.net>
79583         Alter GNUmakefile to install into top directory.
79584         * modules/maintainer-makefile: Split, and add dependency...
79585         * modules/gnumakefile: to this new module.
79586         * build-aux/GNUmakefile: Move...
79587         * top/GNUmakefile: ...here.
79588         * build-aux/maint.mk: Move...
79589         * top/maint.mk: ...here.
79590         * MODULES.html.sh (Support for maintaining...): Document new
79591         module.
79593 2008-03-23  Bruno Haible  <bruno@clisp.org>
79595         * gnulib-tool: New options --vc-files, --no-vc-files.
79596         (func_usage): Document them.
79597         (vc_files): New variable.
79598         (func_import): Consider vc_files.
79599         (func_create_testdir): Set vc_files to empty.
79600         Suggested by Jim Meyering and Karl Berry.
79602 2008-03-23  Bruno Haible  <bruno@clisp.org>
79604         Fix regex compilation error on HP-UX 11.
79605         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
79606         * modules/regex (Files): Add m4/mbstate_t.m4.
79607         Reported by Ton Voon <ton.voon@altinity.com>.
79609 2008-03-23  Bruno Haible  <bruno@clisp.org>
79611         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
79613 2008-03-23  Eric Blake  <ebb9@byu.net>
79614             Bruno Haible  <bruno@clisp.org>
79616         Install files from top/ in the destination directory.
79617         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
79618         augmentation also for the files from top/.
79619         (func_import, func_create_testdir): Rewrite file names:
79620         top/filename -> filename.
79622 2008-03-23  Bruno Haible  <bruno@clisp.org>
79624         Tweak "gnulib --version" output.
79625         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
79627 2008-03-23  Bruno Haible  <bruno@clisp.org>
79629         Tweak "gnulib --version" output.
79630         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
79631         rather than contents of ChangeLog, when possible.
79633 2008-03-21  Eric Blake  <ebb9@byu.net>
79635         More --version tweaks.
79636         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
79637         date of last ChangeLog entry.
79639 2008-03-21  Jim Meyering  <meyering@redhat.com>
79641         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
79643 2008-03-20  Eric Blake  <ebb9@byu.net>
79645         VPATH fix.
79646         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
79648 2008-03-20  Simon Josefsson  <simon@josefsson.org>
79650         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
79651         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
79653 2008-03-20  Eric Blake  <ebb9@byu.net>
79655         Sync GNUmakefile with coreutils.
79656         * build-aux/GNUmakefile (have-Makefile): Rename...
79657         (_have-Makefile): ...to this, for namespace consideration.
79658         (GNUmakefile.cfg): Include, if present.
79659         (_autoreconf): Define a default.
79660         (_is-dist-target): New rule for rebuilds to pick up intra-release
79661         version.
79662         (maint-cfg.mk): Rename...
79663         (cfg.mk): ...to this.
79665 2008-03-18  Jim Meyering  <meyering@redhat.com>
79667         New script and module: mktempd
79668         * MODULES.html.sh (maint+release support): Add mktempd.
79669         * build-aux/mktempd: New file.
79670         * modules/mktempd: New file.
79672 2008-03-15  Jim Meyering  <meyering@redhat.com>
79674         Undo last change.
79675         * lib/sha1.c, lib/md5.c: 63 != ~63.
79676         Reported by Andreas Schwab.
79678         sha1.c, md5.c: Hoist a redundant expression.
79679         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
79680         "ctx->buflen" only once, before calling *_process_block.
79681         * lib/md5.c (md5_process_bytes): Likewise.
79683 2008-03-14  Eric Blake  <ebb9@byu.net>
79685         Bump copyright year in files generated by gnulib-tool.
79686         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
79687         gnulib-tool, rather than hard-coding it.
79689         Fix 'gnulib-tool --version' output to work with git.
79690         * gnulib-tool (func_gnulib_dir): New function, extracted from...
79691         (startup): ...here.
79692         (func_version): Use it to invoke git-version-gen, rather than
79693         relying on CVS keyword expansion.  Modernize wording.
79694         (cvsdatestamp, last_checkin_date, version): Kill unused
79695         variables.
79697 2008-03-12  Jim Meyering  <meyering@redhat.com>
79699         Recognize optional cast of the argument to free.
79700         * build-aux/useless-if-before-free: Update regexps.
79702         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
79704 2008-03-11  Bruno Haible  <bruno@clisp.org>
79706         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
79707         by a single package.
79708         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
79709         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
79710         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
79711         Reported by Sam Steingold <sds@gnu.org>.
79713 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
79715         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
79716         repositories.
79718 2008-03-11  Bruno Haible  <bruno@clisp.org>
79720         Avoid conflicts between local macro definitions.
79721         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
79722         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
79724 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
79725             Bruno Haible  <bruno@clisp.org>
79727         Make va_copy work with some version of xlc on AIX 5.1.
79728         * lib/stdarg.in.h: New file.
79729         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
79730         On AIX, use a <stdarg.h> file substitute.
79731         * modules/stdarg (Files): Add lib/stdarg.in.h.
79732         (Depends-on): Add include_next.
79733         (Makefile.am): Build a stdarg.h substitute if requested.
79734         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
79736 2008-03-10  Bruno Haible  <bruno@clisp.org>
79738         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
79739         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
79740         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
79742 2008-03-10  Bruno Haible  <bruno@clisp.org>
79744         * modules/stdlib (Depends-on): Add include_next, remove
79745         absolute-header.
79747 2008-03-09  Bruno Haible  <bruno@clisp.org>
79749         * lib/freadahead.h (freadahead): Document more precisely.
79750         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
79751         the sum of both buffer sizes.
79752         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
79753         * NEWS: Document the change.
79755 2008-03-09  Bruno Haible  <bruno@clisp.org>
79757         Extend freadptr to return also the buffer size.
79758         * lib/freadptr.h (freadptr): Add sizep argument.
79759         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
79760         (freadptr): Add sizep argument. Determine buffer size like freadahead
79761         does.
79762         * tests/test-freadptr.c: Don't include freadahead.h.
79763         (main): Adapt for new calling convention of freadptr.
79764         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
79765         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
79766         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
79767         tests/test-freadptr2.sh.
79768         (Depends): Remove freadahead.
79769         (TESTS): Add test-freadptr2.sh.
79770         (check_PROGRAMS): Add test-freadptr2.
79772 2008-03-09  Bruno Haible  <bruno@clisp.org>
79774         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
79775         Report and solution by Simon Josefsson.
79777 2008-03-06  Bruno Haible  <bruno@clisp.org>
79779         Make fflush after ungetc work on BSD platforms.
79780         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
79781         * tests/test-fflush2.c: New file.
79782         * tests/test-fflush2.sh: New file.
79783         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
79784         tests/test-fflush2.c.
79785         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
79786         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
79788 2008-03-06  Eric Blake  <ebb9@byu.net>
79790         Likewise for ftello.
79791         * modules/ftello (Dependencies): Add extensions.
79792         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
79794 2008-03-06  Bruno Haible  <bruno@clisp.org>
79796         * modules/fseeko (Dependencies): Add extensions.
79797         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
79798         Needed on glibc systems.
79800 2008-03-06  Bruno Haible  <bruno@clisp.org>
79802         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
79803         email address.
79804         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79806 2008-03-06  Bruno Haible  <bruno@clisp.org>
79808         * users.txt: Add libgnupdf.
79810 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
79812         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
79813         (Header File Substitutes, Function Substitutes,
79814         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
79815         (Build robot for gnulib): Fix typo.
79817 2008-03-06  Bruno Haible  <bruno@clisp.org>
79819         * doc/gnulib-tool.texi (VCS Issues): Small updates.
79820         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
79822 2008-03-06  Bruno Haible  <bruno@clisp.org>
79824         * doc/func.texi: New file, extracted from doc/gnulib.texi.
79825         * doc/gnulib.texi: Include it.
79827 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79829         * modules/func (License): Change license to unlimited; there was
79830         no LGPL parts in the module anyway.
79832 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79834         * modules/__func__: Renamed to modules/func.
79835         * modules/__func__-tests: Renamed to modules/func-tests.
79836         * tests/test-__func__.c: Renamed to tests/test-func.c.
79837         * m4/__func__.m4: Renamed to m4/func.m4.
79838         * doc/gnulib.texi (__func__): Section renamed to func.
79839         Suggested by Eric Blake <ebb9@byu.net>.
79841 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79843         * doc/gnulib.texi (__func__): Use C99 terminology when talking
79844         about __func__.  Make example self-contained.  Suggested by Eric
79845         Blake <ebb9@byu.net>.
79847         * tests/test-__func__.c (main): Avoid extraneous () around __func.
79848         Suggested by Eric Blake <ebb9@byu.net>.
79850 2008-03-06  Simon Josefsson  <simon@josefsson.org>
79852         * modules/__func__: New file.
79853         * modules/__func__-tests: New file.
79854         * tests/test-__func__.c: New file.
79855         * m4/__func__.m4: New file.
79856         * doc/gnulib.texi (__func__): Document __func__ module.
79858 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79860         * modules/byteswap (License): Re-license as LGPLv2+.
79862 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79864         * doc/Makefile: Add pdf target.
79866 2008-03-05  Simon Josefsson  <simon@josefsson.org>
79868         * modules/inline (License): Use 'unlimited', since there are only
79869         *.m4 files in this module.
79871 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79872             Bruno Haible  <bruno@clisp.org>
79874         Add support for HP C 7.1 on OpenVMS 8.3.
79875         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
79877 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
79879         Update VMS specifics.
79880         * lib/getopt.c [VMS]: Remove include of unixlib.h.
79882 2008-03-02  Jim Meyering  <meyering@redhat.com>
79884         Remove the last dependency on the "free" module.
79885         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
79886         Reported by Bob Proulx.
79888         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
79890         Remove useless "if" tests before free.  Deprecate "free" module.
79891         * doc/posix-functions/free.texi: Mention that this
79892         module is no longer useful.
79893         * modules/free (Notice): Say this module is obsolete.
79894         * modules/readutmp (Depends-on): Remove free.
79895         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
79896         * lib/putenv.c (putenv): Likewise.
79897         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
79898         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
79899         * tests/test-c-strcasestr.c (main): Likewise.
79900         * tests/test-c-strstr.c (main): Likewise.
79901         * tests/test-mbscasestr1.c (main): Likewise.
79902         * tests/test-mbscasestr2.c (main): Likewise.
79903         * tests/test-mbsstr1.c (main): Likewise.
79904         * tests/test-mbsstr2.c (main): Likewise.
79905         * tests/test-memmem.c (main): Likewise.
79906         * tests/test-strcasestr.c (main): Likewise.
79907         * tests/test-striconv.c (main): Likewise.
79908         * tests/test-striconveh.c (main): Likewise.
79909         * tests/test-striconveha.c (main): Likewise.
79910         * tests/test-strstr.c (main): Likewise.
79912         * build-aux/git-version-gen: Adjust a comment and the Usage string.
79914         bootstrap: sync from coreutils again
79915         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
79917 2008-03-01  Jim Meyering  <meyering@redhat.com>
79919         bootstrap: sync from coreutils
79920         * build-aux/bootstrap (update_po_files): Copy a .po file into place
79921         also when the target doesn't exist.
79923 2008-03-01  Eric Blake  <ebb9@byu.net>
79925         Fix bugs in last patch.
79926         * lib/memchr2.c (memchr2): Fix typo.
79927         * tests/test-memchr2.c: Test previous bug, and don't use GNU
79928         extension.
79929         Reported by Bruce Korb.
79931         New module 'memchr2'.
79932         * modules/memchr2: New file.
79933         * modules/memchr2-tests: Likewise.
79934         * lib/memchr2.h: Likewise.
79935         * lib/memchr2.c: Likewise, based on memchr.c.
79936         * tests/test-memchr2.c: New test.
79937         * MODULES.html.sh (String handling): Add memchr2.
79939 2008-02-29  Bruno Haible  <bruno@clisp.org>
79941         * modules/freadseek-tests: New file.
79942         * tests/test-freadseek.sh: New file.
79943         * tests/test-freadseek.c: New file.
79945         New module 'freadseek'.
79946         * modules/freadseek: New file.
79947         * lib/freadseek.h: New file.
79948         * lib/freadseek.c: New file.
79949         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
79951 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
79953         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
79954         wydawca.
79956         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
79957         program_invocation_name and program_invocation_short_name are
79958         present.
79960 2008-02-28  Bruno Haible  <bruno@clisp.org>
79962         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
79963         * tests/test-freadptr.sh: Also test non-seekable stdin.
79965 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
79967         * build-aux/bootstrap (source_base, m4_base)
79968         (doc_base, tests_base): New variables.
79969         (gnulib_tool_options): Do not hardcode base directories, use
79970         the above variables instead.
79972 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
79974         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
79976 2008-02-28  Bruno Haible  <bruno@clisp.org>
79978         * modules/freadptr-tests: New file.
79979         * tests/test-freadptr.sh: New file.
79980         * tests/test-freadptr.c: New file.
79982         New module 'freadptr'.
79983         * modules/freadptr: New file.
79984         * lib/freadptr.h: New file.
79985         * lib/freadptr.c: New file.
79986         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
79988 2008-02-26  Karl Berry  <karl@freefriends.org>
79990         Sync from Libtool:
79991         * libltdl/argz.c (argz_add, argz_count): New functions.
79992         * libltdl/argz.in.h: Declare them.
79993         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
79995 2008-02-22  Bruno Haible  <bruno@clisp.org>
79997         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
79998         is a pointer type.  Needed for HP-UX 10.
79999         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
80000         * doc/posix-functions/gmtime_r.texi: Likewise.
80001         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
80003 2008-02-24  Bruno Haible  <bruno@clisp.org>
80005         * modules/environ-tests: New file.
80006         * tests/test-environ.c: New file.
80008         New module 'environ'.
80009         * modules/environ: New file.
80010         * lib/unistd.in.h (environ): New declaration.
80011         * m4/environ.m4: New file.
80012         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
80013         after use.
80014         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
80015         HAVE_DECL_ENVIRON.
80016         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
80017         HAVE_DECL_ENVIRON.
80018         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
80019         wrong claim that 'environ' is missing on some systems.
80020         * modules/execute (Depends-on): Add environ.
80021         * lib/execute.c (environ): Remove fallback declaration.
80022         * modules/pipe (Depends-on): Add environ.
80023         * lib/pipe.c (environ): Remove fallback declaration.
80024         * modules/setenv (Depends-on): Add environ.
80025         * lib/setenv.c (environ): Remove fallback declaration.
80026         * modules/unsetenv (Depends-on): Add environ.
80027         * lib/unsetenv.c (environ): Remove fallback declaration.
80028         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
80029         m4/environ.m4.
80030         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
80031         (gl_PREREQ_UNSETENV): Likewise.
80033 2008-02-24  Bruno Haible  <bruno@clisp.org>
80035         * doc/posix-functions/environ.texi: Document the MacOS X problem.
80037 2008-02-20  Bob Proulx  <bob@proulx.com>
80039         Enable use of older two part flavor 'git describe'.
80040         * build-aux/git-version-gen: If using the older two part flavor of
80041         git version then recreate the third part now present in the
80042         newer three part flavor of git describe.
80044 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
80046         * lib/fts.c (fts_build): Typo correction to comment.
80048 2008-02-17  Bruno Haible  <bruno@clisp.org>
80050         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
80051         generating no-op conflicts.
80053 2008-02-17  Bruno Haible  <bruno@clisp.org>
80055         Speed up by 10%.
80056         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
80057         result_entries, rather than an index-based loop.
80059 2008-02-17  Bruno Haible  <bruno@clisp.org>
80061         Speed up by 25%.
80062         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
80063         'hashcode_cached'.
80064         (entry_create): New function.
80065         (entry_hashcode): Use the cached hashcode if possible.
80066         (read_changelog_file, try_split_merged_entry): Use entry_create.
80068 2008-02-17  Bruno Haible  <bruno@clisp.org>
80070         Speed up from O(n^2) to O(n) for long ChangeLog files.
80071         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
80072         (read_changelog_file): Change implementation of entries_reversed list
80073         to rbtreehash.
80074         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
80076 2008-02-17  Bruno Haible  <bruno@clisp.org>
80078         New option --split-merged-entry.
80079         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
80080         (find_paragraph_end, try_split_merged_entry): New functions.
80081         (long_options): Add option --split-merged-entry.
80082         (usage): Document option --split-merged-entry.
80083         (main): Implement option --split-merged-entry.
80084         Reported by Eric Blake.
80086 2008-02-17  Bruno Haible  <bruno@clisp.org>
80088         * lib/git-merge-changelog.c: Include c-strstr.h.
80089         (main): Support the "git pull --rebase" situation.
80090         * modules/git-merge-changelog (Depends-on): Add c-strstr.
80091         Reported by Eric Blake.
80093 2008-02-16  Eric Blake  <ebb9@byu.net>
80095         Avoid doubling \ in common case of "c-maybe" quoting style.
80096         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
80097         eliding outer quotes.
80098         * lib/quotearg.h: Document this.
80099         * tests/test-quotearg.c (result_strings, inputs, results_g)
80100         (flag_results, locale_results): Test it by adding a new string to
80101         each test group.
80102         (compare_strings): Test new string.
80104 2008-02-13  Eric Blake  <ebb9@byu.net>
80106         Avoid trigraph quoting in default output.
80107         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
80108         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
80109         unless explicitly requested.
80110         * tests/test-quotearg.c (flag_results, main): Add additional tests.
80112 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
80114         Don't rely on signed integer overflowing to negative value.
80115         * lib/getugroups.c (getugroups): Include <limits.h>.
80116         Instead, compare against INT_MAX, and increment only if the test passes.
80118 2008-02-13  Jim Meyering  <meyering@redhat.com>
80119         and Eric Blake  <ebb9@byu.net>
80121         Avoid shadowing warning and compile errors on Linux.
80122         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
80123         forwarding macros on Linux.
80124         (dcgettext): Define a stub, for Linux.
80125         (results_g, main): Avoid warnings.
80127 2008-02-12  Eric Blake  <ebb9@byu.net>
80129         Silence warning in last patch.
80130         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
80132         Quotearg part 4: add tests, fix c-maybe colon quoting.
80133         * lib/quotearg.h: Improve documentation.
80134         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
80135         escapes when adding outer quotes.  When quoting trigraphs, use
80136         valid C notation.  When quoting NUL, omit extra characters if next
80137         character is not digit.  Alter prototype.
80138         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
80139         callers.
80140         * modules/quotearg-tests: New module.
80141         * tests/test-quotearg.c: New test.
80143 2008-02-07  Eric Blake  <ebb9@byu.net>
80145         Quotearg part 3: add flag to control outer quote elision.
80146         * lib/quotearg.h (c_maybe_quoting_style): New style.
80147         (enum quoting_flags): Better documentation of flags.
80148         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
80149         c-maybe style.
80150         (quotearg_buffer_restyled): Handle new flag to elide outer
80151         quotes.
80153         Quotearg part 2: add flag that can control NUL elision.
80154         * lib/quotearg.h (set_quoting_flags): New prototype.
80155         * lib/quotearg.c (struct quoting_options): Add flag field.
80156         (set_quoting_flags): New function.
80157         (quotearg_buffer_restyled): Add flags parameter.
80158         (quotearg_alloc_mem): Set the flag if length cannot be returned.
80159         (quotearg_n_options): Set the flag, since length cannot be
80160         returned.
80161         (quoting_options_from_style): Default flags correctly.
80163         Quotearg part 1: more wrappers, restore quotearg_char state.
80164         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
80165         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
80166         (quotearg_colon_mem): New wrappers.
80167         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
80168         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
80169         functions.
80170         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
80171         (quotearg_colon_mem): New functions.
80173 2008-02-11  Bruno Haible  <bruno@clisp.org>
80175         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
80176         library in the current directory: it does not work with parallel make.
80177         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80179 2008-02-11  Bruno Haible  <bruno@clisp.org>
80181         * .gitattributes: New file.
80183 2008-02-11  Jim Meyering  <meyering@redhat.com>
80185         useless-if-before-free: Fix reversed exit values.
80186         * build-aux/useless-if-before-free: Use correct values
80187         for EXIT_MATCH and EXIT_NO_MATCH.
80189         * build-aux/useless-if-before-free: Close stdout carefully.
80191 2008-02-10  Bruno Haible  <bruno@clisp.org>
80193         New module 'git-merge-changelog'.
80194         * modules/git-merge-changelog: New file.
80195         * lib/git-merge-changelog.c: New file.
80197 2008-02-10  Jim Meyering  <meyering@redhat.com>
80199         useless-if-before-free: New option: --list (-l).
80201         useless-if-before-free: Don't exit immediately upon open failure.
80202         * build-aux/useless-if-before-free: Exit 2 for errors.
80203         Upon failure to open a file, don't exit immediately.
80204         Rather, just warn and continue with any remaining files.
80206 2008-02-10  Bruno Haible  <bruno@clisp.org>
80208         New abstract list operation 'node_set_value'.
80209         * lib/gl_list.h (gl_list_node_set_value): New function.
80210         (struct gl_list_implementation): New field node_set_value.
80211         * lib/gl_list.c (gl_list_node_set_value): New function.
80212         * lib/gl_array_list.c (gl_array_node_set_value): New function.
80213         (gl_array_list_implementation): Update.
80214         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
80215         (gl_carray_list_implementation): Update.
80216         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
80217         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
80218         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
80219         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
80220         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
80221         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
80222         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
80223         Update.
80224         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
80225         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
80226         (gl_sublist_list_implementation): Update.
80228 2008-02-10  Bruno Haible  <bruno@clisp.org>
80230         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
80231         Needed when ELEMENT is #defined to 'some_type *'.
80233 2008-02-10  Jim Meyering  <meyering@redhat.com>
80235         New script and module: useless-if-before-free
80236         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
80237         * build-aux/useless-if-before-free: New file.
80238         * modules/useless-if-before-free: New file.
80240         * build-aux/gitlog-to-changelog: Use committer date, not author date.
80242         xstrtol_error: Fix typo.
80243         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
80244         s/exit_failure/exit_status/.
80246 2008-02-09  Jim Meyering  <meyering@redhat.com>
80248         New script and module: gitlog-to-changelog
80249         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
80250         * modules/gitlog-to-changelog: New file.
80251         * build-aux/gitlog-to-changelog: New file.
80253 2008-02-08  Jim Meyering  <meyering@redhat.com>
80255         Avoid two "parameter unused" warnings.
80256         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
80257         Mark "st" as used.
80259         Use "git COMMAND", not "git-COMMAND".
80260         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
80261         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
80262         * build-aux/git-version-gen: Use "git status", not "git-status".
80264 2008-02-07  Bruno Haible  <bruno@clisp.org>
80266         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
80267         Avoids a crash on Windows Vista.
80268         Reported by Adam Strzelecki <ono@java.pl> via
80269         Simon Josefsson <simon@josefsson.org>.
80271 2008-02-06  Bruno Haible  <bruno@clisp.org>
80273         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
80274         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
80275         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
80276         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
80277         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
80278         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
80279         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
80280         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
80281         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
80282         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
80283         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
80284         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
80285         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
80286         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
80287         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
80288         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
80289         left-adjust flag.
80290         * tests/test-snprintf-posix.h (test_function): Likewise.
80291         * tests/test-sprintf-posix.h (test_function): Likewise.
80292         * tests/test-vasprintf-posix.c (test_function): Likewise.
80293         * doc/posix-functions/fprintf.texi: Update.
80294         * doc/posix-functions/printf.texi: Update.
80295         * doc/posix-functions/snprintf.texi: Update.
80296         * doc/posix-functions/sprintf.texi: Update.
80297         * doc/posix-functions/vfprintf.texi: Update.
80298         * doc/posix-functions/vprintf.texi: Update.
80299         * doc/posix-functions/vsnprintf.texi: Update.
80300         * doc/posix-functions/vsprintf.texi: Update.
80301         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80303 2008-02-06  Bruno Haible  <bruno@clisp.org>
80305         Fix bug introduced on 2008-01-26.
80306         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
80308 2008-02-06  Bruno Haible  <bruno@clisp.org>
80310         Fix bug introduced on 2007-06-10.
80311         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
80312         !NEED_PRINTF_FLAG_ZERO.
80314 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
80316         getloadavg: use libperfstat on AIX5
80317         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
80319 2008-02-03  Bruno Haible  <bruno@clisp.org>
80321         * lib/diffseq.h: Add comments about required #includes.
80322         Reported by Michael Biggs <gnulib@doubleplum.net>.
80324 2008-02-01  Bruno Haible  <bruno@clisp.org>
80326         * users.txt: Add gnuit.
80328 2008-01-31  Bruno Haible  <bruno@clisp.org>
80330         * lib/md4.c (set_uint32): Mark as inline.
80331         * lib/md5.c (set_uint32): Likewise.
80332         * lib/sha1.c (set_uint32): Likewise.
80333         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
80334         * m4/md5.m4 (gl_MD5): Likewise.
80335         * m4/sha1.m4 (gl_SHA1): Likewise.
80337 2008-01-31  Jim Meyering  <meyering@redhat.com>
80339         Use "sizeof VAR", rather than a literal "4".
80340         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
80341         * lib/md4.c (md4_read_ctx): Likewise.
80342         * lib/sha1.c (sha1_read_ctx): Likewise.
80344 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80346         * tests/test-sha1.c: New file, based on test-md5.c.
80348         * modules/crypto/sha1-tests: New file.
80350 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80352         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
80354 2008-01-31  Jim Meyering  <meyering@redhat.com>
80356         Prefer "sizeof v" over the equivalent "4".
80357         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
80358         * lib/md5.c (set_uint32): Likewise.
80359         * lib/sha1.c (set_uint32): Likewise.
80361 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80363         * lib/sha1.c (set_uint32): Mark function as static.
80365 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80367         md2: clarify comments to say that alignment is not required.
80368         * lib/md2.h: Remove warning about alignment in comment.
80369         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
80370         never been required.
80372 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80374         md4: adapt alignment constraint fix from sha1.
80375         * lib/md4.c (set_uint32): New function, from sha1.c
80376         (md4_read_ctx): Use it.
80377         (md4_finish_ctx): Doc fix.
80378         * lib/md4.h: Doc fix.
80380 2008-01-31  Simon Josefsson  <simon@josefsson.org>
80382         md5: adapt alignment constraint fix from sha1.
80383         * lib/md5.c (set_uint32): New function, from sha1.c
80384         (md5_read_ctx): Use it.
80385         (md5_finish_ctx): Doc fix.
80386         * lib/md5.h: Doc fix.
80388 2008-01-30  Peter Palfrader  <weasel@debian.org>
80390         sha1: remove the result buffer alignment constraint
80391         * lib/sha1.c (set_uint32): New function.
80392         (sha1_read_ctx): Rewrite to remove the result buffer alignment
80393         constraint.
80394         (sha1_finish_ctx): Remove comment warning about alignment constraint.
80395         * lib/sha1.h: Likewise.
80397 2008-01-30  Andreas Schwab  <schwab@suse.de>
80398             Bruno Haible  <bruno@clisp.org>
80400         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
80401         correct definition of LDBL_MIN_EXP.
80403 2008-01-30  Karl Berry  <karl@gnu.org>
80405         * config/srclist-update: try to preserve x bit on updates.
80406         * config/srclistvars.sh: update for karl.
80408 2008-01-29  Jim Meyering  <meyering@redhat.com>
80410         vasnprintf.c: Avoid warning about unused label
80411         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
80412         "overflow" label definition and associated code with the
80413         same cpp condition that guards the sole use of that label.
80415 2008-01-26  Bruno Haible  <bruno@clisp.org>
80417         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
80418         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
80419         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
80420         * lib/isnanl-nolibm.h (isnanl): Likewise.
80421         Reported by Paul Eggert <eggert@cs.ucla.edu>.
80423 2008-01-26  Bruno Haible  <bruno@clisp.org>
80425         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
80426         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
80428 2008-01-26  Bruno Haible  <bruno@clisp.org>
80430         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
80431         GCC >= 4.0 built-in.
80432         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
80434 2008-01-26  Bruno Haible  <bruno@clisp.org>
80436         Rename isnan, applicable to 'double' only, to isnand.
80437         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
80438         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
80439         (configure.ac): Update.
80440         (Include): Replace "isnan.h" with "isnand.h".
80441         * m4/isnand.m4: Renamed from m4/isnan.m4.
80442         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
80443         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
80444         instead of isnan.c.
80445         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
80446         instead of HAVE_ISNAN_IN_LIBC.
80447         (isnand): Renamed from isnan.
80448         * lib/isnand.c: New file.
80449         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
80450         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
80451         (Makefile.am): Update.
80452         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
80453         Include isnand.h instead of isnan.h.
80454         (main): Test isnand instead of isnan.
80455         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
80456         isnan-nolibm.
80457         * modules/frexp (Depends-on): Likewise.
80458         * modules/frexp-tests (Depends-on): Likewise.
80459         * modules/frexp-nolibm (Depends-on): Likewise.
80460         * modules/frexp-nolibm-tests (Depends-on): Likewise.
80461         * modules/isfinite (Depends-on): Likewise.
80462         * modules/round-tests (Depends-on): Likewise.
80463         * modules/signbit (Depends-on): Likewise.
80464         * modules/signbit-tests (Depends-on): Likewise.
80465         * modules/snprintf-posix (Depends-on): Likewise.
80466         * modules/sprintf-posix (Depends-on): Likewise.
80467         * modules/trunc-tests (Depends-on): Likewise.
80468         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
80469         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
80470         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
80471         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
80472         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
80473         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
80474         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
80475         * modules/vasnprintf-posix (Depends-on): Likewise.
80476         * modules/vasprintf-posix (Depends-on): Likewise.
80477         * modules/vfprintf-posix (Depends-on): Likewise.
80478         * modules/vsnprintf-posix (Depends-on): Likewise.
80479         * modules/vsprintf-posix (Depends-on): Likewise.
80480         * lib/frexp.c: Include isnand.h instead of isnan.h.
80481         (ISNAN): Set to isnand instead of isnan.
80482         * lib/isfinite.c: Include isnand.h instead of isnan.h.
80483         (gl_isfinited): Use isnand instead of isnan.
80484         * lib/signbitd.c: Include isnand.h instead of isnan.h.
80485         (gl_signbitd): Use isnand instead of isnan.
80486         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
80487         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
80488         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
80489         (main): Use isnand instead of isnan.
80490         * tests/test-round1.c: Include isnand.h.
80491         (main): Use isnand instead of isnan.
80492         * tests/test-round2.c: Include isnand.h instead of isnan.h.
80493         (ISNAN): Set to isnand instead of isnan.
80494         * tests/test-trunc1.c: Include isnand.h.
80495         (main): Use isnand instead of isnan.
80496         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
80497         (equal): Use isnand instead of isnan.
80498         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
80499         isnand-nolibm.
80500         * NEWS: Mention the change.
80502 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80503             Bruno Haible  <bruno@clisp.org>
80505         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
80506         the GCC builtins for signbits are present and set
80507         REPLACE_SIGNBIT_USING_GCC if so.
80508         * lib/math.in.h (signbit): Define using GCC builtins if
80509         REPLACE_SIGNBIT_USING_GCC is set.
80510         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
80511         REPLACE_SIGNBIT_USING_GCC.
80512         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
80514 2008-01-25  Jim Meyering  <meyering@redhat.com>
80516         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
80517         * lib/poll.c: Include <config.h>, not "config.h".
80518         * tests/test-getaddrinfo.c: Likewise.
80520 2008-01-25  Simon Josefsson  <simon@josefsson.org>
80522         * modules/sockets-tests: New file.
80524 2008-01-24  Simon Josefsson  <simon@josefsson.org>
80526         * modules/sockets: New module, can be used to call WSA_Startup and
80527         WSA_Cleanup when needed.
80529         * lib/sockets.h, lib/sockets.c: New files.
80531         * m4/sockets.m4: New file.
80533         * tests/test-sockets.c: New file.
80535 2008-01-19  Bruno Haible  <bruno@clisp.org>
80537         * doc/posix-headers: Renamed from doc/headers.
80538         * doc/posix-functions: Renamed from doc/functions.
80539         * doc/gnulib.texi: Update.
80541 2008-01-19  Bruno Haible  <bruno@clisp.org>
80543         * doc/glibc-functions/strcasestr.texi: Include contents of
80544         doc/functions/strcasestr.texi, fixing the list of platforms.
80545         * doc/functions/strcasestr.texi: Remove file.
80547 2008-01-19  Bruno Haible  <bruno@clisp.org>
80549         * doc/glibc-functions/memmem.texi: Include contents of
80550         doc/functions/memmem.texi.
80551         * doc/functions/memmem.texi: Remove file.
80553 2008-01-18  Bruno Haible  <bruno@clisp.org>
80555         * doc/glibc-functions/*.texi: New files.
80556         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
80557         to use the new files.
80559 2008-01-17  Bruno Haible  <bruno@clisp.org>
80561         * tests/test-gethostname.c (main): Fix printf statement.
80563 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80565         * modules/gethostname-tests: New file.
80567         * tests/test-gethostname.c: New file.
80569 2008-01-17  Simon Josefsson  <simon@josefsson.org>
80571         * lib/gethostname.c: Include string.h unconditionally, strncpy is
80572         used by the UNAME case.  Reported by Bruno Haible
80573         <bruno@clisp.org>.
80575 2008-01-17  Eric Blake  <ebb9@byu.net>
80577         Convert c-strcasestr to be more efficient.
80578         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
80579         (Depends-on): Add c-strcase, remove malloca, strnlen.
80580         * tests/test-c-strcasestr.c (main): Enhance test.
80581         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
80583 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
80585         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
80586         Use it in creating po/Makevars.
80588 2008-01-15  Simon Josefsson  <simon@josefsson.org>
80590         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
80591         Applications that requires it should initialize libgcrypt
80592         manually.
80594 2008-01-16  Simon Josefsson  <simon@josefsson.org>
80596         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
80598 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
80600         Fix problem with getdate on mingw32 reported by Simon Josefsson
80601         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
80602         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
80603         tzname", when deciding whether to declare tzname.
80604         * lib/strftime.c (tzname): Likewise.
80606 2008-01-15  Bruno Haible  <bruno@clisp.org>
80608         Work around a MacOS X 10.5 bug in frexpl().
80609         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
80610         * doc/functions/frexpl.texi: Document the bug.
80611         Reported by Elias Pipping <pipping@gentoo.org>.
80613 2008-01-14  Eric Blake  <ebb9@byu.net>
80615         Touch up previous patch.
80616         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
80617         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
80619         Convert strcasestr module to use Two-Way algorithm.
80620         * modules/strcasestr-simple: New module, based on the old
80621         strcasestr, but with Two-Way rather than KMP.
80622         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
80623         * lib/string.in.h (rpl_strcasestr): Declare.
80624         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
80625         performance.
80626         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
80627         * modules/string (Makefile.am): Support strcasestr.
80628         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
80629         * modules/strcasestr-tests (Depends-on): Check for alarm.
80630         * tests/test-strcasestr.c: Augment test.
80631         * lib/str-two-way.h: Clean up stray macro.
80632         * NEWS: Document new module.
80633         * MODULES.html.sh (string handling): Likewise.
80634         * doc/functions/strcasestr.texi: New file.
80635         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
80636         here, since it is not a POSIX function.
80638 2008-01-14  Colin Watson  <cjwatson@debian.org>
80639             Bruno Haible  <bruno@clisp.org>
80641         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
80642         works fine; if not, set REPLACE_STRSIGNAL.
80643         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
80644         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80645         REPLACE_STRSIGNAL.
80646         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
80647         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
80648         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
80650 2008-01-14  Bruno Haible  <bruno@clisp.org>
80652         * modules/strsignal (Include): Change to <string.h>.
80654 2008-01-14  Colin Watson  <cjwatson@debian.org>
80656         * modules/argp (Notice): Add a notice recommending to change
80657         XGETTEXT_OPTIONS.
80658         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
80660 2008-01-13  Colin Watson  <cjwatson@debian.org>
80662         * modules/strsignal-tests: New file.
80663         * tests/test-strsignal.c: New file.
80665         * lib/strsignal.c: New file, from glibc with modifications.
80666         * lib/siglist.h: New file, from glibc with modifications.
80667         * lib/string.in.h (strsignal): New declaration.
80668         * m4/strsignal.m4: New file.
80669         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80670         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
80671         * modules/strsignal: New file.
80672         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
80673         HAVE_DECL_STRSIGNAL.
80675 2008-01-13  Bruno Haible  <bruno@clisp.org>
80677         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
80678         locale encoding is not ASCII. Needed for OpenBSD 4.0.
80679         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
80680         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
80682 2008-01-13  Bruno Haible  <bruno@clisp.org>
80684         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
80685         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
80686         * lib/argp.h (__attribute__): Likewise.
80687         * lib/c-stack.c (__attribute__): Likewise.
80688         * lib/error.h (__attribute__): Likewise.
80689         * lib/fts.c (__attribute__): Likewise.
80690         * lib/openat.h (__attribute__): Likewise.
80691         * lib/stdio.in.h (__attribute__): Likewise.
80692         * lib/string.in.h (__attribute__): Likewise.
80693         * lib/utimens.c (__attribute__): Likewise.
80694         * lib/vasnprintf.h (__attribute__): Likewise.
80695         * lib/xalloc.h (__attribute__): Likewise.
80696         * lib/xprintf.h (__attribute__): Likewise.
80697         * lib/xstrtol.h (__attribute__): Likewise.
80698         * lib/xvasprintf.h (__attribute__): Likewise.
80700 2008-01-12  Bruno Haible  <bruno@clisp.org>
80702         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
80703         * doc/glibc-headers/a.out.texi: New file.
80704         * doc/glibc-headers/aliases.texi: New file.
80705         * doc/glibc-headers/alloca.texi: New file.
80706         * doc/glibc-headers/ar.texi: New file.
80707         * doc/glibc-headers/argp.texi: New file.
80708         * doc/glibc-headers/argz.texi: New file.
80709         * doc/glibc-headers/byteswap.texi: New file.
80710         * doc/glibc-headers/crypt.texi: New file.
80711         * doc/glibc-headers/endian.texi: New file.
80712         * doc/glibc-headers/envz.texi: New file.
80713         * doc/glibc-headers/err.texi: New file.
80714         * doc/glibc-headers/error.texi: New file.
80715         * doc/glibc-headers/execinfo.texi: New file.
80716         * doc/glibc-headers/fpu_control.texi: New file.
80717         * doc/glibc-headers/fstab.texi: New file.
80718         * doc/glibc-headers/fts.texi: New file.
80719         * doc/glibc-headers/getopt.texi: New file.
80720         * doc/glibc-headers/ieee754.texi: New file.
80721         * doc/glibc-headers/ifaddrs.texi: New file.
80722         * doc/glibc-headers/libintl.texi: New file.
80723         * doc/glibc-headers/mcheck.texi: New file.
80724         * doc/glibc-headers/mntent.texi: New file.
80725         * doc/glibc-headers/obstack.texi: New file.
80726         * doc/glibc-headers/paths.texi: New file.
80727         * doc/glibc-headers/printf.texi: New file.
80728         * doc/glibc-headers/pty.texi: New file.
80729         * doc/glibc-headers/resolv.texi: New file.
80730         * doc/glibc-headers/shadow.texi: New file.
80731         * doc/glibc-headers/sysexits.texi: New file.
80732         * doc/glibc-headers/ttyent.texi: New file.
80734 2008-01-12  Jim Meyering  <meyering@redhat.com>
80736         announce-gen: emit Gnulib's git-based version string.
80737         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
80738         New option --gnulib-version=V, where V is expected to be
80739         the output of running git describe in the gnulib directory.
80740         (get_tool_versions): Request feedback on xdelta.  I suspect it's
80741         not useful, and plan to stop publishing an xdelta file with each
80742         coreutils release.
80744         * build-aux/announce-gen: Also check for lzma-compressed files.
80746 2008-01-11  Bruno Haible  <bruno@clisp.org>
80748         * tests/test-memmem.c (main): Increase maximum allowed time.
80749         * tests/test-strstr.c (main): Likewise.
80751 2008-01-11  Bruno Haible  <bruno@clisp.org>
80753         * doc/functions/memmem.texi: Add more precisions about platforms.
80754         * doc/functions/strstr.texi: Likewise.
80756 2008-01-10  Eric Blake  <ebb9@byu.net>
80758         * m4/strstr.m4: Delete cruft from copy-n-paste.
80759         Reported by Bruno Haible.
80761 2008-01-10  Bruno Haible  <bruno@clisp.org>
80763         Make c-strstr rely on strstr.
80764         * lib/c-strstr.c: Don't include str-kmp.h.
80765         (c_strstr): Define in terms of strstr.
80766         * modules/c-strstr (Files): Remove lib/str-kmp.h.
80767         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
80769 2008-01-10  Bruno Haible  <bruno@clisp.org>
80771         * doc/gnulib.texi (String Functions in C Locale): New section.
80772         * doc/c-ctype.texi: New file.
80773         * doc/c-strcase.texi: New file.
80774         * doc/c-strcaseeq.texi: New file.
80775         * doc/c-strcasestr.texi: New file.
80776         * doc/c-strstr.texi: New file.
80777         * doc/c-strtod.texi: New file.
80778         * doc/c-strtold.texi: New file.
80780 2008-01-10  Eric Blake  <ebb9@byu.net>
80782         * lib/relocatable.h: Fix a comment.
80784 2008-01-10  Eric Blake  <ebb9@byu.net>
80786         Share two-way algorithm.
80787         * lib/str-two-way.h: New file, merged from...
80788         * lib/memmem.c: ...here...
80789         * lib/strstr.c: ...and here.
80790         * modules/memmem (Files): Use it.
80791         * modules/strstr (Files): Likewise.
80793         Avoid quadratic strstr implementations.
80794         * lib/strstr.c: New file.
80795         * m4/strstr.m4: Likewise.
80796         * modules/strstr: Likewise.
80797         * modules/strstr-tests: Likewise.
80798         * tests/test-strstr.c: Likewise.
80799         * lib/string.in.h (rpl_strstr): Declare.
80800         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
80801         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
80802         * modules/string (Makefile.am): Likewise.
80803         * MODULES.html.sh (string handling): Mention new module.
80804         * doc/functions/strstr.texi (strstr): Document the bug.
80806 2008-01-10  Bruno Haible  <bruno@clisp.org>
80808         * lib/relocatable.h (relocate): State whether result is freshly
80809         allocated or not.
80810         * lib/relocatable.c (relocate): Return a freshly allocated string
80811         instead of a pointer to a privately held string.
80812         Reported by Sylvain Beucler <beuc@gnu.org>.
80814 2008-01-10  Colin Watson  <cjwatson@debian.org>
80816         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
80817         s/S_ISNLK/S_ISLNK/.
80819 2008-01-09  Bruno Haible  <bruno@clisp.org>
80821         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
80822         and other files.
80823         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
80824         if it's only a guess.
80825         * modules/memmem: Simplify by depending on memmem-simple.
80827 2008-01-09  Bruno Haible  <bruno@clisp.org>
80829         Work around OpenBSD 4.0 tdelete() bug.
80830         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
80831         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
80832         macros and don't redefine the enum values.
80833         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
80834         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
80835         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
80837 2008-01-09  Bruno Haible  <bruno@clisp.org>
80839         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
80840         (main): Don't perform the tests if setlocale did not install a UTF-8
80841         locale. Needed on OpenBSD 4.0.
80842         * modules/wcwidth-tests (Depends-on): Add localcharset.
80844 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80846         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
80847         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
80848         * NEWS: announce this.
80849         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
80851 2008-01-09  Simon Josefsson  <simon@josefsson.org>
80852         and Eric Blake  <ebb9@byu.net>
80854         Add memmem-simple module.
80855         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
80856         (gl_FUNC_MEMMEM): Separate performance from presence checks.
80857         * modules/memmem-simple: New file.
80858         * modules/memmem (Description): Tweak.
80859         * MODULES.html.sh (string handling): Mention new module.
80860         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
80861         addressed by memmem-simple.
80862         * NEWS: Document the difference.
80864 2008-01-09  Eric Blake  <ebb9@byu.net>
80866         Give gcc some memmem optimization hints.
80867         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
80868         (strcasestr): Declare as pure.
80869         * modules/memmem (Maintainer): Claim my implementation.
80871 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80873         Support AIX 6.1 and higher.
80874         * build-aux/config.libpath: Likewise.
80875         * build-aux/config.rpath: Likewise.
80877 2008-01-08  Jim Meyering  <meyering@redhat.com>
80878             Bruno Haible  <bruno@clisp.org>
80880         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
80881         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
80882         Reported by Peter Fales in
80883         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
80885 2008-01-08  Bruno Haible  <bruno@clisp.org>
80887         * modules/unictype/category-of (Depends-on): Add
80888         unictype/category-none.
80889         * modules/unictype/category-and-tests (Depends-on): Add
80890         unictype/category-{L,N,Lu,Nd}.
80891         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
80892         * modules/unictype/category-or-tests (Depends-on): Add
80893         unictype/category-{L,N}.
80894         * modules/unictype/category-name-tests (Depends-on): Add
80895         unictype/category-{Z,Nl}.
80896         Reported by Simon Josefsson.
80898 2008-01-08  Bruno Haible  <bruno@clisp.org>
80900         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
80901         convention better.
80902         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
80903         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
80904         Reported by Peter Miller <millerp@canb.auug.org.au>.
80906 2008-01-08  Eric Blake  <ebb9@byu.net>
80908         Rewrite memmem to guarantee linear complexity without malloc.
80909         * lib/memmem.c (memmem): Use Two-Way rather than
80910         Knuth-Morris-Pratt, to allow O(1) space usage.
80911         (critical_factorization, two_way_short_needle)
80912         (two_way_long_needle): New functions.
80913         (knuth_morris_pratt): Delete.
80914         * modules/memmem (Depends-on): No longer need malloca or stdbool.
80915         Add stdint.
80916         * tests/test-memmem.c (main): Add tests for periodic needle and
80917         sublinear performance.
80918         * doc/functions/memmem.texi (memmem): Document other deficiencies
80919         in cygwin and older glibc.
80921 2008-01-08  Bruno Haible  <bruno@clisp.org>
80923         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
80924         augmentation.
80926 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
80928         Add a configure time option: --disable-acl.
80929         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
80930         AC_ARG_ENABLE(acl).
80932 2008-01-06  Simon Josefsson  <simon@josefsson.org>
80934         * tests/test-localename.c: Don't include obsolete "setenv.h".
80936         * modules/localename-tests (Depends-on): Need unsetenv.
80938 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80940         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
80942 2008-01-06  Colin Watson  <cjwatson@debian.org>
80944         * users.txt: Add man-db.
80946 2008-01-07  Bruno Haible  <bruno@clisp.org>
80948         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
80949         previous section name.
80951 2008-01-07  Bruno Haible  <bruno@clisp.org>
80953         * lib/progname.c (set_program_name): Don't strip off a leading
80954         "lt-" prefix outside a .libs directory.
80955         Suggested by Paul Eggert.
80957 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
80958             Bruno Haible  <bruno@clisp.org>
80960         Improve memory cleanup in 'relocatable' module.
80961         * lib/relocatable.h (compute_curr_prefix): Change return type to
80962         'char *'.
80963         * lib/relocatable.c (compute_curr_prefix): Change return type to
80964         'char *'. Free curr_installdir after use.
80965         (relocate): Free curr_prefix_better after use.
80966         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
80968 2008-01-01  Bruno Haible  <bruno@clisp.org>
80970         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
80971         failure on older glibc systems.
80972         Reported by Peter Fales <psfales@alcatel-lucent.com>.
80974 2008-01-05  Eric Blake  <ebb9@byu.net>
80976         Avoid quadratic system memmem.
80977         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
80978         Reported by Ralf Wildenhues.
80980         Fix memmem test for mingw.
80981         * modules/memmem-tests (configure.ac): Check for alarm.
80982         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
80983         it.
80984         * doc/functions/memmem.texi: New file.
80985         * doc/gnulib.texi (Function Substitutes): Add memmem.
80986         Reported by Bruno Haible.
80988 2008-01-04  Bruno Haible  <bruno@clisp.org>
80990         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
80991         Require gl_HEADER_STRINGS_H_DEFAULTS, not
80992         gl_HEADER_STRING_H_DEFAULTS.
80994 2008-01-04  Eric Blake  <ebb9@byu.net>
80996         Shorten duration of memmem test.
80997         * tests/test-memmem.c (main): Use alarm to declare failure if test
80998         is taking too long.
80999         Reported by Ralf Wildenhues.
81001 2007-12-21  Simon Josefsson  <simon@josefsson.org>
81003         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
81004         string, needed by strerror.
81006 2008-01-03  Colin Watson  <cjwatson@debian.org>
81007             Bruno Haible  <bruno@clisp.org>
81009         * doc/gnulib-tool.texi (Localization): New section.
81011 2008-01-02  Bruno Haible  <bruno@clisp.org>
81013         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
81014         variables to 'unsigned char *' type.
81015         Reported by Paul Eggert.
81017 2008-01-02  Jim Meyering  <jim@meyering.net>
81019         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
81021 2007-12-31  Jim Meyering  <jim@meyering.net>
81023         Avoid use of private FTS type name.
81024         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
81026 2007-12-30  Karl Berry  <karl@gnu.org>
81028         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
81029         work around defect in Texinfo and/or the standalone Info browser.
81031 2007-12-30  Bruno Haible  <bruno@clisp.org>
81033         Unify 5 copies of the KMP code.
81034         * lib/str-kmp.h: New file.
81035         * lib/c-strcasestr.c: Include str-kmp.h.
81036         (knuth_morris_pratt): Remove function.
81037         (c_strcasestr): Update.
81038         * lib/c-strstr.c: Include str-kmp.h.
81039         (knuth_morris_pratt): Remove function.
81040         (c_strcasestr): Update.
81041         * lib/mbscasestr.c: Include str-kmp.h.
81042         (knuth_morris_pratt_unibyte): Remove function.
81043         * lib/mbsstr.c: Include str-kmp.h.
81044         (knuth_morris_pratt_unibyte): Remove function.
81045         * lib/strcasestr.c: Include str-kmp.h.
81046         (knuth_morris_pratt): Remove function.
81047         (strcasestr): Update.
81048         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
81049         * modules/c-strstr (Files): Likewise.
81050         * modules/mbscasestr (Files): Likewise.
81051         * modules/mbsstr (Files): Likewise.
81052         * modules/strcasestr (Files): Likewise.
81053         Suggested by Paul Eggert.
81055 2007-12-30  Bruno Haible  <bruno@clisp.org>
81057         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
81058         defined.
81060 2007-12-30  Bruno Haible  <bruno@clisp.org>
81062         * lib/xmalloca.h: Include xalloc.h.
81063         (xnmalloca): New macro.
81065 2007-12-30  Bruno Haible  <bruno@clisp.org>
81067         * lib/malloca.h (nmalloca): New macro.
81068         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
81069         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
81070         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
81071         knuth_morris_pratt_multibyte): Likewise.
81072         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
81073         knuth_morris_pratt_multibyte): Likewise.
81074         * lib/memmem.c (knuth_morris_pratt): Likewise.
81075         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
81077 2007-12-25  Bruno Haible  <bruno@clisp.org>
81079         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
81080         * lib/glob.c: Don't include openat.h.
81081         (link_exists2_p): Add back the code that deals with the
81082         !GLOB_ALTDIRFUNC case.
81083         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
81084         let it do the filename concatenation.
81085         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
81086         * modules/glob (Depends-on): Remove openat.
81088 2007-12-31  Bruno Haible  <bruno@clisp.org>
81090         * modules/dirfd (License): Change to LGPLv2+.
81091         Approved by Jim Meyering.
81093 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
81095         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
81096         when multiplying M by sizeof (size_t).
81098 2007-12-10  Martin Lambers  <marlam@marlam.de>
81100         Override getpagesize on mingw.
81101         * lib/getpagesize.c: New file.
81102         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
81103         * modules/getpagesize (Files): Add lib/getpagesize.c.
81104         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
81105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81106         REPLACE_GETPAGESIZE.
81107         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
81109 2007-12-25  Bruno Haible  <bruno@clisp.org>
81111         * modules/localcharset (Notice): New field.
81112         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
81113         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
81115 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
81116             Bruno Haible  <bruno@clisp.org>
81118         Avoid using the syntax symbol() in formatted documentation.
81119         * MODULES.html.sh (func_module): When replacing symbol() with a
81120         hyperlink, remove the parentheses. Show an error if some remain.
81121         Recognize and render the '...' syntax.
81122         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
81123         Rework. Add paragraph about GCC's inlining.
81124         * doc/alloca.texi: Likewise.
81125         * doc/error.texi: Remove parentheses from symbol reference.
81126         * doc/gnulib-intro.texi: Likewise.
81127         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
81128         * modules/fnmatch (Description): Reword to say "the ... function".
81129         * modules/full-read (Description): Likewise.
81130         * modules/full-write (Description): Likewise.
81131         * modules/safe-read (Description): Likewise.
81132         * modules/safe-write (Description): Likewise.
81133         * modules/strchrnul (Description): Likewise.
81134         * modules/trim (Description): Likewise.
81135         * modules/error (Description): Remove parentheses from symbol
81136         references.
81137         * modules/verror (Description): Likewise.
81138         Reported by Karl Berry.
81140 2007-12-25  Bruno Haible  <bruno@clisp.org>
81142         Fixup after 2007-10-16 commit.
81143         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
81145 2007-12-24  Bruno Haible  <bruno@clisp.org>
81147         Make --enable-relocatable work with DESTDIR.
81148         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
81149         to compute installdir from destprog.
81150         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
81151         also set the RELOC_DESTDIR variable.
81152         Reported by Левашев Иван <octagram@bluebottle.com>.
81154 2007-12-24  Bruno Haible  <bruno@clisp.org>
81156         Fix link error due to xalloc_die().
81157         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
81158         of xreadlink.
81159         * lib/relocwrapper.c: Update comments.
81160         * build-aux/install-reloc: Remove xreadlink.c from file list.
81161         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
81162         xreadlink.c.
81163         Reported by Левашев Иван <octagram@bluebottle.com>.
81165 2007-12-24  Bruno Haible  <bruno@clisp.org>
81167         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
81168         * lib/setenv.h: Remove file.
81169         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
81170         lib/setenv.h.
81171         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
81172         (Depends-on): Add stdlib.
81173         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
81174         gl_FUNC_UNSETENV.
81175         (Include): Replace setenv.h with <stdlib.h>.
81176         * modules/unsetenv: New file.
81177         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
81178         * lib/unsetenv.c: Include <stdlib.h> first.
81179         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
81180         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
81181         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
81182         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
81183         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
81184         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81185         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
81186         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
81187         * doc/functions/unsetenv.texi: Update.
81188         * modules/xsetenv (Depends-on): Add unsetenv.
81189         * modules/getdate (Depends-on): Likewise.
81190         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
81191         * lib/xsetenv.c: Don't include setenv.h.
81192         * lib/getdate.y: Likewise.
81193         * lib/relocwrapper.c: Likewise.
81194         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
81195         (Depends-on): Add stdlib.
81196         * NEWS: Mention the changes.
81197         Reported by Левашев Иван <octagram@bluebottle.com>.
81199 2007-12-23  Bruno Haible  <bruno@clisp.org>
81201         * lib/memmem.c (memmem): Use lowercase variable names. Tab
81202         indentation.
81204 2007-12-23  Bruno Haible  <bruno@clisp.org>
81206         * lib/c-strcasestr.c: Add more comments.
81207         * lib/c-strstr.c: Likewise.
81208         * lib/mbscasestr.c: Likewise.
81209         * lib/mbsstr.c: Likewise.
81210         * lib/strcasestr.c: Likewise.
81211         * lib/memmem.c: Likewise.
81213 2007-12-23  Bruno Haible  <bruno@clisp.org>
81215         * tests/test-memmem.c: Include <string.h> first.
81217 2007-12-22  Bruno Haible  <bruno@clisp.org>
81219         * gnulib-tool (func_create_testdir): Change $auxdir while generating
81220         the contents of $testsbase.
81221         Reported by Ralf Wildenhues.
81223 2007-12-22  Bruno Haible  <bruno@clisp.org>
81225         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
81226         two variables local_ldadd_before, local_ldadd_last.
81228 2007-12-20  Eric Blake  <ebb9@byu.net>
81230         Work around circular library issue when cross-compiling.
81231         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
81232         that progname.o does not need to pull in rpl_memcmp.
81234 2007-12-19  Eric Blake  <ebb9@byu.net>
81236         Fix memmem to avoid O(n^2) worst-case complexity.
81237         * lib/memmem.c (knuth_morris_pratt): New function.
81238         (memmem): Use it if first few naive iterations fail.
81239         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
81240         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
81241         * modules/memchr (License): Likewise.
81242         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
81243         malloca.
81244         * tests/test-memmem.c: Rewrite, borrowing ideas from
81245         test-mbsstr1.c; the old version wouldn't even compile!
81246         * modules/memmem-tests: New file.
81247         * lib/string.in.h (rpl_memmem): Add declaration.
81248         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
81249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
81250         REPLACE_MEMMEM.
81252 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
81254         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
81255         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
81256         before any system include files, and undef after them all.  This
81257         should fix a problem on VMS reported by John E. Malmberg in
81258         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
81260 2007-12-17  Eric Blake  <ebb9@byu.net>
81262         Revert addition of verify, for BSD/OS.
81263         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
81264         can't handle large files, for the sake of obsolete platforms.
81265         * modules/fseeko (Depends-on): Remove verify.
81266         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
81267         * doc/functions/ftello.texi (ftello): Likewise.
81268         * doc/functions/fgetpos.texi (fgetpos): Likewise.
81269         Reported by Larry Jones.
81271 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
81273         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
81274         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
81276 2007-12-17  Jim Meyering  <meyering@redhat.com>
81278         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
81279         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
81280         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
81281         * modules/getcwd (Depends-on): Add openat.
81282         Reported by Petr Salinger.
81284 2007-12-17  Bruno Haible  <bruno@clisp.org>
81286         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
81287         avoid a segmentation fault of the configure test on x86_64 systems.
81289 2007-12-15  Jim Meyering  <meyering@redhat.com>
81291         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
81293 2007-12-13  Eric Blake  <ebb9@byu.net>
81295         Another fseek test.
81296         * tests/test-fseek.c (main): Also test ungetc handling.
81297         * tests/test-fseeko.c (main): Likewise.
81298         * modules/fseeko (Depends-on): Add verify.
81299         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
81300         large.
81301         Reported by Larry Jones.
81303         Fix fseeko on mingw.
81304         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
81305         seek.
81307         Beef up fseek tests.
81308         * tests/test-fseek.c (main): Also test eof handling.
81309         * tests/test-fseeko.c (main): Likewise.
81310         Reported by Larry Jones.
81312 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
81314         Fix fseeko on BSD-based platforms.
81315         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
81316         successful seek.
81318 2007-12-12  Eric Blake  <ebb9@byu.net>
81320         Allow circular dependency of separate libtests.a
81321         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
81322         when use_libtests.
81324 2007-12-11  Eric Blake  <ebb9@byu.net>
81326         Fix bug with -0.0L in previous patch.
81327         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
81328         * tests/test-isnan.c (main): Also test on zeroes.
81329         * tests/test-isnanf.c (main): Likewise.
81330         * tests/test-isnanl.h (main): Likewise.
81332         Detect pseudo-denormals on x86 even when cross-compiling.
81333         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
81334         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
81335         invalid bit patterns that happen to satisfy ==.
81337         Avoid link failures with separate libtests.a.
81338         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
81339         last, to satisfy circular dependencies.
81341 2007-12-11  Eric Blake  <ebb9@byu.net>
81342         and Bruno Haible  <bruno@clisp.org>
81344         Fix OpenBSD 4.0 <float.h> handling of long double.
81345         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
81346         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
81347         * doc/headers/float.texi (float.h): Document OpenBSD bug.
81349 2007-12-11  Jim Meyering  <meyering@redhat.com>
81351         * users.txt: Add libvirt.
81353         Support versions of autoconf prior to 2.59c.
81354         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
81355         if it is not already defined.
81357 2007-12-09  Bruno Haible  <bruno@clisp.org>
81359         Let 'gnulib-tool --import' collect sources needed for the tests in
81360         tests/ rather than in lib/.
81361         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
81362         argument. If true, add rules to generate libtests.a, and put libtests.a
81363         into $(LDADD). Consider source files in subdirectories and set
81364         uses_subdirs.
81365         (func_emit_initmacro_start, func_emit_initmacro_end,
81366         func_emit_initmacro_done): Pass all arguments explicitly.
81367         (func_import): Determine two module lists main_modules,
81368         testsrelated_modules. Determine use_libtests. Determine two variables
81369         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
81370         instead of just sed_transform_lib_file. Determine two variables
81371         main_files and testsrelated_files. Compute 'files' as the union of
81372         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
81373         func_add_or_update. In the generated gnulib-comp.m4, collect the
81374         object files for tests/ in different variables than those for lib/.
81375         Substitute LIBTESTS_LIBDEPS.
81376         (func_create_testdir): Combine the uses_subdirs results from
81377         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
81379 2007-12-09  Bruno Haible  <bruno@clisp.org>
81381         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
81382         the build-aux directory.
81384 2007-12-09  Bruno Haible  <bruno@clisp.org>
81386         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
81387         introduced on 2006-09-09.
81389 2007-12-07  Jim Meyering  <meyering@redhat.com>
81391         Let these macros work also with autoconf-2.59.
81392         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
81393         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
81394         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
81396 2007-12-06  Jim Meyering  <meyering@redhat.com>
81398         Avoid a configure-time syntax error in gl_FUNC_ACL.
81399         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
81400         function in each branch, before testing the cache variable.
81402 2007-12-04  Eric Blake  <ebb9@byu.net>
81404         Make scripts executable.
81405         * build-aux/config.guess: Add execute permissions.
81406         * build-aux/config.sub: Likewise.
81407         * build-aux/gendocs.sh: Likewise.
81409         Fix frexp on mingw.
81410         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
81411         cross-compiling.
81412         * doc/functions/frexp.texi (frexp): Document the bug.
81414         Make cygwin fseeko check more reliable.
81415         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
81416         version numbers, rather than unrelated feature check.
81417         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
81418         * doc/functions/ftello.texi (ftello): Likewise.
81419         Reported by Bruno Haible.
81421         * m4/strerror.m4: Bump version number.
81423 2007-12-03  Bruno Haible  <bruno@clisp.org>
81425         * doc/functions/mprotect.texi: Mention the mingw problem.
81427 2007-12-03  Eric Blake  <ebb9@byu.net>
81429         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
81430         REPLACE_STRERROR is initialized before this macro.
81432 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
81434         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
81435         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
81436         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
81437         put -lsec in even for programs other than 'ls'.  This fixes a problem
81438         for gettext reported by Bruno Haible in
81439         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
81440         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
81441         Add support for Solaris 10.  This isn't efficient, but should get the
81442         job done for now.
81444 2007-12-03  James Youngman  <jay@gnu.org>
81446         * doc/regexprops-generic.texi: change "an close-group" to "a
81447         close-group" and "illegal" to "not allowed".
81449 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81451         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
81452         pr_byname.h. Needed for the rare case when the maintainer has done
81453         "make maintainer-clean" in the source directory and then attempts a
81454         build outside the source directory.
81455         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
81456         scripts_byname.h.
81458 2007-12-02  Martin Lambers  <marlam@marlam.de>
81459             Bruno Haible  <bruno@clisp.org>
81461         * lib/getpagesize.h: Remove file.
81462         * lib/unistd.in.h: Include declaration of getpagesize here.
81463         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
81464         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
81465         HAVE_SYS_PARAM_H.
81466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
81467         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81468         * modules/getpagesize (Files): Remove lib/getpagesize.h.
81469         (Depends-on): Add unistd.
81470         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
81471         (Include): Use <unistd.h> instead of getpagesize.h.
81472         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
81473         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
81474         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
81475         gl_GETPAGESIZE invocation, already handled by module dependency.
81476         * lib/pagealign_alloc.c: Don't include getpagesize.h.
81478 2007-12-02  Bruno Haible  <bruno@clisp.org>
81480         * modules/strings-tests: New file.
81481         * tests/test-strings.c: New file.
81483         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
81484         * lib/strings.in.h: New file.
81485         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
81486         * m4/strings_h.m4: New file.
81487         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
81488         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
81489         * modules/strings: New file.
81490         * modules/string (Makefile.am): Update.
81491         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
81492         Reported by Karl Berry.
81494 2007-12-01  Eric Blake  <ebb9@byu.net>
81496         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
81497         accommodate fix in cygwin 1.5.25.
81499 2007-12-01  Jim Meyering  <meyering@redhat.com>
81501         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
81502         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
81503         that would inhibit utf8-optimization of a regexp containing line-
81504         or buffer-anchors, e.g., `^', `$'.
81506 2007-11-30  Bruno Haible  <bruno@clisp.org>
81508         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
81509         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
81510         glthread_recursive_lock_init.
81511         * lib/lock.c (glthread_recursive_lock_init)
81512         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
81513         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81515 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
81517         New function qset_acl, like set_acl but with syscall semantics.
81518         * lib/acl.h (qset_acl): New decl.
81519         * lib/acl.c (qset_acl): New function.
81520         (set_acl): Use new function.  Use more-consistent diagnostics.
81522 2007-11-28  Jim Meyering  <meyering@redhat.com>
81524         * modules/physmem (License): Change from GPL to LGPLv2+.
81526 2007-11-26  Bruno Haible  <bruno@clisp.org>
81528         * lib/vasnprintf.c (decode_long_double): Don't abort if the
81529         'long double' type has excess precision.
81530         Reported by Jim Meyering in
81531         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
81533 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81535         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
81536         Sync from <http://gnu.org/licenses>.
81537         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
81538         with license text from same location.
81539         * doc/maintain.texi, doc/standards.texi:  Sync from
81540         <http://savannah.gnu.org/projects/gnustandards>.
81542 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
81543         and Jim Meyering  <meyering@redhat.com>
81545         Adjust getdate' grammar to accept a slightly more regular language.
81546         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
81547         Before, the former was rejected.
81548         * lib/getdate.y (digits_to_date_time): New function, factored
81549         out of ...
81550         (number): ...here.  Just call digits_to_date_time.
81551         (hybrid): New non-terminal to handle an <unsigned number,
81552         signed relative offset> sequence consistently.
81554 2007-11-18  Jim Meyering  <meyering@redhat.com>
81556         Pull my changes from coreutils:
81557         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
81558         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
81559         use of $gnulib_tool_option_extras, so that it's separated from the
81560         preceding argument.
81562         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
81563         * build-aux/bootstrap (cp_mark_as_generated): Create any required
81564         parent destination directories before copying a file into place.
81566 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
81568         bootstrap: work also with 4-argument variant of AC_INIT
81569         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
81571 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
81573         Port test-getaddrinfo to Solaris.
81574         Problem reported by Bruno Haible in
81575         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
81576         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
81577         explanation of setting 'hints'.
81578         Don't reject an implementation merely because it returns EAI_SERVICE.
81579         (EAI_SERVICE): Define to 0 if not defined.
81581 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81583         The license of gnu-make and posix-shell is now "GPLed build tool".
81584         * modules/gnu-make (License): Likewise.
81585         * modules/posix-shell (License): Likewise.
81587         New module posix-shell, for determining a POSIX shell
81588         or perhaps something that is close enough to a POSIX shell.
81589         * m4/posix-shell.m4: New file.
81590         * modules/posix-shell: New file.
81592         * MODULES.html.sh: Mention new module.
81594         New module gnu-make, for determining whether we're using GNU Make.
81595         * m4/gnu-make.m4: New file.
81596         * modules/gnu-make: New file.
81597         * MODULES.html.sh: Mention new module.
81599 2007-11-14  Jim Meyering  <meyering@redhat.com>
81601         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
81602         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
81603         use this macro to create a function _definition_.
81604         Remove useless "#undef ARGMATCH_DIE".
81606 2007-11-14  Bruno Haible  <bruno@clisp.org>
81608         * lib/config.charset: Update for OpenBSD 4.1.
81609         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
81611 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
81613         Document 64-bit #if problems in stdint.texi.
81614         * doc/headers/stdint.texi (stdint.h): Mention problems with
81615         64-bit-#if, and how to work around them.
81617         Don't insist on 'long long int' support in the preprocessor.  It
81618         breaks too many things.  For example, PRIdMAX still uses a 'long
81619         long int' format with the latest Sun compiler, even though
81620         HAVE_LONG_LONG_INT isn't defined due to that compiler's
81621         preprocessor problem.  This causes the latest coreutils to dump
81622         core on Solaris 10 sparc with the Sun C compiler.
81623         Instead, fix the 2007-10-16 problem in a different way, by evaluating
81624         the troublesome expressions at configure-time, not at #if-time.
81625         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
81626         preprocessor.
81627         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
81628         compile-time C checks, done at 'configure'-time.
81629         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
81630         * modules/inttypes (Makefile): Substitute the new symbols that
81631         gl_INTTYPES_H now generates.
81632         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
81634 2007-11-12  Bruno Haible  <bruno@clisp.org>
81636         Tests for Unicode character classification functions.
81638         * modules/unictype/bidicategory-byname-tests: New file.
81639         * modules/unictype/bidicategory-name-tests: New file.
81640         * modules/unictype/bidicategory-of-tests: New file.
81641         * modules/unictype/bidicategory-test-tests: New file.
81642         * modules/unictype/block-list-tests: New file.
81643         * modules/unictype/block-of-tests: New file.
81644         * modules/unictype/block-test-tests: New file.
81645         * modules/unictype/category-C-tests: New file.
81646         * modules/unictype/category-Cc-tests: New file.
81647         * modules/unictype/category-Cf-tests: New file.
81648         * modules/unictype/category-Cn-tests: New file.
81649         * modules/unictype/category-Co-tests: New file.
81650         * modules/unictype/category-Cs-tests: New file.
81651         * modules/unictype/category-L-tests: New file.
81652         * modules/unictype/category-Ll-tests: New file.
81653         * modules/unictype/category-Lm-tests: New file.
81654         * modules/unictype/category-Lo-tests: New file.
81655         * modules/unictype/category-Lt-tests: New file.
81656         * modules/unictype/category-Lu-tests: New file.
81657         * modules/unictype/category-M-tests: New file.
81658         * modules/unictype/category-Mc-tests: New file.
81659         * modules/unictype/category-Me-tests: New file.
81660         * modules/unictype/category-Mn-tests: New file.
81661         * modules/unictype/category-N-tests: New file.
81662         * modules/unictype/category-Nd-tests: New file.
81663         * modules/unictype/category-Nl-tests: New file.
81664         * modules/unictype/category-No-tests: New file.
81665         * modules/unictype/category-P-tests: New file.
81666         * modules/unictype/category-Pc-tests: New file.
81667         * modules/unictype/category-Pd-tests: New file.
81668         * modules/unictype/category-Pe-tests: New file.
81669         * modules/unictype/category-Pf-tests: New file.
81670         * modules/unictype/category-Pi-tests: New file.
81671         * modules/unictype/category-Po-tests: New file.
81672         * modules/unictype/category-Ps-tests: New file.
81673         * modules/unictype/category-S-tests: New file.
81674         * modules/unictype/category-Sc-tests: New file.
81675         * modules/unictype/category-Sk-tests: New file.
81676         * modules/unictype/category-Sm-tests: New file.
81677         * modules/unictype/category-So-tests: New file.
81678         * modules/unictype/category-Z-tests: New file.
81679         * modules/unictype/category-Zl-tests: New file.
81680         * modules/unictype/category-Zp-tests: New file.
81681         * modules/unictype/category-Zs-tests: New file.
81682         * modules/unictype/category-and-not-tests: New file.
81683         * modules/unictype/category-and-tests: New file.
81684         * modules/unictype/category-byname-tests: New file.
81685         * modules/unictype/category-name-tests: New file.
81686         * modules/unictype/category-none-tests: New file.
81687         * modules/unictype/category-of-tests: New file.
81688         * modules/unictype/category-or-tests: New file.
81689         * modules/unictype/category-test-withtable-tests: New file.
81690         * modules/unictype/combining-class-tests: New file.
81691         * modules/unictype/ctype-alnum-tests: New file.
81692         * modules/unictype/ctype-alpha-tests: New file.
81693         * modules/unictype/ctype-blank-tests: New file.
81694         * modules/unictype/ctype-cntrl-tests: New file.
81695         * modules/unictype/ctype-digit-tests: New file.
81696         * modules/unictype/ctype-graph-tests: New file.
81697         * modules/unictype/ctype-lower-tests: New file.
81698         * modules/unictype/ctype-print-tests: New file.
81699         * modules/unictype/ctype-punct-tests: New file.
81700         * modules/unictype/ctype-space-tests: New file.
81701         * modules/unictype/ctype-upper-tests: New file.
81702         * modules/unictype/ctype-xdigit-tests: New file.
81703         * modules/unictype/decimal-digit-tests: New file.
81704         * modules/unictype/digit-tests: New file.
81705         * modules/unictype/mirror-tests: New file.
81706         * modules/unictype/numeric-tests: New file.
81707         * modules/unictype/property-alphabetic-tests: New file.
81708         * modules/unictype/property-ascii-hex-digit-tests: New file.
81709         * modules/unictype/property-bidi-arabic-digit-tests: New file.
81710         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
81711         * modules/unictype/property-bidi-block-separator-tests: New file.
81712         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
81713         * modules/unictype/property-bidi-common-separator-tests: New file.
81714         * modules/unictype/property-bidi-control-tests: New file.
81715         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
81716         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
81717         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
81718         * modules/unictype/property-bidi-european-digit-tests: New file.
81719         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
81720         * modules/unictype/property-bidi-left-to-right-tests: New file.
81721         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
81722         * modules/unictype/property-bidi-other-neutral-tests: New file.
81723         * modules/unictype/property-bidi-pdf-tests: New file.
81724         * modules/unictype/property-bidi-segment-separator-tests: New file.
81725         * modules/unictype/property-bidi-whitespace-tests: New file.
81726         * modules/unictype/property-byname-tests: New file.
81727         * modules/unictype/property-combining-tests: New file.
81728         * modules/unictype/property-composite-tests: New file.
81729         * modules/unictype/property-currency-symbol-tests: New file.
81730         * modules/unictype/property-dash-tests: New file.
81731         * modules/unictype/property-decimal-digit-tests: New file.
81732         * modules/unictype/property-default-ignorable-code-point-tests: New file.
81733         * modules/unictype/property-deprecated-tests: New file.
81734         * modules/unictype/property-diacritic-tests: New file.
81735         * modules/unictype/property-extender-tests: New file.
81736         * modules/unictype/property-format-control-tests: New file.
81737         * modules/unictype/property-grapheme-base-tests: New file.
81738         * modules/unictype/property-grapheme-extend-tests: New file.
81739         * modules/unictype/property-grapheme-link-tests: New file.
81740         * modules/unictype/property-hex-digit-tests: New file.
81741         * modules/unictype/property-hyphen-tests: New file.
81742         * modules/unictype/property-id-continue-tests: New file.
81743         * modules/unictype/property-id-start-tests: New file.
81744         * modules/unictype/property-ideographic-tests: New file.
81745         * modules/unictype/property-ids-binary-operator-tests: New file.
81746         * modules/unictype/property-ids-trinary-operator-tests: New file.
81747         * modules/unictype/property-ignorable-control-tests: New file.
81748         * modules/unictype/property-iso-control-tests: New file.
81749         * modules/unictype/property-join-control-tests: New file.
81750         * modules/unictype/property-left-of-pair-tests: New file.
81751         * modules/unictype/property-line-separator-tests: New file.
81752         * modules/unictype/property-logical-order-exception-tests: New file.
81753         * modules/unictype/property-lowercase-tests: New file.
81754         * modules/unictype/property-math-tests: New file.
81755         * modules/unictype/property-non-break-tests: New file.
81756         * modules/unictype/property-not-a-character-tests: New file.
81757         * modules/unictype/property-numeric-tests: New file.
81758         * modules/unictype/property-other-alphabetic-tests: New file.
81759         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
81760         * modules/unictype/property-other-grapheme-extend-tests: New file.
81761         * modules/unictype/property-other-id-continue-tests: New file.
81762         * modules/unictype/property-other-id-start-tests: New file.
81763         * modules/unictype/property-other-lowercase-tests: New file.
81764         * modules/unictype/property-other-math-tests: New file.
81765         * modules/unictype/property-other-uppercase-tests: New file.
81766         * modules/unictype/property-paired-punctuation-tests: New file.
81767         * modules/unictype/property-paragraph-separator-tests: New file.
81768         * modules/unictype/property-pattern-syntax-tests: New file.
81769         * modules/unictype/property-pattern-white-space-tests: New file.
81770         * modules/unictype/property-private-use-tests: New file.
81771         * modules/unictype/property-punctuation-tests: New file.
81772         * modules/unictype/property-quotation-mark-tests: New file.
81773         * modules/unictype/property-radical-tests: New file.
81774         * modules/unictype/property-sentence-terminal-tests: New file.
81775         * modules/unictype/property-soft-dotted-tests: New file.
81776         * modules/unictype/property-space-tests: New file.
81777         * modules/unictype/property-terminal-punctuation-tests: New file.
81778         * modules/unictype/property-test-tests: New file.
81779         * modules/unictype/property-titlecase-tests: New file.
81780         * modules/unictype/property-unassigned-code-value-tests: New file.
81781         * modules/unictype/property-unified-ideograph-tests: New file.
81782         * modules/unictype/property-uppercase-tests: New file.
81783         * modules/unictype/property-variation-selector-tests: New file.
81784         * modules/unictype/property-white-space-tests: New file.
81785         * modules/unictype/property-xid-continue-tests: New file.
81786         * modules/unictype/property-xid-start-tests: New file.
81787         * modules/unictype/property-zero-width-tests: New file.
81788         * modules/unictype/scripts-tests: New file.
81789         * modules/unictype/syntax-c-ident-tests: New file.
81790         * modules/unictype/syntax-c-whitespace-tests: New file.
81791         * modules/unictype/syntax-java-ident-tests: New file.
81792         * modules/unictype/syntax-java-whitespace-tests: New file.
81793         * tests/unictype/test-bidi_byname.c: New file.
81794         * tests/unictype/test-bidi_name.c: New file.
81795         * tests/unictype/test-bidi_of.c: New file.
81796         * tests/unictype/test-bidi_test.c: New file.
81797         * tests/unictype/test-block_list.c: New file.
81798         * tests/unictype/test-block_of.c: New file.
81799         * tests/unictype/test-block_test.c: New file.
81800         * tests/unictype/test-categ_and.c: New file.
81801         * tests/unictype/test-categ_and_not.c: New file.
81802         * tests/unictype/test-categ_byname.c: New file.
81803         * tests/unictype/test-categ_name.c: New file.
81804         * tests/unictype/test-categ_none.c: New file.
81805         * tests/unictype/test-categ_of.c: New file.
81806         * tests/unictype/test-categ_or.c: New file.
81807         * tests/unictype/test-categ_test_withtable.c: New file.
81808         * tests/unictype/test-combining.c: New file.
81809         * tests/unictype/test-decdigit.c: New file.
81810         * tests/unictype/test-digit.c: New file.
81811         * tests/unictype/test-mirror.c: New file.
81812         * tests/unictype/test-numeric.c: New file.
81813         * tests/unictype/test-pr_byname.c: New file.
81814         * tests/unictype/test-pr_test.c: New file.
81815         * tests/unictype/test-predicate-part1.h: New file.
81816         * tests/unictype/test-predicate-part2.h: New file.
81817         * tests/unictype/test-scripts.c: New file.
81818         * tests/unictype/test-sy_c_ident.c: New file.
81819         * tests/unictype/test-sy_java_ident.c: New file.
81821         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
81822         for Unicode 5.0.0.
81823         * tests/unictype/test-categ_Cc.c: Likewise.
81824         * tests/unictype/test-categ_Cf.c: Likewise.
81825         * tests/unictype/test-categ_Cn.c: Likewise.
81826         * tests/unictype/test-categ_Co.c: Likewise.
81827         * tests/unictype/test-categ_Cs.c: Likewise.
81828         * tests/unictype/test-categ_L.c: Likewise.
81829         * tests/unictype/test-categ_Ll.c: Likewise.
81830         * tests/unictype/test-categ_Lm.c: Likewise.
81831         * tests/unictype/test-categ_Lo.c: Likewise.
81832         * tests/unictype/test-categ_Lt.c: Likewise.
81833         * tests/unictype/test-categ_Lu.c: Likewise.
81834         * tests/unictype/test-categ_M.c: Likewise.
81835         * tests/unictype/test-categ_Mc.c: Likewise.
81836         * tests/unictype/test-categ_Me.c: Likewise.
81837         * tests/unictype/test-categ_Mn.c: Likewise.
81838         * tests/unictype/test-categ_N.c: Likewise.
81839         * tests/unictype/test-categ_Nd.c: Likewise.
81840         * tests/unictype/test-categ_Nl.c: Likewise.
81841         * tests/unictype/test-categ_No.c: Likewise.
81842         * tests/unictype/test-categ_P.c: Likewise.
81843         * tests/unictype/test-categ_Pc.c: Likewise.
81844         * tests/unictype/test-categ_Pd.c: Likewise.
81845         * tests/unictype/test-categ_Pe.c: Likewise.
81846         * tests/unictype/test-categ_Pf.c: Likewise.
81847         * tests/unictype/test-categ_Pi.c: Likewise.
81848         * tests/unictype/test-categ_Po.c: Likewise.
81849         * tests/unictype/test-categ_Ps.c: Likewise.
81850         * tests/unictype/test-categ_S.c: Likewise.
81851         * tests/unictype/test-categ_Sc.c: Likewise.
81852         * tests/unictype/test-categ_Sk.c: Likewise.
81853         * tests/unictype/test-categ_Sm.c: Likewise.
81854         * tests/unictype/test-categ_So.c: Likewise.
81855         * tests/unictype/test-categ_Z.c: Likewise.
81856         * tests/unictype/test-categ_Zl.c: Likewise.
81857         * tests/unictype/test-categ_Zp.c: Likewise.
81858         * tests/unictype/test-categ_Zs.c: Likewise.
81859         * tests/unictype/test-ctype_alnum.c: Likewise.
81860         * tests/unictype/test-ctype_alpha.c: Likewise.
81861         * tests/unictype/test-ctype_blank.c: Likewise.
81862         * tests/unictype/test-ctype_cntrl.c: Likewise.
81863         * tests/unictype/test-ctype_digit.c: Likewise.
81864         * tests/unictype/test-ctype_graph.c: Likewise.
81865         * tests/unictype/test-ctype_lower.c: Likewise.
81866         * tests/unictype/test-ctype_print.c: Likewise.
81867         * tests/unictype/test-ctype_punct.c: Likewise.
81868         * tests/unictype/test-ctype_space.c: Likewise.
81869         * tests/unictype/test-ctype_upper.c: Likewise.
81870         * tests/unictype/test-ctype_xdigit.c: Likewise.
81871         * tests/unictype/test-decdigit.h: Likewise.
81872         * tests/unictype/test-digit.h: Likewise.
81873         * tests/unictype/test-numeric.h: Likewise.
81874         * tests/unictype/test-pr_alphabetic.c: Likewise.
81875         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
81876         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
81877         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
81878         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
81879         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
81880         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
81881         * tests/unictype/test-pr_bidi_control.c: Likewise.
81882         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
81883         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
81884         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
81885         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
81886         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
81887         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
81888         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
81889         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
81890         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
81891         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
81892         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
81893         * tests/unictype/test-pr_combining.c: Likewise.
81894         * tests/unictype/test-pr_composite.c: Likewise.
81895         * tests/unictype/test-pr_currency_symbol.c: Likewise.
81896         * tests/unictype/test-pr_dash.c: Likewise.
81897         * tests/unictype/test-pr_decimal_digit.c: Likewise.
81898         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
81899         * tests/unictype/test-pr_deprecated.c: Likewise.
81900         * tests/unictype/test-pr_diacritic.c: Likewise.
81901         * tests/unictype/test-pr_extender.c: Likewise.
81902         * tests/unictype/test-pr_format_control.c: Likewise.
81903         * tests/unictype/test-pr_grapheme_base.c: Likewise.
81904         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
81905         * tests/unictype/test-pr_grapheme_link.c: Likewise.
81906         * tests/unictype/test-pr_hex_digit.c: Likewise.
81907         * tests/unictype/test-pr_hyphen.c: Likewise.
81908         * tests/unictype/test-pr_id_continue.c: Likewise.
81909         * tests/unictype/test-pr_id_start.c: Likewise.
81910         * tests/unictype/test-pr_ideographic.c: Likewise.
81911         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
81912         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
81913         * tests/unictype/test-pr_ignorable_control.c: Likewise.
81914         * tests/unictype/test-pr_iso_control.c: Likewise.
81915         * tests/unictype/test-pr_join_control.c: Likewise.
81916         * tests/unictype/test-pr_left_of_pair.c: Likewise.
81917         * tests/unictype/test-pr_line_separator.c: Likewise.
81918         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
81919         * tests/unictype/test-pr_lowercase.c: Likewise.
81920         * tests/unictype/test-pr_math.c: Likewise.
81921         * tests/unictype/test-pr_non_break.c: Likewise.
81922         * tests/unictype/test-pr_not_a_character.c: Likewise.
81923         * tests/unictype/test-pr_numeric.c: Likewise.
81924         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
81925         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
81926         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
81927         * tests/unictype/test-pr_other_id_continue.c: Likewise.
81928         * tests/unictype/test-pr_other_id_start.c: Likewise.
81929         * tests/unictype/test-pr_other_lowercase.c: Likewise.
81930         * tests/unictype/test-pr_other_math.c: Likewise.
81931         * tests/unictype/test-pr_other_uppercase.c: Likewise.
81932         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
81933         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
81934         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
81935         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
81936         * tests/unictype/test-pr_private_use.c: Likewise.
81937         * tests/unictype/test-pr_punctuation.c: Likewise.
81938         * tests/unictype/test-pr_quotation_mark.c: Likewise.
81939         * tests/unictype/test-pr_radical.c: Likewise.
81940         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
81941         * tests/unictype/test-pr_soft_dotted.c: Likewise.
81942         * tests/unictype/test-pr_space.c: Likewise.
81943         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
81944         * tests/unictype/test-pr_titlecase.c: Likewise.
81945         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
81946         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
81947         * tests/unictype/test-pr_uppercase.c: Likewise.
81948         * tests/unictype/test-pr_variation_selector.c: Likewise.
81949         * tests/unictype/test-pr_white_space.c: Likewise.
81950         * tests/unictype/test-pr_xid_continue.c: Likewise.
81951         * tests/unictype/test-pr_xid_start.c: Likewise.
81952         * tests/unictype/test-pr_zero_width.c: Likewise.
81953         * tests/unictype/test-sy_c_whitespace.c: Likewise.
81954         * tests/unictype/test-sy_java_whitespace.c: Likewise.
81956 2007-11-12  Bruno Haible  <bruno@clisp.org>
81958         Unicode character classification functions.
81959         * lib/unictype.h: New file.
81960         * modules/unictype/base: New file.
81961         * modules/unictype/category-L: New file.
81962         * modules/unictype/category-Lu: New file.
81963         * modules/unictype/category-Ll: New file.
81964         * modules/unictype/category-Lt: New file.
81965         * modules/unictype/category-Lm: New file.
81966         * modules/unictype/category-Lo: New file.
81967         * modules/unictype/category-M: New file.
81968         * modules/unictype/category-Mn: New file.
81969         * modules/unictype/category-Mc: New file.
81970         * modules/unictype/category-Me: New file.
81971         * modules/unictype/category-N: New file.
81972         * modules/unictype/category-Nd: New file.
81973         * modules/unictype/category-Nl: New file.
81974         * modules/unictype/category-No: New file.
81975         * modules/unictype/category-P: New file.
81976         * modules/unictype/category-Pc: New file.
81977         * modules/unictype/category-Pd: New file.
81978         * modules/unictype/category-Ps: New file.
81979         * modules/unictype/category-Pe: New file.
81980         * modules/unictype/category-Pi: New file.
81981         * modules/unictype/category-Pf: New file.
81982         * modules/unictype/category-Po: New file.
81983         * modules/unictype/category-S: New file.
81984         * modules/unictype/category-Sm: New file.
81985         * modules/unictype/category-Sc: New file.
81986         * modules/unictype/category-Sk: New file.
81987         * modules/unictype/category-So: New file.
81988         * modules/unictype/category-Z: New file.
81989         * modules/unictype/category-Zs: New file.
81990         * modules/unictype/category-Zl: New file.
81991         * modules/unictype/category-Zp: New file.
81992         * modules/unictype/category-C: New file.
81993         * modules/unictype/category-Cc: New file.
81994         * modules/unictype/category-Cf: New file.
81995         * modules/unictype/category-Cs: New file.
81996         * modules/unictype/category-Co: New file.
81997         * modules/unictype/category-Cn: New file.
81998         * modules/unictype/category-or: New file.
81999         * modules/unictype/category-of: New file.
82000         * modules/unictype/category-test: New file.
82001         * modules/unictype/category-test-withtable: New file.
82002         * modules/unictype/category-byname: New file.
82003         * modules/unictype/category-none: New file.
82004         * modules/unictype/category-and: New file.
82005         * modules/unictype/category-and-not: New file.
82006         * modules/unictype/category-name: New file.
82007         * modules/unictype/combining-class: New file.
82008         * modules/unictype/category-all: New file.
82009         * modules/unictype/bidicategory-all: New file.
82010         * modules/unictype/bidicategory-byname: New file.
82011         * modules/unictype/bidicategory-name: New file.
82012         * modules/unictype/bidicategory-of: New file.
82013         * modules/unictype/bidicategory-test: New file.
82014         * modules/unictype/decimal-digit: New file.
82015         * modules/unictype/digit: New file.
82016         * modules/unictype/numeric: New file.
82017         * modules/unictype/mirror: New file.
82018         * modules/unictype/property-white-space: New file.
82019         * modules/unictype/property-alphabetic: New file.
82020         * modules/unictype/property-other-alphabetic: New file.
82021         * modules/unictype/property-not-a-character: New file.
82022         * modules/unictype/property-default-ignorable-code-point: New file.
82023         * modules/unictype/property-other-default-ignorable-code-point: New
82024         file.
82025         * modules/unictype/property-deprecated: New file.
82026         * modules/unictype/property-logical-order-exception: New file.
82027         * modules/unictype/property-variation-selector: New file.
82028         * modules/unictype/property-private-use: New file.
82029         * modules/unictype/property-unassigned-code-value: New file.
82030         * modules/unictype/property-uppercase: New file.
82031         * modules/unictype/property-other-uppercase: New file.
82032         * modules/unictype/property-lowercase: New file.
82033         * modules/unictype/property-other-lowercase: New file.
82034         * modules/unictype/property-titlecase: New file.
82035         * modules/unictype/property-soft-dotted: New file.
82036         * modules/unictype/property-id-start: New file.
82037         * modules/unictype/property-other-id-start: New file.
82038         * modules/unictype/property-id-continue: New file.
82039         * modules/unictype/property-other-id-continue: New file.
82040         * modules/unictype/property-xid-start: New file.
82041         * modules/unictype/property-xid-continue: New file.
82042         * modules/unictype/property-pattern-white-space: New file.
82043         * modules/unictype/property-pattern-syntax: New file.
82044         * modules/unictype/property-join-control: New file.
82045         * modules/unictype/property-grapheme-base: New file.
82046         * modules/unictype/property-grapheme-extend: New file.
82047         * modules/unictype/property-other-grapheme-extend: New file.
82048         * modules/unictype/property-grapheme-link: New file.
82049         * modules/unictype/property-bidi-control: New file.
82050         * modules/unictype/property-bidi-left-to-right: New file.
82051         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
82052         * modules/unictype/property-bidi-arabic-right-to-left: New file.
82053         * modules/unictype/property-bidi-european-digit: New file.
82054         * modules/unictype/property-bidi-eur-num-separator: New file.
82055         * modules/unictype/property-bidi-eur-num-terminator: New file.
82056         * modules/unictype/property-bidi-arabic-digit: New file.
82057         * modules/unictype/property-bidi-common-separator: New file.
82058         * modules/unictype/property-bidi-block-separator: New file.
82059         * modules/unictype/property-bidi-segment-separator: New file.
82060         * modules/unictype/property-bidi-whitespace: New file.
82061         * modules/unictype/property-bidi-non-spacing-mark: New file.
82062         * modules/unictype/property-bidi-boundary-neutral: New file.
82063         * modules/unictype/property-bidi-pdf: New file.
82064         * modules/unictype/property-bidi-embedding-or-override: New file.
82065         * modules/unictype/property-bidi-other-neutral: New file.
82066         * modules/unictype/property-hex-digit: New file.
82067         * modules/unictype/property-ascii-hex-digit: New file.
82068         * modules/unictype/property-ideographic: New file.
82069         * modules/unictype/property-unified-ideograph: New file.
82070         * modules/unictype/property-radical: New file.
82071         * modules/unictype/property-ids-binary-operator: New file.
82072         * modules/unictype/property-ids-trinary-operator: New file.
82073         * modules/unictype/property-zero-width: New file.
82074         * modules/unictype/property-space: New file.
82075         * modules/unictype/property-non-break: New file.
82076         * modules/unictype/property-iso-control: New file.
82077         * modules/unictype/property-format-control: New file.
82078         * modules/unictype/property-dash: New file.
82079         * modules/unictype/property-hyphen: New file.
82080         * modules/unictype/property-punctuation: New file.
82081         * modules/unictype/property-line-separator: New file.
82082         * modules/unictype/property-paragraph-separator: New file.
82083         * modules/unictype/property-quotation-mark: New file.
82084         * modules/unictype/property-sentence-terminal: New file.
82085         * modules/unictype/property-terminal-punctuation: New file.
82086         * modules/unictype/property-currency-symbol: New file.
82087         * modules/unictype/property-math: New file.
82088         * modules/unictype/property-other-math: New file.
82089         * modules/unictype/property-paired-punctuation: New file.
82090         * modules/unictype/property-left-of-pair: New file.
82091         * modules/unictype/property-combining: New file.
82092         * modules/unictype/property-composite: New file.
82093         * modules/unictype/property-decimal-digit: New file.
82094         * modules/unictype/property-numeric: New file.
82095         * modules/unictype/property-diacritic: New file.
82096         * modules/unictype/property-extender: New file.
82097         * modules/unictype/property-ignorable-control: New file.
82098         * modules/unictype/property-test: New file.
82099         * modules/unictype/property-byname: New file.
82100         * modules/unictype/property-all: New file.
82101         * modules/unictype/scripts: New file.
82102         * modules/unictype/scripts-all: New file.
82103         * modules/unictype/block-of: New file.
82104         * modules/unictype/block-test: New file.
82105         * modules/unictype/block-list: New file.
82106         * modules/unictype/block-all: New file.
82107         * modules/unictype/syntax-c-whitespace: New file.
82108         * modules/unictype/syntax-java-whitespace: New file.
82109         * modules/unictype/syntax-c-ident: New file.
82110         * modules/unictype/syntax-java-ident: New file.
82111         * modules/unictype/ctype-alnum: New file.
82112         * modules/unictype/ctype-alpha: New file.
82113         * modules/unictype/ctype-cntrl: New file.
82114         * modules/unictype/ctype-digit: New file.
82115         * modules/unictype/ctype-graph: New file.
82116         * modules/unictype/ctype-lower: New file.
82117         * modules/unictype/ctype-print: New file.
82118         * modules/unictype/ctype-punct: New file.
82119         * modules/unictype/ctype-space: New file.
82120         * modules/unictype/ctype-upper: New file.
82121         * modules/unictype/ctype-xdigit: New file.
82122         * modules/unictype/ctype-blank: New file.
82123         * lib/unictype/bidi_byname.c: New file.
82124         * lib/unictype/bidi_name.c: New file.
82125         * lib/unictype/bidi_of.c: New file.
82126         * lib/unictype/bidi_test.c: New file.
82127         * lib/unictype/bitmap.h: New file.
82128         * lib/unictype/block_test.c: New file.
82129         * lib/unictype/blocks.c: New file.
82130         * lib/unictype/categ_C.c: New file.
82131         * lib/unictype/categ_Cc.c: New file.
82132         * lib/unictype/categ_Cf.c: New file.
82133         * lib/unictype/categ_Cn.c: New file.
82134         * lib/unictype/categ_Co.c: New file.
82135         * lib/unictype/categ_Cs.c: New file.
82136         * lib/unictype/categ_L.c: New file.
82137         * lib/unictype/categ_Ll.c: New file.
82138         * lib/unictype/categ_Lm.c: New file.
82139         * lib/unictype/categ_Lo.c: New file.
82140         * lib/unictype/categ_Lt.c: New file.
82141         * lib/unictype/categ_Lu.c: New file.
82142         * lib/unictype/categ_M.c: New file.
82143         * lib/unictype/categ_Mc.c: New file.
82144         * lib/unictype/categ_Me.c: New file.
82145         * lib/unictype/categ_Mn.c: New file.
82146         * lib/unictype/categ_N.c: New file.
82147         * lib/unictype/categ_Nd.c: New file.
82148         * lib/unictype/categ_Nl.c: New file.
82149         * lib/unictype/categ_No.c: New file.
82150         * lib/unictype/categ_P.c: New file.
82151         * lib/unictype/categ_Pc.c: New file.
82152         * lib/unictype/categ_Pd.c: New file.
82153         * lib/unictype/categ_Pe.c: New file.
82154         * lib/unictype/categ_Pf.c: New file.
82155         * lib/unictype/categ_Pi.c: New file.
82156         * lib/unictype/categ_Po.c: New file.
82157         * lib/unictype/categ_Ps.c: New file.
82158         * lib/unictype/categ_S.c: New file.
82159         * lib/unictype/categ_Sc.c: New file.
82160         * lib/unictype/categ_Sk.c: New file.
82161         * lib/unictype/categ_Sm.c: New file.
82162         * lib/unictype/categ_So.c: New file.
82163         * lib/unictype/categ_Z.c: New file.
82164         * lib/unictype/categ_Zl.c: New file.
82165         * lib/unictype/categ_Zp.c: New file.
82166         * lib/unictype/categ_Zs.c: New file.
82167         * lib/unictype/categ_and.c: New file.
82168         * lib/unictype/categ_and_not.c: New file.
82169         * lib/unictype/categ_byname.c: New file.
82170         * lib/unictype/categ_name.c: New file.
82171         * lib/unictype/categ_none.c: New file.
82172         * lib/unictype/categ_of.c: New file.
82173         * lib/unictype/categ_or.c: New file.
82174         * lib/unictype/categ_test.c: New file.
82175         * lib/unictype/combining.c: New file.
82176         * lib/unictype/ctype_alnum.c: New file.
82177         * lib/unictype/ctype_alpha.c: New file.
82178         * lib/unictype/ctype_blank.c: New file.
82179         * lib/unictype/ctype_cntrl.c: New file.
82180         * lib/unictype/ctype_digit.c: New file.
82181         * lib/unictype/ctype_graph.c: New file.
82182         * lib/unictype/ctype_lower.c: New file.
82183         * lib/unictype/ctype_print.c: New file.
82184         * lib/unictype/ctype_punct.c: New file.
82185         * lib/unictype/ctype_space.c: New file.
82186         * lib/unictype/ctype_upper.c: New file.
82187         * lib/unictype/ctype_xdigit.c: New file.
82188         * lib/unictype/decdigit.c: New file.
82189         * lib/unictype/digit.c: New file.
82190         * lib/unictype/identsyntaxmap.h: New file.
82191         * lib/unictype/mirror.c: New file.
82192         * lib/unictype/numeric.c: New file.
82193         * lib/unictype/pr_alphabetic.c: New file.
82194         * lib/unictype/pr_ascii_hex_digit.c: New file.
82195         * lib/unictype/pr_bidi_arabic_digit.c: New file.
82196         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
82197         * lib/unictype/pr_bidi_block_separator.c: New file.
82198         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
82199         * lib/unictype/pr_bidi_common_separator.c: New file.
82200         * lib/unictype/pr_bidi_control.c: New file.
82201         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
82202         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
82203         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
82204         * lib/unictype/pr_bidi_european_digit.c: New file.
82205         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
82206         * lib/unictype/pr_bidi_left_to_right.c: New file.
82207         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
82208         * lib/unictype/pr_bidi_other_neutral.c: New file.
82209         * lib/unictype/pr_bidi_pdf.c: New file.
82210         * lib/unictype/pr_bidi_segment_separator.c: New file.
82211         * lib/unictype/pr_bidi_whitespace.c: New file.
82212         * lib/unictype/pr_byname.c: New file.
82213         * lib/unictype/pr_byname.gperf: New file.
82214         * lib/unictype/pr_combining.c: New file.
82215         * lib/unictype/pr_composite.c: New file.
82216         * lib/unictype/pr_currency_symbol.c: New file.
82217         * lib/unictype/pr_dash.c: New file.
82218         * lib/unictype/pr_decimal_digit.c: New file.
82219         * lib/unictype/pr_default_ignorable_code_point.c: New file.
82220         * lib/unictype/pr_deprecated.c: New file.
82221         * lib/unictype/pr_diacritic.c: New file.
82222         * lib/unictype/pr_extender.c: New file.
82223         * lib/unictype/pr_format_control.c: New file.
82224         * lib/unictype/pr_grapheme_base.c: New file.
82225         * lib/unictype/pr_grapheme_extend.c: New file.
82226         * lib/unictype/pr_grapheme_link.c: New file.
82227         * lib/unictype/pr_hex_digit.c: New file.
82228         * lib/unictype/pr_hyphen.c: New file.
82229         * lib/unictype/pr_id_continue.c: New file.
82230         * lib/unictype/pr_id_start.c: New file.
82231         * lib/unictype/pr_ideographic.c: New file.
82232         * lib/unictype/pr_ids_binary_operator.c: New file.
82233         * lib/unictype/pr_ids_trinary_operator.c: New file.
82234         * lib/unictype/pr_ignorable_control.c: New file.
82235         * lib/unictype/pr_iso_control.c: New file.
82236         * lib/unictype/pr_join_control.c: New file.
82237         * lib/unictype/pr_left_of_pair.c: New file.
82238         * lib/unictype/pr_line_separator.c: New file.
82239         * lib/unictype/pr_logical_order_exception.c: New file.
82240         * lib/unictype/pr_lowercase.c: New file.
82241         * lib/unictype/pr_math.c: New file.
82242         * lib/unictype/pr_non_break.c: New file.
82243         * lib/unictype/pr_not_a_character.c: New file.
82244         * lib/unictype/pr_numeric.c: New file.
82245         * lib/unictype/pr_other_alphabetic.c: New file.
82246         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
82247         * lib/unictype/pr_other_grapheme_extend.c: New file.
82248         * lib/unictype/pr_other_id_continue.c: New file.
82249         * lib/unictype/pr_other_id_start.c: New file.
82250         * lib/unictype/pr_other_lowercase.c: New file.
82251         * lib/unictype/pr_other_math.c: New file.
82252         * lib/unictype/pr_other_uppercase.c: New file.
82253         * lib/unictype/pr_paired_punctuation.c: New file.
82254         * lib/unictype/pr_paragraph_separator.c: New file.
82255         * lib/unictype/pr_pattern_syntax.c: New file.
82256         * lib/unictype/pr_pattern_white_space.c: New file.
82257         * lib/unictype/pr_private_use.c: New file.
82258         * lib/unictype/pr_punctuation.c: New file.
82259         * lib/unictype/pr_quotation_mark.c: New file.
82260         * lib/unictype/pr_radical.c: New file.
82261         * lib/unictype/pr_sentence_terminal.c: New file.
82262         * lib/unictype/pr_soft_dotted.c: New file.
82263         * lib/unictype/pr_space.c: New file.
82264         * lib/unictype/pr_terminal_punctuation.c: New file.
82265         * lib/unictype/pr_test.c: New file.
82266         * lib/unictype/pr_titlecase.c: New file.
82267         * lib/unictype/pr_unassigned_code_value.c: New file.
82268         * lib/unictype/pr_unified_ideograph.c: New file.
82269         * lib/unictype/pr_uppercase.c: New file.
82270         * lib/unictype/pr_variation_selector.c: New file.
82271         * lib/unictype/pr_white_space.c: New file.
82272         * lib/unictype/pr_xid_continue.c: New file.
82273         * lib/unictype/pr_xid_start.c: New file.
82274         * lib/unictype/pr_zero_width.c: New file.
82275         * lib/unictype/scripts.c: New file.
82276         * lib/unictype/sy_c_ident.c: New file.
82277         * lib/unictype/sy_c_whitespace.c: New file.
82278         * lib/unictype/sy_java_ident.c: New file.
82279         * lib/unictype/sy_java_whitespace.c: New file.
82281         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
82282         Unicode 5.0.0.
82283         * lib/unictype/blocks.h: Likewise.
82284         * lib/unictype/categ_C.h: Likewise.
82285         * lib/unictype/categ_Cc.h: Likewise.
82286         * lib/unictype/categ_Cf.h: Likewise.
82287         * lib/unictype/categ_Cn.h: Likewise.
82288         * lib/unictype/categ_Co.h: Likewise.
82289         * lib/unictype/categ_Cs.h: Likewise.
82290         * lib/unictype/categ_L.h: Likewise.
82291         * lib/unictype/categ_Ll.h: Likewise.
82292         * lib/unictype/categ_Lm.h: Likewise.
82293         * lib/unictype/categ_Lo.h: Likewise.
82294         * lib/unictype/categ_Lt.h: Likewise.
82295         * lib/unictype/categ_Lu.h: Likewise.
82296         * lib/unictype/categ_M.h: Likewise.
82297         * lib/unictype/categ_Mc.h: Likewise.
82298         * lib/unictype/categ_Me.h: Likewise.
82299         * lib/unictype/categ_Mn.h: Likewise.
82300         * lib/unictype/categ_N.h: Likewise.
82301         * lib/unictype/categ_Nd.h: Likewise.
82302         * lib/unictype/categ_Nl.h: Likewise.
82303         * lib/unictype/categ_No.h: Likewise.
82304         * lib/unictype/categ_P.h: Likewise.
82305         * lib/unictype/categ_Pc.h: Likewise.
82306         * lib/unictype/categ_Pd.h: Likewise.
82307         * lib/unictype/categ_Pe.h: Likewise.
82308         * lib/unictype/categ_Pf.h: Likewise.
82309         * lib/unictype/categ_Pi.h: Likewise.
82310         * lib/unictype/categ_Po.h: Likewise.
82311         * lib/unictype/categ_Ps.h: Likewise.
82312         * lib/unictype/categ_S.h: Likewise.
82313         * lib/unictype/categ_Sc.h: Likewise.
82314         * lib/unictype/categ_Sk.h: Likewise.
82315         * lib/unictype/categ_Sm.h: Likewise.
82316         * lib/unictype/categ_So.h: Likewise.
82317         * lib/unictype/categ_Z.h: Likewise.
82318         * lib/unictype/categ_Zl.h: Likewise.
82319         * lib/unictype/categ_Zp.h: Likewise.
82320         * lib/unictype/categ_Zs.h: Likewise.
82321         * lib/unictype/categ_of.h: Likewise.
82322         * lib/unictype/combining.h: Likewise.
82323         * lib/unictype/ctype_alnum.h: Likewise.
82324         * lib/unictype/ctype_alpha.h: Likewise.
82325         * lib/unictype/ctype_blank.h: Likewise.
82326         * lib/unictype/ctype_cntrl.h: Likewise.
82327         * lib/unictype/ctype_digit.h: Likewise.
82328         * lib/unictype/ctype_graph.h: Likewise.
82329         * lib/unictype/ctype_lower.h: Likewise.
82330         * lib/unictype/ctype_print.h: Likewise.
82331         * lib/unictype/ctype_punct.h: Likewise.
82332         * lib/unictype/ctype_space.h: Likewise.
82333         * lib/unictype/ctype_upper.h: Likewise.
82334         * lib/unictype/ctype_xdigit.h: Likewise.
82335         * lib/unictype/decdigit.h: Likewise.
82336         * lib/unictype/digit.h: Likewise.
82337         * lib/unictype/mirror.h: Likewise.
82338         * lib/unictype/numeric.h: Likewise.
82339         * lib/unictype/pr_alphabetic.h: Likewise.
82340         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
82341         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
82342         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
82343         * lib/unictype/pr_bidi_block_separator.h: Likewise.
82344         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
82345         * lib/unictype/pr_bidi_common_separator.h: Likewise.
82346         * lib/unictype/pr_bidi_control.h: Likewise.
82347         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
82348         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
82349         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
82350         * lib/unictype/pr_bidi_european_digit.h: Likewise.
82351         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
82352         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
82353         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
82354         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
82355         * lib/unictype/pr_bidi_pdf.h: Likewise.
82356         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
82357         * lib/unictype/pr_bidi_whitespace.h: Likewise.
82358         * lib/unictype/pr_combining.h: Likewise.
82359         * lib/unictype/pr_composite.h: Likewise.
82360         * lib/unictype/pr_currency_symbol.h: Likewise.
82361         * lib/unictype/pr_dash.h: Likewise.
82362         * lib/unictype/pr_decimal_digit.h: Likewise.
82363         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
82364         * lib/unictype/pr_deprecated.h: Likewise.
82365         * lib/unictype/pr_diacritic.h: Likewise.
82366         * lib/unictype/pr_extender.h: Likewise.
82367         * lib/unictype/pr_format_control.h: Likewise.
82368         * lib/unictype/pr_grapheme_base.h: Likewise.
82369         * lib/unictype/pr_grapheme_extend.h: Likewise.
82370         * lib/unictype/pr_grapheme_link.h: Likewise.
82371         * lib/unictype/pr_hex_digit.h: Likewise.
82372         * lib/unictype/pr_hyphen.h: Likewise.
82373         * lib/unictype/pr_id_continue.h: Likewise.
82374         * lib/unictype/pr_id_start.h: Likewise.
82375         * lib/unictype/pr_ideographic.h: Likewise.
82376         * lib/unictype/pr_ids_binary_operator.h: Likewise.
82377         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
82378         * lib/unictype/pr_ignorable_control.h: Likewise.
82379         * lib/unictype/pr_iso_control.h: Likewise.
82380         * lib/unictype/pr_join_control.h: Likewise.
82381         * lib/unictype/pr_left_of_pair.h: Likewise.
82382         * lib/unictype/pr_line_separator.h: Likewise.
82383         * lib/unictype/pr_logical_order_exception.h: Likewise.
82384         * lib/unictype/pr_lowercase.h: Likewise.
82385         * lib/unictype/pr_math.h: Likewise.
82386         * lib/unictype/pr_non_break.h: Likewise.
82387         * lib/unictype/pr_not_a_character.h: Likewise.
82388         * lib/unictype/pr_numeric.h: Likewise.
82389         * lib/unictype/pr_other_alphabetic.h: Likewise.
82390         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
82391         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
82392         * lib/unictype/pr_other_id_continue.h: Likewise.
82393         * lib/unictype/pr_other_id_start.h: Likewise.
82394         * lib/unictype/pr_other_lowercase.h: Likewise.
82395         * lib/unictype/pr_other_math.h: Likewise.
82396         * lib/unictype/pr_other_uppercase.h: Likewise.
82397         * lib/unictype/pr_paired_punctuation.h: Likewise.
82398         * lib/unictype/pr_paragraph_separator.h: Likewise.
82399         * lib/unictype/pr_pattern_syntax.h: Likewise.
82400         * lib/unictype/pr_pattern_white_space.h: Likewise.
82401         * lib/unictype/pr_private_use.h: Likewise.
82402         * lib/unictype/pr_punctuation.h: Likewise.
82403         * lib/unictype/pr_quotation_mark.h: Likewise.
82404         * lib/unictype/pr_radical.h: Likewise.
82405         * lib/unictype/pr_sentence_terminal.h: Likewise.
82406         * lib/unictype/pr_soft_dotted.h: Likewise.
82407         * lib/unictype/pr_space.h: Likewise.
82408         * lib/unictype/pr_terminal_punctuation.h: Likewise.
82409         * lib/unictype/pr_titlecase.h: Likewise.
82410         * lib/unictype/pr_unassigned_code_value.h: Likewise.
82411         * lib/unictype/pr_unified_ideograph.h: Likewise.
82412         * lib/unictype/pr_uppercase.h: Likewise.
82413         * lib/unictype/pr_variation_selector.h: Likewise.
82414         * lib/unictype/pr_white_space.h: Likewise.
82415         * lib/unictype/pr_xid_continue.h: Likewise.
82416         * lib/unictype/pr_xid_start.h: Likewise.
82417         * lib/unictype/pr_zero_width.h: Likewise.
82418         * lib/unictype/scripts.h: Likewise.
82419         * lib/unictype/scripts_byname.gperf: Likewise.
82420         * lib/unictype/sy_c_ident.h: Likewise.
82421         * lib/unictype/sy_c_whitespace.h: Likewise.
82422         * lib/unictype/sy_java_ident.h: Likewise.
82423         * lib/unictype/sy_java_whitespace.h: Likewise.
82425         * lib/unictype/Makefile: New file.
82426         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
82427         glibc.
82428         * lib/unictype/3level.h: New file, copied from glibc.
82429         * lib/unictype/3levelbit.h: New file.
82431 2007-11-11  Bruno Haible  <bruno@clisp.org>
82433         * modules/gperf: New file.
82434         * modules/iconv_open (Depends-on): Add it.
82435         (Makefile.am): Remove the GPERF definition.
82437 2007-11-11  Bruno Haible  <bruno@clisp.org>
82439         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
82440         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
82442 2007-11-11  Bruno Haible  <bruno@clisp.org>
82444         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
82445         (usage): Remove function.
82447 2007-11-11  Bruno Haible  <bruno@clisp.org>
82449         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
82450         gl_FUNC_CEILF_LIBS.
82451         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
82452         gl_FUNC_CEIL_LIBS.
82453         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
82454         gl_FUNC_CEILL_LIBS.
82455         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
82456         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
82457         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
82459 2007-11-11  Bruno Haible  <bruno@clisp.org>
82461         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
82462         roundf were declared but do not exist on functions.
82463         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
82464         roundl were declared but do not exist on functions.
82465         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
82466         HAVE_FLOORL_AND_CEILL, respectively.
82467         Needed for Sun C on Solaris 10.
82469 2007-11-11  Bruno Haible  <bruno@clisp.org>
82471         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
82472         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
82473         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
82474         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
82475         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
82476         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
82477         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
82478         HAVE_DECL_ROUNDF.
82479         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
82480         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
82481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
82482         of HAVE_DECL_ROUND*.
82483         * modules/math (Makefile.am): Update.
82485 2007-11-10  Bruno Haible  <bruno@clisp.org>
82487         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
82488         ptrdiff_t as m4/intl.m4.
82490 2007-11-10  Jim Meyering  <meyering@redhat.com>
82492         Avoid link failure for the argmatch test.
82493         * tests/test-argmatch.c (usage): Define function to avoid a link
82494         failure: argmatch_die requires a usage function.
82496 2007-11-09  Bruno Haible  <bruno@clisp.org>
82498         * doc/functions/snprintf.texi: Mention BeOS deficiency.
82499         * doc/functions/vsnprintf.texi: Likewise.
82500         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
82501         with a size argument < 2.
82503 2007-11-09  Bruno Haible  <bruno@clisp.org>
82505         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
82506         buffer. Fixes an inefficiency introduced on 2007-11-03.
82508 2007-11-09  Bruno Haible  <bruno@clisp.org>
82510         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
82511         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
82513 2007-11-08  Jim Meyering  <meyering@redhat.com>
82515         Change cache variable name prefix "jm_" to "gl_" everywhere.
82516         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
82517         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
82518         * m4/uptime.m4: s/gl_/jm_/
82520 2007-11-07  Bruno Haible  <bruno@clisp.org>
82522         Update to GNU gettext 0.17.
82523         * m4/intl.m4: Update to GNU gettext 0.17.
82524         * m4/po.m4: Likewise.
82525         * modules/gettext (Files): Remove m4/ulonglong.m4.
82526         (configure.ac): Require gettext infrastructure from version 0.17.
82528 2007-11-06  Bruno Haible  <bruno@clisp.org>
82530         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
82531         symbolic values are not defined in a public header.
82532         * lib/freadable.c (freadable) [QNX]: Likewise.
82533         * lib/freadahead.c (freadahead) [QNX]: Likewise.
82534         * lib/freading.c (freading) [QNX]: Likewise.
82535         * lib/fseterr.c (fseterr) [QNX]: Likewise.
82536         * lib/fwritable.c (fwritable) [QNX]: Likewise.
82537         * lib/fwriting.c (fwriting) [QNX]: Likewise.
82538         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
82539         Reported by Alain Magloire.
82541         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
82543 2007-11-05  Bruno Haible  <bruno@clisp.org>
82545         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
82546         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
82547         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
82548         Reported by Eric Blake.
82550 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82551             Bruno Haible  <bruno@clisp.org>
82553         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
82554         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
82555         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
82556         (malloc): Undefine also before including <stdlib.h>.
82557         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
82558         Needed on OSF/1 4.0.
82560 2007-11-05  Jim Meyering  <meyering@redhat.com>
82562         git-version-gen: sync from coreutils.
82563         * build-aux/git-version-gen: Add comments.
82564         Change the first '-' to '.' in the snapshot version string,
82565         e.g., 6.9-377-08144 -> 6.9.377-08144
82566         Remove first parameter.
82567         Don't declare a version "-dirty" merely because a time
82568         stamp has changed.
82570 2007-11-04  Bruno Haible  <bruno@clisp.org>
82572         * lib/lock.h: Protect all macro definitions containing an 'if'
82573         statement through a "do { ... } while (0)".
82574         * lib/tls.h: Likewise.
82576 2007-11-04  Bruno Haible  <bruno@clisp.org>
82578         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
82580 2007-11-04  Bruno Haible  <bruno@clisp.org>
82582         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
82583         * modules/fprintf-posix (Depends-on): Add nocrash.
82584         * modules/snprintf-posix (Depends-on): Likewise.
82585         * modules/sprintf-posix (Depends-on): Likewise.
82586         * modules/vasnprintf-posix (Depends-on): Likewise.
82587         * modules/vasprintf-posix (Depends-on): Likewise.
82588         * modules/vfprintf-posix (Depends-on): Likewise.
82589         * modules/vsnprintf-posix (Depends-on): Likewise.
82590         * modules/vsprintf-posix (Depends-on): Likewise.
82591         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
82592         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
82593         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
82594         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
82595         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
82596         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
82597         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
82599 2007-11-04  Bruno Haible  <bruno@clisp.org>
82601         * modules/nocrash: New file.
82602         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
82603         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
82605 2007-11-04  Bruno Haible  <bruno@clisp.org>
82607         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
82608         precision handling.
82609         * tests/test-vasprintf-posix.c (test_function): Likewise.
82610         * tests/test-snprintf-posix.h (test_function): Likewise.
82611         * tests/test-sprintf-posix.h (test_function): Likewise.
82613         Fix *printf behaviour for large precisions on mingw and BeOS.
82614         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
82615         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
82616         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
82617         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82618         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82619         gl_PRINTF_PRECISION and test its result. Invoke
82620         gl_PREREQ_VASNPRINTF_PRECISION.
82621         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82622         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82623         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82624         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82625         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82626         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82627         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82628         * doc/functions/fprintf.texi: Update.
82629         * doc/functions/printf.texi: Update.
82630         * doc/functions/snprintf.texi: Update.
82631         * doc/functions/sprintf.texi: Update.
82632         * doc/functions/vfprintf.texi: Update.
82633         * doc/functions/vprintf.texi: Update.
82634         * doc/functions/vsnprintf.texi: Update.
82635         * doc/functions/vsprintf.texi: Update.
82637 2007-11-04  Bruno Haible  <bruno@clisp.org>
82639         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
82641 2007-11-04  Bruno Haible  <bruno@clisp.org>
82643         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
82644         Reported by Sylvain Beucler <beuc@gnu.org>.
82646 2007-11-03  Bruno Haible  <bruno@clisp.org>
82648         * tests/test-fprintf-posix2.sh: New file.
82649         * tests/test-fprintf-posix2.c: New file.
82650         * modules/fprintf-posix-tests (Files): Add them.
82651         (TESTS): Add test-fprintf-posix2.sh.
82652         (configure.ac): Check for getrlimit and setrlimit.
82653         (check_PROGRAMS): Add test-fprintf-posix2.
82655         * tests/test-printf-posix2.sh: New file.
82656         * tests/test-printf-posix2.c: New file.
82657         * modules/printf-posix-tests (Files): Add them.
82658         (TESTS): Add test-printf-posix2.sh.
82659         (configure.ac): Check for getrlimit and setrlimit.
82660         (check_PROGRAMS): Add test-printf-posix2.
82662         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
82663         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
82664         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
82665         (decode_double): New function, copied from decode_long_double.
82666         (scale10_round_decimal_decoded): New function, extracted from
82667         scale10_round_decimal_long_double.
82668         (scale10_round_decimal_long_double): Use it.
82669         (scale10_round_decimal_double): New function.
82670         (floorlog10): New function.
82671         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
82672         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
82673         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
82674         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82675         gl_PRINTF_ENOMEM and test its result. Invoke
82676         gl_PREREQ_VASNPRINTF_ENOMEM.
82677         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82678         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82679         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82680         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82681         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82682         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82683         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82684         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
82685         * modules/snprintf-posix (Depends-on): Likewise.
82686         * modules/sprintf-posix (Depends-on): Likewise.
82687         * modules/vasnprintf-posix (Depends-on): Likewise.
82688         * modules/vasprintf-posix (Depends-on): Likewise.
82689         * modules/vfprintf-posix (Depends-on): Likewise.
82690         * modules/vsnprintf-posix (Depends-on): Likewise.
82691         * modules/vsprintf-posix (Depends-on): Likewise.
82692         * doc/functions/fprintf.texi: Update.
82693         * doc/functions/printf.texi: Update.
82694         * doc/functions/snprintf.texi: Update.
82695         * doc/functions/sprintf.texi: Update.
82696         * doc/functions/vfprintf.texi: Update.
82697         * doc/functions/vprintf.texi: Update.
82698         * doc/functions/vsnprintf.texi: Update.
82699         * doc/functions/vsprintf.texi: Update.
82701 2007-11-03  Bruno Haible  <bruno@clisp.org>
82703         * modules/frexp-nolibm-tests: New file.
82705         * modules/frexp-nolibm: New file.
82706         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
82708 2007-11-03  Bruno Haible  <bruno@clisp.org>
82710         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
82711         value is C99 compliant.
82712         Needed for OSF/1 5.1.
82714 2007-11-03  Bruno Haible  <bruno@clisp.org>
82716         Fix out-of-memory handling of vasnprintf.
82717         * lib/printf-parse.c: Include <errno.h>.
82718         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
82719         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
82720         is already set.
82722 2007-11-02  Eric Blake  <ebb9@byu.net>
82724         Fix tests on cygwin.
82725         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
82727 2007-11-01  Bruno Haible  <bruno@clisp.org>
82729         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
82730         warning.
82731         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
82732         needed for POSIX compatibility.
82734 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
82736         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
82737         for compatibility with GNU.
82739 2007-11-01  Bruno Haible  <bruno@clisp.org>
82741         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
82742         (putenv): Renamed from rpl_putenv. Change argument type from
82743         'const char *' to 'char *'.
82744         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
82745         of defining putenv in config.h, just set REPLACE_PUTENV.
82746         * modules/putenv (Depends-on): Add stdlib.
82747         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
82748         (Include): Use <stdlib.h>.
82749         * lib/stdlib.in.h (putenv): New declaration.
82750         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
82751         REPLACE_PUTENV.
82752         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
82753         REPLACE_PUTENV.
82754         Needed for MacOS X 10.5.0.
82755         Reported by Peter O'Gorman <peter@pogma.com>.
82757 2007-11-01  Jim Meyering  <meyering@redhat.com>
82759         Treat an empty date string exactly like "0".
82760         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
82761         if the remaining date string (to be parsed) is empty, use "0".
82762         Reported by Mischa Molhoek and discussed in this thread:
82763         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
82765 2007-10-31  Bruno Haible  <bruno@clisp.org>
82767         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
82768         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
82769         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
82770         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
82771         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
82772         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
82774 2007-10-31  Bruno Haible  <bruno@clisp.org>
82776         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
82777         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
82778         (AC_TYPE_LONG_LONG_INT): Use it.
82779         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
82780         it as well.
82781         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
82782         to m4/longlong.m4.
82783         * modules/stdint (Files): Remove m4/ulonglong.m4.
82784         * modules/strtoull (Files): Use m4/longlong.m4 instead of
82785         m4/ulonglong.m4.
82786         * modules/strtoumax (Files): Likewise.
82788 2007-10-30  Bruno Haible  <bruno@clisp.org>
82790         * modules/xvasprintf-posix: New file.
82791         Suggested by Eric Blake.
82793 2007-10-30  Bruno Haible  <bruno@clisp.org>
82795         * modules/xprintf-posix-tests: New file.
82796         * tests/test-xprintf-posix.sh: New file.
82797         * tests/test-xprintf-posix.c: New file.
82798         * tests/test-xfprintf-posix.c: New file.
82800         * modules/xprintf-posix: New file.
82802 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82804         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
82805         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
82806         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
82808 2007-10-29  Bruno Haible  <bruno@clisp.org>
82810         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
82811         contain the special marker '_cv_'.
82812         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
82813         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
82814         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
82815         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
82816         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
82817         Reported by Ralf Wildenhues.
82819 2007-10-29  Bruno Haible  <bruno@clisp.org>
82821         * gnulib-tool (func_import): When --lgpl is not specified, set
82822         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
82823         GPLv3.
82824         Reported by Simon Josefsson.
82826 2007-10-28  Bruno Haible  <bruno@clisp.org>
82828         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
82829         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
82830         HAVE_DECL_ISFINITE.
82831         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82832         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
82833         HAVE_DECL_ISFINITE.
82835 2007-10-28  Bruno Haible  <bruno@clisp.org>
82837         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
82838         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
82840 2007-10-28  Bruno Haible  <bruno@clisp.org>
82842         Fix link errors with Sun C 5.0 on Solaris 10.
82843         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
82844         function is declared but not present in the compiler's libm.
82845         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
82846         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
82847         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
82848         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
82849         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
82850         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
82851         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
82852         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
82853         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
82854         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
82855         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
82856         HAVE_DECL_FLOORL.
82858 2007-10-28  Bruno Haible  <bruno@clisp.org>
82860         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
82861         gl_FUNC_FLOORL. Cache the result.
82862         (gl_FUNC_FLOORL): Use it.
82863         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
82864         gl_FUNC_CEILL. Cache the result.
82865         (gl_FUNC_CEILL): Use it.
82867         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
82868         gl_FUNC_FLOOR. Cache the result.
82869         (gl_FUNC_FLOOR): Use it.
82870         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
82871         gl_FUNC_CEIL. Cache the result.
82872         (gl_FUNC_CEIL): Use it.
82874         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
82875         gl_FUNC_FLOORF. Cache the result.
82876         (gl_FUNC_FLOORF): Use it.
82877         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
82878         gl_FUNC_CEILF. Cache the result.
82879         (gl_FUNC_CEILF): Use it.
82881 2007-10-28  Bruno Haible  <bruno@clisp.org>
82883         * gnulib-tool: Allow specifying the LGPL version number through
82884         --lgpl=2 or --lgpl=3.
82885         (func_usage): Document --lgpl with argument.
82886         Handle --lgpl=... arguments.
82887         (func_import): Recognize also gl_LGPL calls with an argument. When
82888         --lgpl=2 is used and the module's license is just LGPL, report an
82889         error. Set sed_transform_lib_file according to the lgpl variable. In
82890         the generated files, use --lgpl or gl_LGPL invocations with argument,
82891         if necessary.
82892         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
82893         an LGPv2+ license.
82894         * doc/gnulib-tool.texi (Modified imports): Update explanation of
82895         gl_LGPL macro.
82897 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82898             Bruno Haible  <bruno@clisp.org>
82900         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
82901         (u16_uctomb_aux): Likewise.
82902         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
82903         !HAVE_INLINE.
82904         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
82906 2007-10-28  Bruno Haible  <bruno@clisp.org>
82908         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
82909         Invoke AM_GETTEXT_OPTION if it exists.
82910         * modules/vasprintf: Likewise.
82911         * modules/verror: Likewise.
82912         * modules/xprintf: Likewise.
82913         * modules/xvasprintf: Likewise.
82915 2007-10-27  Ben Pfaff  <blp@gnu.org>
82917         * lib/math.in.h: Define isfinite macro and prototypes for
82918         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
82919         implementations.
82920         * m4/math_h.m4: New substitutions for isfinite module.
82921         * lib/isfinite.c: New file.
82922         * m4/isfinite.m4: New file.
82923         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
82924         * modules/isfinite: New file.
82925         * modules/isfinite-tests: New file.
82926         * tests/tests-isfinite.c: New file.
82927         * doc/functions/isfinite.texi: Mention isfinite module.
82928         * MODULES.html.sh: Mention new module.
82930 2007-10-27  Ben Pfaff  <blp@gnu.org>
82932         Ralf Wildenhues reported that Tru64 4.0D declares the round
82933         functions but does not have definitions.
82934         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
82935         cannot be found in any library, set the output variable to
82936         "missing" instead of "".
82937         * m4/round.m4: Also use our substitute if we cannot find round in
82938         any library, even if it is declared.
82939         * m4/roundf.m4: Likewise for roundf.
82940         * m4/roundl.m4: Likewise for roundl.
82941         * lib/math.in.h: Undefine roundf, round, roundl before defining
82942         their replacements, to allow for hypothetical systems where these
82943         may be defined as macros but not available in libraries.
82945 2007-10-27  Bruno Haible  <bruno@clisp.org>
82947         * doc/gnulib.texi: Invoke @firstparagraphindent.
82948         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
82949         changes in gnulib.
82950         (Source changes): New section.
82952 2007-10-26  Bruno Haible  <bruno@clisp.org>
82954         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
82955         borrowed from autoconf.
82957 2007-10-26  Bruno Haible  <bruno@clisp.org>
82959         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
82960         strerror returned the empty string. Needed on HP-UX 11.00.
82962 2007-10-24  Micah Cowan  <micah@cowan.name>
82964         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
82965         * build-aux/bootstrap: Remove support for now-unnecessary option,
82966         --cvs-user, and envvars CVS_USER, CVS_RSH.
82968 2007-10-24  Jim Meyering  <meyering@redhat.com>
82970         Avoid diagnostics from sha1sum when there is no cached checksum.
82971         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
82972         if the po.s1 file hasn't been created yet.
82974         * build-aux/bootstrap: Sync from coreutils:
82975         2007-10-24  Jim Meyering  <meyering@redhat.com>
82976         Get gnulib from the git repository, not from an obsolete cvs one.
82977         * build-aux/bootstrap: Suggestion from Micah Cowan.
82978         2007-10-04  Jim Meyering  <jim@meyering.net>
82979         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
82980         (update_po_files): Work also when there are no .po files in po/.
82982 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
82984         * README: Append ".git" to git and cg examples.
82985         Problem reported by Benoit Sigoure.
82987 2007-10-23  Micah Cowan  <micah@cowan.name>
82989         * users.txt: Add wget.
82991 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82993         Fix linking of some unistdio tests on FreeBSD.
82994         * modules/unistdio/u16-vsnprintf-tests
82995         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
82996         * modules/unistdio/u16-vsprintf-tests
82997         (test_u16_vsnprintf1_LDADD): Likewise.
82998         * modules/unistdio/u32-vsnprintf-tests
82999         (test_u32_vsnprintf1_LDADD): Likewise.
83000         * modules/unistdio/u32-vsprintf-tests
83001         (test_u32_vsprintf1_LDADD): Likewise.
83002         * modules/unistdio/u8-vsnprintf-tests
83003         (test_u8_vsnprintf1_LDADD): Likewise.
83004         * modules/unistdio/u8-vsprintf-tests
83005         (test_u8_vsprintf1_LDADD): Likewise.
83006         * modules/unistdio/ulc-vsnprintf-tests
83007         (test_ulc_vsnprintf1_LDADD): Likewise.
83008         * modules/unistdio/ulc-vsprintf-tests
83009         (test_ulc_vsprintf1_LDADD): Likewise.
83011         Fix linking of some uniconv tests on FreeBSD.
83012         * modules/uniconv/u16-conv-from-enc-tests
83013         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
83014         * modules/uniconv/u16-conv-to-enc-tests
83015         (test_u16_conv_to_enc_LDADD): Likewise.
83016         * modules/uniconv/u16-strconv-from-enc-tests
83017         (test_u16_strconv_from_enc_LDADD): Likewise.
83018         * modules/uniconv/u16-strconv-to-enc-tests
83019         (test_u16_strconv_to_enc_LDADD): Likewise.
83020         * modules/uniconv/u32-conv-from-enc-tests
83021         (test_u32_conv_from_enc_LDADD): Likewise.
83022         * modules/uniconv/u32-conv-to-enc-tests
83023         (test_u32_conv_to_enc_LDADD): Likewise.
83024         * modules/uniconv/u32-strconv-from-enc-tests
83025         (test_u32_strconv_from_enc_LDADD): Likewise.
83026         * modules/uniconv/u32-strconv-to-enc-tests
83027         (test_u32_strconv_to_enc_LDADD): Likewise.
83028         * modules/uniconv/u8-conv-from-enc-tests
83029         (test_u8_conv_from_enc_LDADD): Likewise.
83030         * modules/uniconv/u8-conv-to-enc-tests
83031         (test_u8_conv_to_enc_LDADD): Likewise.
83032         * modules/uniconv/u8-strconv-from-enc-tests
83033         (test_u8_strconv_from_enc_LDADD): Likewise.
83034         * modules/uniconv/u8-strconv-to-enc-tests
83035         (test_u8_strconv_to_enc_LDADD): Likewise.
83037 2007-10-22  Bruno Haible  <bruno@clisp.org>
83039         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
83040         size.
83042 2007-10-22  Eric Blake  <ebb9@byu.net>
83044         Tweak x*printf documentation.
83045         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
83046         variable name and comments.
83047         Suggested by Bruno Haible.
83049 2007-10-22  Bruno Haible  <bruno@clisp.org>
83051         * lib/acl.c (copy_acl): Fix file name in comment.
83053 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83055         Fix Tru64 problem with stdbool.h.
83056         * lib/stdbool.in.h (false, true):
83057         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
83058         Don't declare as an enum in this situation; it runs afoul of Tru64.
83059         Problem reported by Steven M. Schweda in
83060         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
83062 2007-10-22  Eric Blake  <ebb9@byu.net>
83064         Also wrap vf?printf.
83065         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
83066         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
83067         (xvprintf, xvfprintf): New functions.
83069 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83071         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
83072         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
83074         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
83075         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
83077 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83079         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
83080         by Bruno Haible.
83082 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83084         * lib/getloadavg.c
83085         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
83086         Undef `sys' after including sys/table.h, for Tru64 4.0D.
83088         * tests/test-i-ring.c: Work for C89.
83090 2007-10-22  Bruno Haible  <bruno@clisp.org>
83092         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
83093         -1u, in preprocessor expression, so that we don't test for the bug
83094         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
83095         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
83097 2007-10-22  Eric Blake  <ebb9@byu.net>
83099         * tests/test-yesno.sh: Silence stderr during test.
83101 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83103         * modules/crypto/gc-camellia: New file.
83105         * m4/gc-camellia.m4: New file.
83107         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
83109         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
83111 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83113         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
83114         --help to stdout.  Reported by sms@antinode.org (Steven
83115         M. Schweda).
83117 2007-10-22  Simon Josefsson  <simon@josefsson.org>
83119         * users.txt: Fix link to libksba.
83121 2007-10-21  Ben Pfaff  <blp@gnu.org>
83123         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
83124         round.c roundf implementation that depends on floorf and ceilf to
83125         be tested unconditionally.
83127 2007-10-21  Ben Pfaff  <blp@gnu.org>
83129         * m4/check-libm-func.m4: Removed.
83130         * m4/check-math-lib.m4: New file.
83131         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
83132         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
83133         definition and lack of AC_LIBOBJ([roundf]).
83134         * m4/roundl.m4: Ditto, and similarly for roundl.
83135         * modules/round: Reference new m4 file.
83136         * modules/roundf: Ditto.
83137         * modules/roundl: Ditto.
83138         * tests/test-round2.c (main): Use ROUND instead of round.
83139         Bug report from Bruno Haible.
83141 2007-10-21  Bruno Haible  <bruno@clisp.org>
83143         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
83144         context.
83146 2007-10-21  Bruno Haible  <bruno@clisp.org>
83148         * tests/test-wcwidth.c (main): Allow negative result for some control
83149         characters.
83151         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
83152         Needed on OSF/1 5.1.
83154 2007-10-21  Bruno Haible  <bruno@clisp.org>
83156         * tests/test-floorf1.c: Include isnanf.h.
83157         (main): Use isnanf() instead of isnan().
83158         * tests/test-ceilf1.c: Include isnanf.h.
83159         (main): Use isnanf() instead of isnan().
83160         * tests/test-truncf1.c: Include isnanf.h.
83161         (main): Use isnanf() instead of isnan().
83162         * tests/test-roundf1.c: Include isnanf.h.
83163         (main): Use isnanf() instead of isnan().
83165 2007-10-21  Eric Blake  <ebb9@byu.net>
83167         * users.txt: Update URL for m4.
83169 2007-10-21  Bruno Haible  <bruno@clisp.org>
83171         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
83173 2007-10-21  Bruno Haible  <bruno@clisp.org>
83175         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
83176         Git's management files if the CVS files are not present.
83178 2007-10-20  Bruno Haible  <bruno@clisp.org>
83180         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
83181         gcc-3.4.x.
83183 2007-10-20  Ben Pfaff  <blp@gnu.org>
83185         * lib/math.in.h: Declare round, roundf, roundl if we are providing
83186         implementations.
83187         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
83188         * lib/round.c: New file.
83189         * lib/roundf.c: New file.
83190         * lib/roundl.c: New file.
83191         * m4/round.m4: New file.
83192         * m4/roundf.m4: New file.
83193         * m4/roundl.m4: New file.
83194         * m4/check-libm-func-m4: New file.
83195         * modules/math: Replace round, roundf, roundl related @VARS@ in
83196         math.in.h.
83197         * modules/round: New file.
83198         * modules/round-tests: New file.
83199         * modules/roundf: New file.
83200         * modules/roundf-tests: New file.
83201         * modules/roundl: New file.
83202         * modules/roundl-tests: New file.
83203         * tests/test-round1.c: New file.
83204         * tests/test-round2.c: New file.
83205         * tests/test-roundf1.c: New file.
83206         * tests/test-roundf2.c: New file.
83207         * tests/test-roundl.c: New file.
83208         * doc/functions/round.texi: Mention round module.
83209         * doc/functions/roundf.texi: Mention roundf module.
83210         * doc/functions/roundl.texi: Mention roundl module.
83211         * MODULES.html.sh: Mention new modules.
83212         Thanks to Bruno Haible for suggestions.
83214 2007-10-20  Jim Meyering  <meyering@redhat.com>
83216         * lib/xprintf.c: Include <config.h> unconditionally.
83218         Change xprintf's license to GPL.
83219         * modules/xprintf (License): s/LGPL/GPL/, since this module
83220         depends on modules (exit and exitfail) which are GPL.
83221         Suggestion from Bruno Haible.
83223         xprintf fixes.
83224         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
83225         Use a clearer diagnostic.
83226         Patch from Bruno Haible.
83228 2007-10-20  Bruno Haible  <bruno@clisp.org>
83230         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
83231         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
83232         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83234 2007-10-20  Bruno Haible  <bruno@clisp.org>
83236         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
83237         precision in the comparison result > x - 1 or similar.
83238         * tests/test-ceilf2.c (correct_result_p): Likewise.
83239         * tests/test-truncf2.c (correct_result_p): Likewise.
83240         * tests/test-trunc2.c (correct_result_p): Likewise.
83241         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83243 2007-10-20  Bruno Haible  <bruno@clisp.org>
83245         * modules/ceil: New file.
83246         * m4/ceil.m4: New file.
83247         * doc/functions/ceil.texi: Mention the 'ceil' module.
83249 2007-10-20  Bruno Haible  <bruno@clisp.org>
83251         * modules/floor: New file.
83252         * m4/floor.m4: New file.
83253         * doc/functions/floor.texi: Mention the 'floor' module.
83255 2007-10-20  Bruno Haible  <bruno@clisp.org>
83257         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
83258         of %a.
83259         * modules/floorf-tests (Depends-on): Likewise.
83260         * modules/truncf-tests (Depends-on): Likewise.
83261         * modules/trunc-tests (Depends-on): Likewise.
83262         Reported by Ben Pfaff.
83264 2007-10-19  Jim Meyering  <meyering@redhat.com>
83266         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
83267         Don't bother testing specific errno values.  Just test ferror.
83269         New module: xprintf
83270         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
83272 2007-10-19  Bruno Haible  <bruno@clisp.org>
83274         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
83275         syntax.
83276         * modules/javaexec (Makefile.am): Likewise.
83277         * modules/relocatable-prog (Makefile.am): Likewise.
83278         Suggested by Jim Meyering.
83280 2007-10-18  Bruno Haible  <bruno@clisp.org>
83282         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
83283         Reported by Jim Meyering.
83285 2007-10-18  Eric Blake  <ebb9@byu.net>
83287         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
83289 2007-10-18  Bruno Haible  <bruno@clisp.org>
83291         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
83292         the format string into writable memory. Needed in Fortify conditions.
83294 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
83295             Bruno Haible  <bruno@clisp.org>
83297         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
83298         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
83299         * modules/trim (Depends-on): Add mbchar.
83300         (configure.ac): Add gl_FUNC_MBRTOWC.
83301         (Makefile.am): Augment lib_SOURCES.
83303 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83305         Modify glob.c to use fstatat and dirfd, to simplify it.
83306         Suggested by Eric Blake.
83307         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
83308         Don't include <stdbool.h>; not used.
83309         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
83310         (link_exists_p): Simplify implementation, since we can now assume
83311         dirfd and fstatat.
83312         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
83314 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83316         * gnulib-tool (func_get_dependencies): Fix sed script to
83317         match only tests.
83319 2007-10-17  Bruno Haible  <bruno@clisp.org>
83321         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
83322         allow locale names without encoding suffix.
83323         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
83324         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
83326 2007-10-16  Bruno Haible  <bruno@clisp.org>
83328         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
83329         * lib/getgroups.c (getgroups): Likewise.
83330         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
83332 2007-10-16  Bruno Haible  <bruno@clisp.org>
83334         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
83335         * modules/malloc-posix (License): Likewise.
83336         * modules/realloc-posix (License): Likewise.
83337         * modules/calloc-posix (License): Likewise.
83338         * modules/intprops (License): Change from GPL to LGPL, with
83339         Paul Eggert's approval.
83341 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83343         Merge glibc changes into lib/glob.c.
83345         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
83346         2007-10-15 04:59:03 UTC.  Here are the changes:
83348         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
83350         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
83352         * lib/glob.c: Add some branch prediction throughout.
83354         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
83356         [BZ #5103]
83357         * lib/glob.c (glob): Recognize patterns starting \/.
83359         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
83361         [BZ #3996]
83362         * lib/glob.c (attribute_hidden): Define if not defined.
83363         (glob): Unescape dirname, filename or username when needed and not
83364         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
83365         is NULL.  Handle unescaped [ in pattern without closing ].
83366         Don't pass GLOB_CHECK down to recursive glob for directories.
83367         (__glob_pattern_type): New function.
83368         (__glob_pattern_p): Implement using __glob_pattern_type.
83369         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
83370         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
83371         Remove unreachable code.
83373         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
83375         * lib/glob.c (glob_in_dir): Add some comments and asserts to
83376         explain why there are no leaks.
83378         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
83380         [BZ #3253]
83381         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
83382         time, rather allocate increasingly bigger arrays of pointers, if
83383         possible with alloca, if too large with malloc.
83385 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
83387         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
83388         Problem reported by H.Merijn Brand in
83389         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
83390         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
83391         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
83393 2007-10-15  Bruno Haible  <bruno@clisp.org>
83395         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
83396         with explicit rpl_ prefix.
83397         * lib/fopen.c (fopen): Likewise.
83398         * lib/freopen.c (freopen): Likewise.
83399         * lib/iconv.c (iconv): Likewise.
83400         * lib/iconv_close.c (iconv_close): Likewise.
83402 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83404         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
83406 2007-10-15  Bruno Haible  <bruno@clisp.org>
83408         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
83409         <stddef.h> instead of <stdlib.h> since we only need NULL.
83410         Reported by Ben Pfaff <blp@cs.stanford.edu>.
83412 2007-10-15  Bruno Haible  <bruno@clisp.org>
83414         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
83415         Replace paragraph talking about LIBOBJS.
83416         Reported by Colin Watson <cjwatson@debian.org>.
83418 2007-10-15  Bruno Haible  <bruno@clisp.org>
83420         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
83421         <stdlib.h> before using NULL.
83423 2007-10-15  Simon Josefsson  <simon@josefsson.org>
83425         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
83426         Reported by Albert Chin <china@thewrittenword.com>.
83428 2007-10-14  Bruno Haible  <bruno@clisp.org>
83430         * modules/iconv_open-utf-tests: New file.
83431         * tests/test-iconv-utf.c: New file.
83433         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
83434         * modules/iconv_open-utf: New file.
83435         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
83436         (iconv, iconv_close): New declarations.
83437         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
83438         be defined.
83439         (iconv_open): Add special handling of conversion between UTF-8 and
83440         UTF-{16,32}{BE,LE}.
83441         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
83442         * lib/iconv_close.c: New file.
83443         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
83444         gl_FUNC_ICONV_OPEN.
83445         (gl_FUNC_ICONV_OPEN): Use it.
83446         (gl_FUNC_ICONV_OPEN_UTF): New macro.
83447         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
83448         and REPLACE_ICONV_UTF.
83449         * modules/iconv_open (Depends-on): Add c-strcase.
83450         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
83451         ICONV_CONST.
83452         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
83454 2007-10-13  Albert Chin  <china@thewrittenword.com>
83455             Bruno Haible  <bruno@clisp.org>
83457         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
83458         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
83460 2007-10-13  Bruno Haible  <bruno@clisp.org>
83462         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
83463         defined, use the ISO C99 inline semantics.
83464         * lib/argp.h (ARGP_EI): Likewise.
83466 2007-10-13  Bruno Haible  <bruno@clisp.org>
83468         Handle 'inline' change in gcc 4.3.0.
83469         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
83470         argp_fmtstream_write, argp_fmtstream_set_lmargin,
83471         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
83472         argp_fmtstream_point): Disable 'extern' declaration if the function
83473         definition is going to be provided inline.
83474         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
83475         semantics, not the ISO C99 inline semantics.
83476         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
83477         'extern' declaration if the function definition is going to be provided
83478         inline.
83479         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
83480         the GNU C inline semantics, not the ISO C99 inline semantics. With
83481         GCC 4.2, avoid a warning.
83483 2007-10-13  Bruno Haible  <bruno@clisp.org>
83485         * lib/freading.h (freading): Enable the use of __freading for
83486         glibc >= 2.7.
83487         * lib/freading.c (freading): Likewise.
83489 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
83491         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
83492         "warning: C99 inline functions are not supported; using GNU89".
83494 2007-10-12  Bruno Haible  <bruno@clisp.org>
83496         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
83497         of 2.
83498         * tests/test-ceilf2.c: New file.
83499         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
83501         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
83502         * modules/ceilf-tests: Update.
83504 2007-10-12  Bruno Haible  <bruno@clisp.org>
83506         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
83507         of 2.
83508         * tests/test-floorf2.c: New file.
83509         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
83511         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
83512         * modules/floorf-tests: Update.
83514 2007-10-12  Bruno Haible  <bruno@clisp.org>
83516         * tests/test-trunc2.c: New file.
83517         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
83519         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
83520         * modules/trunc-tests: Update.
83522 2007-10-12  Bruno Haible  <bruno@clisp.org>
83524         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
83525         of 2.
83526         * tests/test-truncf2.c: New file.
83527         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
83529         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
83530         * modules/truncf-tests: Update.
83532 2007-10-11  Eric Blake  <ebb9@byu.net>
83534         Don't claim strerror is broken on Interix.
83535         * doc/functions/strerror.texi (strerror): Known broken systems are
83536         now Solaris 8, and not Interix.
83537         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
83538         Interix on cross-compile.
83539         Reported by Martin Koeppe in
83540         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
83542 2007-10-11  Bruno Haible  <bruno@clisp.org>
83544         * modules/i-ring-tests: New file.
83545         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
83546         instead of assert.
83548 2007-10-11  Bruno Haible  <bruno@clisp.org>
83550         * modules/filenamecat-tests: New file.
83551         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
83552         * lib/filenamecat.c: Remove test code.
83554 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
83556         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
83558         * lib/strerror.c: Include <string.h> always, to test interface,
83559         and to remove the need for the dummy.
83560         Include intprops.h to compute width instead of doing it ourselves
83561         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
83562         (strerror): Define it to return NULL if there's no system strerror.
83563         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
83564         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
83565         ancient pre-strerror Unix systems well any more.  Saying "unknown
83566         system error" is enough.
83567         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
83568         simpler strerror.c implementation.
83569         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
83570         Simplify the tests to reflect the simpler strerror implementation.
83571         * modules/strerror (Depends-on): Add intprops.
83573 2007-10-09  Eric Blake  <ebb9@byu.net>
83575         Silence test-fpending.
83576         * modules/fpending-tests (Files): Add wrapper script.
83577         * tests/test-fpending.sh: New file.
83579 2007-10-09  Bruno Haible  <bruno@clisp.org>
83581         * MODULES.html.sh (func_module): Don't create a hyperlink for
83582         function names like 'printf_frexp'.
83583         (Misc): Add crc, memxor.
83584         (Characteristics of floating types): New section.
83585         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
83586         isnanf-nolibm, signbit, trunc, truncf, truncl.
83587         (Enhancements for ISO C 99 functions): New subsection Input/output.
83588         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
83589         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
83590         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
83591         (Compatibility checks for POSIX:2001 functions): Add clock-time.
83592         (Enhancements for POSIX:2001 functions): Add chdir-long.
83593         (File system functions): Add areadlink, chdir-safer, read-file.
83594         Remove cycle-check.
83595         (File system as inode set): New section.
83596         (Date and time): Add gethrxtime.
83597         (Multithreading): Add openmp.
83598         (Internationalization functions): Add localename.
83599         (Unicode string functions): Add unistr/u*-mbsnlen.
83600         (Support for maintaining and releasing projects): Add git-version-gen.
83601         (Lone files): Remove directories.
83603 2007-10-08  Ben Pfaff  <blp@gnu.org>
83605         * lib/xmalloca.h: Fix typo in comment.
83607 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
83609         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
83610         when avoiding problems with integer overflow.  Use a portable test
83611         instead.
83613 2007-10-08  Simon Josefsson  <simon@josefsson.org>
83615         * modules/dummy (License): Change to LGPLv2+.
83616         * modules/float (License): Likewise
83617         * modules/realloc (License): Likewise
83618         * modules/stdlib (License): Likewise
83620 2007-10-07  Bruno Haible  <bruno@clisp.org>
83622         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
83623         * floor.c (TWO_MANT_DIG): Likewise.
83624         * ceil.c (TWO_MANT_DIG): Likewise.
83625         Reported by Ben Pfaff.
83627 2007-10-07  Bruno Haible  <bruno@clisp.org>
83629         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
83630         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
83631         * lib/frexp.c (FUNC): Likewise.
83632         * lib/printf-frexp.h (printf_frexp): Likewise.
83633         * lib/printf-frexpl.h (printf_frexpl): Likewise.
83634         * lib/printf-frexp.c (FUNC): Likewise.
83635         Suggested by Jim Meyering.
83637 2007-10-07  Jim Meyering  <meyering@redhat.com>
83639         Make xnanosleep's integer overflow test more robust.
83640         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
83641         so that gcc-4.3.0 doesn't optimize away this test for overflow.
83643 2007-10-07  Bruno Haible  <bruno@clisp.org>
83645         * NEWS: Mention the license change.
83647         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
83648         abbreviations in the modules files.
83650         Change copyright notice from GPLv2+ to GPLv3+.
83651         * README: Change copyright notice.
83652         * MODULES.html.sh: Likewise.
83653         * build-aux/bootstrap.conf: Likewise.
83654         * build-aux/config.libpath: Likewise.
83655         * build-aux/csharpcomp.sh.in: Likewise.
83656         * build-aux/csharpexec.sh.in: Likewise.
83657         * build-aux/install-reloc: Likewise.
83658         * build-aux/javacomp.sh.in: Likewise.
83659         * build-aux/javaexec.sh.in: Likewise.
83660         * build-aux/ldd.sh.in: Likewise.
83661         * build-aux/reloc-ldflags: Likewise.
83662         * build-aux/relocatable.sh.in: Likewise.
83663         * build-aux/x-to-1.in: Likewise.
83664         * check-module: Likewise.
83665         * config/srclistvars.sh: Likewise.
83666         * gnulib-tool: Likewise.
83667         * lib/acl-internal.h: Likewise.
83668         * lib/acl.c: Likewise.
83669         * lib/acl.h: Likewise.
83670         * lib/acl_entries.c: Likewise.
83671         * lib/areadlink-with-size.c: Likewise.
83672         * lib/areadlink.c: Likewise.
83673         * lib/areadlink.h: Likewise.
83674         * lib/argmatch.c: Likewise.
83675         * lib/argmatch.h: Likewise.
83676         * lib/argp-ba.c: Likewise.
83677         * lib/argp-eexst.c: Likewise.
83678         * lib/argp-fmtstream.c: Likewise.
83679         * lib/argp-fmtstream.h: Likewise.
83680         * lib/argp-fs-xinl.c: Likewise.
83681         * lib/argp-help.c: Likewise.
83682         * lib/argp-namefrob.h: Likewise.
83683         * lib/argp-parse.c: Likewise.
83684         * lib/argp-pin.c: Likewise.
83685         * lib/argp-pv.c: Likewise.
83686         * lib/argp-pvh.c: Likewise.
83687         * lib/argp-xinl.c: Likewise.
83688         * lib/argp.h: Likewise.
83689         * lib/at-func.c: Likewise.
83690         * lib/atanl.c: Likewise.
83691         * lib/backupfile.c: Likewise.
83692         * lib/backupfile.h: Likewise.
83693         * lib/basename.c: Likewise.
83694         * lib/binary-io.h: Likewise.
83695         * lib/byteswap.in.h: Likewise.
83696         * lib/c-stack.c: Likewise.
83697         * lib/c-stack.h: Likewise.
83698         * lib/c-strcasestr.c: Likewise.
83699         * lib/c-strcasestr.h: Likewise.
83700         * lib/c-strstr.c: Likewise.
83701         * lib/c-strstr.h: Likewise.
83702         * lib/c-strtod.c: Likewise.
83703         * lib/calloc.c: Likewise.
83704         * lib/canon-host.c: Likewise.
83705         * lib/canon-host.h: Likewise.
83706         * lib/canonicalize-lgpl.c: Likewise.
83707         * lib/canonicalize.c: Likewise.
83708         * lib/canonicalize.h: Likewise.
83709         * lib/ceil.c: Likewise.
83710         * lib/ceilf.c: Likewise.
83711         * lib/ceill.c: Likewise.
83712         * lib/chdir-long.c: Likewise.
83713         * lib/chdir-long.h: Likewise.
83714         * lib/chdir-safer.c: Likewise.
83715         * lib/chdir-safer.h: Likewise.
83716         * lib/chown.c: Likewise.
83717         * lib/classpath.c: Likewise.
83718         * lib/classpath.h: Likewise.
83719         * lib/clean-temp.c: Likewise.
83720         * lib/clean-temp.h: Likewise.
83721         * lib/cloexec.c: Likewise.
83722         * lib/close-stream.c: Likewise.
83723         * lib/closein.c: Likewise.
83724         * lib/closein.h: Likewise.
83725         * lib/closeout.c: Likewise.
83726         * lib/closeout.h: Likewise.
83727         * lib/concat-filename.c: Likewise.
83728         * lib/copy-file.c: Likewise.
83729         * lib/copy-file.h: Likewise.
83730         * lib/count-one-bits.h: Likewise.
83731         * lib/crc.c: Likewise.
83732         * lib/crc.h: Likewise.
83733         * lib/creat-safer.c: Likewise.
83734         * lib/csharpcomp.c: Likewise.
83735         * lib/csharpcomp.h: Likewise.
83736         * lib/csharpexec.c: Likewise.
83737         * lib/csharpexec.h: Likewise.
83738         * lib/cycle-check.c: Likewise.
83739         * lib/cycle-check.h: Likewise.
83740         * lib/diacrit.c: Likewise.
83741         * lib/diacrit.h: Likewise.
83742         * lib/diffseq.h: Likewise.
83743         * lib/dirchownmod.c: Likewise.
83744         * lib/dirent.in.h: Likewise.
83745         * lib/dirfd.c: Likewise.
83746         * lib/dirfd.h: Likewise.
83747         * lib/dirname.c: Likewise.
83748         * lib/dirname.h: Likewise.
83749         * lib/dummy.c: Likewise.
83750         * lib/dup-safer.c: Likewise.
83751         * lib/dup2.c: Likewise.
83752         * lib/eealloc.h: Likewise.
83753         * lib/error.c: Likewise.
83754         * lib/error.h: Likewise.
83755         * lib/euidaccess.c: Likewise.
83756         * lib/exclude.c: Likewise.
83757         * lib/exclude.h: Likewise.
83758         * lib/execute.c: Likewise.
83759         * lib/execute.h: Likewise.
83760         * lib/exitfail.c: Likewise.
83761         * lib/exitfail.h: Likewise.
83762         * lib/expl.c: Likewise.
83763         * lib/fatal-signal.c: Likewise.
83764         * lib/fatal-signal.h: Likewise.
83765         * lib/fbufmode.c: Likewise.
83766         * lib/fbufmode.h: Likewise.
83767         * lib/fchdir.c: Likewise.
83768         * lib/fchmodat.c: Likewise.
83769         * lib/fchownat.c: Likewise.
83770         * lib/fcntl--.h: Likewise.
83771         * lib/fcntl-safer.h: Likewise.
83772         * lib/fcntl.in.h: Likewise.
83773         * lib/fd-safer.c: Likewise.
83774         * lib/fflush.c: Likewise.
83775         * lib/file-has-acl.c: Likewise.
83776         * lib/file-set.c: Likewise.
83777         * lib/file-type.c: Likewise.
83778         * lib/file-type.h: Likewise.
83779         * lib/fileblocks.c: Likewise.
83780         * lib/filemode.c: Likewise.
83781         * lib/filemode.h: Likewise.
83782         * lib/filename.h: Likewise.
83783         * lib/filenamecat.c: Likewise.
83784         * lib/filenamecat.h: Likewise.
83785         * lib/findprog.c: Likewise.
83786         * lib/findprog.h: Likewise.
83787         * lib/float.in.h: Likewise.
83788         * lib/floor.c: Likewise.
83789         * lib/floorf.c: Likewise.
83790         * lib/floorl.c: Likewise.
83791         * lib/fopen-safer.c: Likewise.
83792         * lib/fopen.c: Likewise.
83793         * lib/fpending.c: Likewise.
83794         * lib/fpending.h: Likewise.
83795         * lib/fprintf.c: Likewise.
83796         * lib/fprintftime.h: Likewise.
83797         * lib/fpucw.h: Likewise.
83798         * lib/fpurge.c: Likewise.
83799         * lib/fpurge.h: Likewise.
83800         * lib/freadable.c: Likewise.
83801         * lib/freadable.h: Likewise.
83802         * lib/freadahead.c: Likewise.
83803         * lib/freadahead.h: Likewise.
83804         * lib/freading.c: Likewise.
83805         * lib/freading.h: Likewise.
83806         * lib/free.c: Likewise.
83807         * lib/freopen.c: Likewise.
83808         * lib/frexp.c: Likewise.
83809         * lib/frexpl.c: Likewise.
83810         * lib/fseek.c: Likewise.
83811         * lib/fseterr.c: Likewise.
83812         * lib/fseterr.h: Likewise.
83813         * lib/fstatat.c: Likewise.
83814         * lib/fstrcmp.c: Likewise.
83815         * lib/fstrcmp.h: Likewise.
83816         * lib/fsusage.c: Likewise.
83817         * lib/fsusage.h: Likewise.
83818         * lib/ftell.c: Likewise.
83819         * lib/ftello.c: Likewise.
83820         * lib/fts-cycle.c: Likewise.
83821         * lib/fts.c: Likewise.
83822         * lib/fts_.h: Likewise.
83823         * lib/full-read.c: Likewise.
83824         * lib/full-read.h: Likewise.
83825         * lib/full-write.c: Likewise.
83826         * lib/full-write.h: Likewise.
83827         * lib/fwritable.c: Likewise.
83828         * lib/fwritable.h: Likewise.
83829         * lib/fwriteerror.c: Likewise.
83830         * lib/fwriteerror.h: Likewise.
83831         * lib/fwriting.c: Likewise.
83832         * lib/fwriting.h: Likewise.
83833         * lib/gcd.c: Likewise.
83834         * lib/gcd.h: Likewise.
83835         * lib/getcwd.c: Likewise.
83836         * lib/getdate.h: Likewise.
83837         * lib/getdate.y: Likewise.
83838         * lib/getdomainname.c: Likewise.
83839         * lib/getdomainname.h: Likewise.
83840         * lib/getgroups.c: Likewise.
83841         * lib/gethostname.c: Likewise.
83842         * lib/gethrxtime.c: Likewise.
83843         * lib/gethrxtime.h: Likewise.
83844         * lib/getloadavg.c: Likewise.
83845         * lib/getndelim2.c: Likewise.
83846         * lib/getndelim2.h: Likewise.
83847         * lib/getnline.c: Likewise.
83848         * lib/getnline.h: Likewise.
83849         * lib/getopt.c: Likewise.
83850         * lib/getopt.in.h: Likewise.
83851         * lib/getopt1.c: Likewise.
83852         * lib/getopt_int.h: Likewise.
83853         * lib/getpagesize.h: Likewise.
83854         * lib/getsubopt.c: Likewise.
83855         * lib/gettime.c: Likewise.
83856         * lib/getugroups.c: Likewise.
83857         * lib/getugroups.h: Likewise.
83858         * lib/getusershell.c: Likewise.
83859         * lib/gl_anyavltree_list1.h: Likewise.
83860         * lib/gl_anyavltree_list2.h: Likewise.
83861         * lib/gl_anyhash_list1.h: Likewise.
83862         * lib/gl_anyhash_list2.h: Likewise.
83863         * lib/gl_anylinked_list1.h: Likewise.
83864         * lib/gl_anylinked_list2.h: Likewise.
83865         * lib/gl_anyrbtree_list1.h: Likewise.
83866         * lib/gl_anyrbtree_list2.h: Likewise.
83867         * lib/gl_anytree_list1.h: Likewise.
83868         * lib/gl_anytree_list2.h: Likewise.
83869         * lib/gl_anytree_oset.h: Likewise.
83870         * lib/gl_anytreehash_list1.h: Likewise.
83871         * lib/gl_anytreehash_list2.h: Likewise.
83872         * lib/gl_array_list.c: Likewise.
83873         * lib/gl_array_list.h: Likewise.
83874         * lib/gl_array_oset.c: Likewise.
83875         * lib/gl_array_oset.h: Likewise.
83876         * lib/gl_avltree_list.c: Likewise.
83877         * lib/gl_avltree_list.h: Likewise.
83878         * lib/gl_avltree_oset.c: Likewise.
83879         * lib/gl_avltree_oset.h: Likewise.
83880         * lib/gl_avltreehash_list.c: Likewise.
83881         * lib/gl_avltreehash_list.h: Likewise.
83882         * lib/gl_carray_list.c: Likewise.
83883         * lib/gl_carray_list.h: Likewise.
83884         * lib/gl_linked_list.c: Likewise.
83885         * lib/gl_linked_list.h: Likewise.
83886         * lib/gl_linkedhash_list.c: Likewise.
83887         * lib/gl_linkedhash_list.h: Likewise.
83888         * lib/gl_list.c: Likewise.
83889         * lib/gl_list.h: Likewise.
83890         * lib/gl_oset.c: Likewise.
83891         * lib/gl_oset.h: Likewise.
83892         * lib/gl_rbtree_list.c: Likewise.
83893         * lib/gl_rbtree_list.h: Likewise.
83894         * lib/gl_rbtree_oset.c: Likewise.
83895         * lib/gl_rbtree_oset.h: Likewise.
83896         * lib/gl_rbtreehash_list.c: Likewise.
83897         * lib/gl_rbtreehash_list.h: Likewise.
83898         * lib/gl_sublist.c: Likewise.
83899         * lib/gl_sublist.h: Likewise.
83900         * lib/group-member.c: Likewise.
83901         * lib/group-member.h: Likewise.
83902         * lib/hard-locale.c: Likewise.
83903         * lib/hard-locale.h: Likewise.
83904         * lib/hash-pjw.c: Likewise.
83905         * lib/hash-pjw.h: Likewise.
83906         * lib/hash-triple.c: Likewise.
83907         * lib/hash.c: Likewise.
83908         * lib/hash.h: Likewise.
83909         * lib/human.c: Likewise.
83910         * lib/human.h: Likewise.
83911         * lib/i-ring.c: Likewise.
83912         * lib/i-ring.h: Likewise.
83913         * lib/idcache.c: Likewise.
83914         * lib/imaxabs.c: Likewise.
83915         * lib/imaxdiv.c: Likewise.
83916         * lib/inet_pton.c: Likewise.
83917         * lib/inet_pton.h: Likewise.
83918         * lib/intprops.h: Likewise.
83919         * lib/inttostr.c: Likewise.
83920         * lib/inttostr.h: Likewise.
83921         * lib/inttypes.in.h: Likewise.
83922         * lib/isapipe.c: Likewise.
83923         * lib/isdir.c: Likewise.
83924         * lib/isnan.c: Likewise.
83925         * lib/isnan.h: Likewise.
83926         * lib/isnanf.c: Likewise.
83927         * lib/isnanf.h: Likewise.
83928         * lib/isnanl-nolibm.h: Likewise.
83929         * lib/isnanl.c: Likewise.
83930         * lib/isnanl.h: Likewise.
83931         * lib/javacomp.c: Likewise.
83932         * lib/javacomp.h: Likewise.
83933         * lib/javaexec.c: Likewise.
83934         * lib/javaexec.h: Likewise.
83935         * lib/javaversion.c: Likewise.
83936         * lib/javaversion.h: Likewise.
83937         * lib/javaversion.java: Likewise.
83938         * lib/lbrkprop.h: Likewise.
83939         * lib/lchmod.h: Likewise.
83940         * lib/lchown.c: Likewise.
83941         * lib/ldexpl.c: Likewise.
83942         * lib/linebreak.c: Likewise.
83943         * lib/linebreak.h: Likewise.
83944         * lib/linebuffer.c: Likewise.
83945         * lib/linebuffer.h: Likewise.
83946         * lib/locale.in.h: Likewise.
83947         * lib/logl.c: Likewise.
83948         * lib/long-options.c: Likewise.
83949         * lib/long-options.h: Likewise.
83950         * lib/lstat.c: Likewise.
83951         * lib/lstat.h: Likewise.
83952         * lib/math.in.h: Likewise.
83953         * lib/mbchar.c: Likewise.
83954         * lib/mbchar.h: Likewise.
83955         * lib/mbfile.h: Likewise.
83956         * lib/mbiter.h: Likewise.
83957         * lib/mbscasecmp.c: Likewise.
83958         * lib/mbscasestr.c: Likewise.
83959         * lib/mbschr.c: Likewise.
83960         * lib/mbscspn.c: Likewise.
83961         * lib/mbslen.c: Likewise.
83962         * lib/mbsncasecmp.c: Likewise.
83963         * lib/mbsnlen.c: Likewise.
83964         * lib/mbspbrk.c: Likewise.
83965         * lib/mbspcasecmp.c: Likewise.
83966         * lib/mbsrchr.c: Likewise.
83967         * lib/mbssep.c: Likewise.
83968         * lib/mbsspn.c: Likewise.
83969         * lib/mbsstr.c: Likewise.
83970         * lib/mbstok_r.c: Likewise.
83971         * lib/mbswidth.c: Likewise.
83972         * lib/mbswidth.h: Likewise.
83973         * lib/mbuiter.h: Likewise.
83974         * lib/memcasecmp.c: Likewise.
83975         * lib/memcasecmp.h: Likewise.
83976         * lib/memchr.c: Likewise.
83977         * lib/memcmp.c: Likewise.
83978         * lib/memcoll.c: Likewise.
83979         * lib/memcoll.h: Likewise.
83980         * lib/memcpy.c: Likewise.
83981         * lib/memrchr.c: Likewise.
83982         * lib/mkancesdirs.c: Likewise.
83983         * lib/mkdir-p.c: Likewise.
83984         * lib/mkdir-p.h: Likewise.
83985         * lib/mkdir.c: Likewise.
83986         * lib/mkdirat.c: Likewise.
83987         * lib/mkdtemp.c: Likewise.
83988         * lib/mkstemp-safer.c: Likewise.
83989         * lib/mkstemp.c: Likewise.
83990         * lib/modechange.c: Likewise.
83991         * lib/modechange.h: Likewise.
83992         * lib/mountlist.c: Likewise.
83993         * lib/mountlist.h: Likewise.
83994         * lib/mpsort.c: Likewise.
83995         * lib/nanosleep.c: Likewise.
83996         * lib/obstack.c: Likewise.
83997         * lib/obstack.h: Likewise.
83998         * lib/open-safer.c: Likewise.
83999         * lib/open.c: Likewise.
84000         * lib/openat-die.c: Likewise.
84001         * lib/openat-priv.h: Likewise.
84002         * lib/openat-proc.c: Likewise.
84003         * lib/openat.c: Likewise.
84004         * lib/openat.h: Likewise.
84005         * lib/pagealign_alloc.c: Likewise.
84006         * lib/pagealign_alloc.h: Likewise.
84007         * lib/physmem.c: Likewise.
84008         * lib/physmem.h: Likewise.
84009         * lib/pipe-safer.c: Likewise.
84010         * lib/pipe.c: Likewise.
84011         * lib/pipe.h: Likewise.
84012         * lib/posixtm.c: Likewise.
84013         * lib/posixtm.h: Likewise.
84014         * lib/posixver.c: Likewise.
84015         * lib/printf-frexp.c: Likewise.
84016         * lib/printf-frexp.h: Likewise.
84017         * lib/printf-frexpl.c: Likewise.
84018         * lib/printf-frexpl.h: Likewise.
84019         * lib/printf.c: Likewise.
84020         * lib/progname.c: Likewise.
84021         * lib/progname.h: Likewise.
84022         * lib/progreloc.c: Likewise.
84023         * lib/putenv.c: Likewise.
84024         * lib/quote.c: Likewise.
84025         * lib/quote.h: Likewise.
84026         * lib/quotearg.c: Likewise.
84027         * lib/quotearg.h: Likewise.
84028         * lib/raise.c: Likewise.
84029         * lib/readline.c: Likewise.
84030         * lib/readline.h: Likewise.
84031         * lib/readlink.c: Likewise.
84032         * lib/readtokens.c: Likewise.
84033         * lib/readtokens.h: Likewise.
84034         * lib/readtokens0.c: Likewise.
84035         * lib/readtokens0.h: Likewise.
84036         * lib/readutmp.c: Likewise.
84037         * lib/readutmp.h: Likewise.
84038         * lib/realloc.c: Likewise.
84039         * lib/relocwrapper.c: Likewise.
84040         * lib/rename-dest-slash.c: Likewise.
84041         * lib/rename.c: Likewise.
84042         * lib/rmdir.c: Likewise.
84043         * lib/rpmatch.c: Likewise.
84044         * lib/safe-read.c: Likewise.
84045         * lib/safe-read.h: Likewise.
84046         * lib/safe-write.c: Likewise.
84047         * lib/safe-write.h: Likewise.
84048         * lib/same-inode.h: Likewise.
84049         * lib/same.c: Likewise.
84050         * lib/same.h: Likewise.
84051         * lib/save-cwd.c: Likewise.
84052         * lib/save-cwd.h: Likewise.
84053         * lib/savedir.c: Likewise.
84054         * lib/savedir.h: Likewise.
84055         * lib/savewd.c: Likewise.
84056         * lib/savewd.h: Likewise.
84057         * lib/search.in.h: Likewise.
84058         * lib/setenv.c: Likewise.
84059         * lib/setenv.h: Likewise.
84060         * lib/settime.c: Likewise.
84061         * lib/sh-quote.c: Likewise.
84062         * lib/sh-quote.h: Likewise.
84063         * lib/sig2str.c: Likewise.
84064         * lib/sig2str.h: Likewise.
84065         * lib/signal.in.h: Likewise.
84066         * lib/signbitd.c: Likewise.
84067         * lib/signbitf.c: Likewise.
84068         * lib/signbitl.c: Likewise.
84069         * lib/sigprocmask.c: Likewise.
84070         * lib/sincosl.c: Likewise.
84071         * lib/sleep.c: Likewise.
84072         * lib/sprintf.c: Likewise.
84073         * lib/sqrtl.c: Likewise.
84074         * lib/stat-time.h: Likewise.
84075         * lib/stdio--.h: Likewise.
84076         * lib/stdio-safer.h: Likewise.
84077         * lib/stdlib--.h: Likewise.
84078         * lib/stdlib-safer.h: Likewise.
84079         * lib/stdlib.in.h: Likewise.
84080         * lib/stpcpy.c: Likewise.
84081         * lib/stpncpy.c: Likewise.
84082         * lib/strchrnul.c: Likewise.
84083         * lib/strcspn.c: Likewise.
84084         * lib/strerror.c: Likewise.
84085         * lib/strftime.c: Likewise.
84086         * lib/strftime.h: Likewise.
84087         * lib/striconveh.c: Likewise.
84088         * lib/striconveh.h: Likewise.
84089         * lib/striconveha.c: Likewise.
84090         * lib/striconveha.h: Likewise.
84091         * lib/stripslash.c: Likewise.
84092         * lib/strnlen1.c: Likewise.
84093         * lib/strnlen1.h: Likewise.
84094         * lib/strtod.c: Likewise.
84095         * lib/strtoimax.c: Likewise.
84096         * lib/strtok_r.c: Likewise.
84097         * lib/strtol.c: Likewise.
84098         * lib/strtoll.c: Likewise.
84099         * lib/strtoul.c: Likewise.
84100         * lib/strtoull.c: Likewise.
84101         * lib/sysexits.in.h: Likewise.
84102         * lib/tempname.c: Likewise.
84103         * lib/tempname.h: Likewise.
84104         * lib/timespec.h: Likewise.
84105         * lib/tls.c: Likewise.
84106         * lib/tls.h: Likewise.
84107         * lib/tmpdir.c: Likewise.
84108         * lib/tmpdir.h: Likewise.
84109         * lib/tmpfile-safer.c: Likewise.
84110         * lib/tmpfile.c: Likewise.
84111         * lib/trigl.c: Likewise.
84112         * lib/trigl.h: Likewise.
84113         * lib/trim.c: Likewise.
84114         * lib/trim.h: Likewise.
84115         * lib/trunc.c: Likewise.
84116         * lib/truncf.c: Likewise.
84117         * lib/truncl.c: Likewise.
84118         * lib/tsearch.c: Likewise.
84119         * lib/unicodeio.c: Likewise.
84120         * lib/unicodeio.h: Likewise.
84121         * lib/unistd--.h: Likewise.
84122         * lib/unistd-safer.h: Likewise.
84123         * lib/unistdio/ulc-fprintf.c: Likewise.
84124         * lib/unistdio/ulc-vfprintf.c: Likewise.
84125         * lib/unlinkdir.c: Likewise.
84126         * lib/unlinkdir.h: Likewise.
84127         * lib/unlocked-io.h: Likewise.
84128         * lib/unsetenv.c: Likewise.
84129         * lib/userspec.c: Likewise.
84130         * lib/utime.c: Likewise.
84131         * lib/utimecmp.c: Likewise.
84132         * lib/utimecmp.h: Likewise.
84133         * lib/utimens.c: Likewise.
84134         * lib/verify.h: Likewise.
84135         * lib/verror.c: Likewise.
84136         * lib/verror.h: Likewise.
84137         * lib/version-etc-fsf.c: Likewise.
84138         * lib/version-etc.c: Likewise.
84139         * lib/version-etc.h: Likewise.
84140         * lib/vfprintf.c: Likewise.
84141         * lib/vprintf.c: Likewise.
84142         * lib/vsprintf.c: Likewise.
84143         * lib/w32spawn.h: Likewise.
84144         * lib/wait-process.c: Likewise.
84145         * lib/wait-process.h: Likewise.
84146         * lib/wcwidth.c: Likewise.
84147         * lib/write-any-file.c: Likewise.
84148         * lib/xalloc-die.c: Likewise.
84149         * lib/xalloc.h: Likewise.
84150         * lib/xasprintf.c: Likewise.
84151         * lib/xgetcwd.c: Likewise.
84152         * lib/xgetcwd.h: Likewise.
84153         * lib/xgetdomainname.c: Likewise.
84154         * lib/xgetdomainname.h: Likewise.
84155         * lib/xgethostname.c: Likewise.
84156         * lib/xmalloc.c: Likewise.
84157         * lib/xmalloca.c: Likewise.
84158         * lib/xmalloca.h: Likewise.
84159         * lib/xmemcoll.c: Likewise.
84160         * lib/xnanosleep.c: Likewise.
84161         * lib/xreadlink.c: Likewise.
84162         * lib/xreadlink.h: Likewise.
84163         * lib/xsetenv.c: Likewise.
84164         * lib/xsetenv.h: Likewise.
84165         * lib/xstriconv.c: Likewise.
84166         * lib/xstriconv.h: Likewise.
84167         * lib/xstrndup.c: Likewise.
84168         * lib/xstrndup.h: Likewise.
84169         * lib/xstrtod.c: Likewise.
84170         * lib/xstrtod.h: Likewise.
84171         * lib/xstrtol-error.c: Likewise.
84172         * lib/xstrtol.c: Likewise.
84173         * lib/xstrtol.h: Likewise.
84174         * lib/xtime.h: Likewise.
84175         * lib/xvasprintf.c: Likewise.
84176         * lib/xvasprintf.h: Likewise.
84177         * lib/yesno.c: Likewise.
84178         * lib/yesno.h: Likewise.
84179         * posix-modules: Likewise.
84180         * tests/test-alloca-opt.c: Likewise.
84181         * tests/test-arcfour.c: Likewise.
84182         * tests/test-arctwo.c: Likewise.
84183         * tests/test-argmatch.c: Likewise.
84184         * tests/test-argp-2.sh: Likewise.
84185         * tests/test-argp.c: Likewise.
84186         * tests/test-arpa_inet.c: Likewise.
84187         * tests/test-array_list.c: Likewise.
84188         * tests/test-array_oset.c: Likewise.
84189         * tests/test-atexit.c: Likewise.
84190         * tests/test-avltree_list.c: Likewise.
84191         * tests/test-avltree_oset.c: Likewise.
84192         * tests/test-avltreehash_list.c: Likewise.
84193         * tests/test-base64.c: Likewise.
84194         * tests/test-binary-io.c: Likewise.
84195         * tests/test-byteswap.c: Likewise.
84196         * tests/test-c-ctype.c: Likewise.
84197         * tests/test-c-strcasecmp.c: Likewise.
84198         * tests/test-c-strcasestr.c: Likewise.
84199         * tests/test-c-strncasecmp.c: Likewise.
84200         * tests/test-c-strstr.c: Likewise.
84201         * tests/test-canonicalize-lgpl.c: Likewise.
84202         * tests/test-canonicalize.c: Likewise.
84203         * tests/test-carray_list.c: Likewise.
84204         * tests/test-ceilf.c: Likewise.
84205         * tests/test-ceill.c: Likewise.
84206         * tests/test-count-one-bits.c: Likewise.
84207         * tests/test-crc.c: Likewise.
84208         * tests/test-dirname.c: Likewise.
84209         * tests/test-fbufmode.c: Likewise.
84210         * tests/test-fcntl.c: Likewise.
84211         * tests/test-fflush.c: Likewise.
84212         * tests/test-floorf.c: Likewise.
84213         * tests/test-floorl.c: Likewise.
84214         * tests/test-fopen.c: Likewise.
84215         * tests/test-fprintf-posix.c: Likewise.
84216         * tests/test-fprintf-posix.h: Likewise.
84217         * tests/test-fpurge.c: Likewise.
84218         * tests/test-freadable.c: Likewise.
84219         * tests/test-freadahead.c: Likewise.
84220         * tests/test-freading.c: Likewise.
84221         * tests/test-freopen.c: Likewise.
84222         * tests/test-frexp.c: Likewise.
84223         * tests/test-frexpl.c: Likewise.
84224         * tests/test-fseek.c: Likewise.
84225         * tests/test-fseeko.c: Likewise.
84226         * tests/test-fseterr.c: Likewise.
84227         * tests/test-fstrcmp.c: Likewise.
84228         * tests/test-ftell.c: Likewise.
84229         * tests/test-ftello.c: Likewise.
84230         * tests/test-fwritable.c: Likewise.
84231         * tests/test-fwriting.c: Likewise.
84232         * tests/test-getaddrinfo.c: Likewise.
84233         * tests/test-getpass.c: Likewise.
84234         * tests/test-gettimeofday.c: Likewise.
84235         * tests/test-hmac-md5.c: Likewise.
84236         * tests/test-hmac-sha1.c: Likewise.
84237         * tests/test-iconv.c: Likewise.
84238         * tests/test-iconvme.c: Likewise.
84239         * tests/test-inttypes.c: Likewise.
84240         * tests/test-isnan.c: Likewise.
84241         * tests/test-isnanf.c: Likewise.
84242         * tests/test-isnanl-nolibm.c: Likewise.
84243         * tests/test-isnanl.c: Likewise.
84244         * tests/test-isnanl.h: Likewise.
84245         * tests/test-ldexpl.c: Likewise.
84246         * tests/test-linked_list.c: Likewise.
84247         * tests/test-linkedhash_list.c: Likewise.
84248         * tests/test-locale.c: Likewise.
84249         * tests/test-localename.c: Likewise.
84250         * tests/test-lock.c: Likewise.
84251         * tests/test-lseek.c: Likewise.
84252         * tests/test-malloca.c: Likewise.
84253         * tests/test-math.c: Likewise.
84254         * tests/test-mbscasecmp.c: Likewise.
84255         * tests/test-mbscasestr1.c: Likewise.
84256         * tests/test-mbscasestr2.c: Likewise.
84257         * tests/test-mbscasestr3.c: Likewise.
84258         * tests/test-mbscasestr4.c: Likewise.
84259         * tests/test-mbschr.c: Likewise.
84260         * tests/test-mbscspn.c: Likewise.
84261         * tests/test-mbsncasecmp.c: Likewise.
84262         * tests/test-mbspbrk.c: Likewise.
84263         * tests/test-mbspcasecmp.c: Likewise.
84264         * tests/test-mbsrchr.c: Likewise.
84265         * tests/test-mbsspn.c: Likewise.
84266         * tests/test-mbsstr1.c: Likewise.
84267         * tests/test-mbsstr2.c: Likewise.
84268         * tests/test-mbsstr3.c: Likewise.
84269         * tests/test-md5.c: Likewise.
84270         * tests/test-memmem.c: Likewise.
84271         * tests/test-netinet_in.c: Likewise.
84272         * tests/test-open.c: Likewise.
84273         * tests/test-printf-frexp.c: Likewise.
84274         * tests/test-printf-frexpl.c: Likewise.
84275         * tests/test-printf-posix.c: Likewise.
84276         * tests/test-printf-posix.h: Likewise.
84277         * tests/test-rbtree_list.c: Likewise.
84278         * tests/test-rbtree_oset.c: Likewise.
84279         * tests/test-rbtreehash_list.c: Likewise.
84280         * tests/test-read-file.c: Likewise.
84281         * tests/test-rijndael.c: Likewise.
84282         * tests/test-search.c: Likewise.
84283         * tests/test-signbit.c: Likewise.
84284         * tests/test-sleep.c: Likewise.
84285         * tests/test-snprintf-posix.c: Likewise.
84286         * tests/test-snprintf-posix.h: Likewise.
84287         * tests/test-snprintf.c: Likewise.
84288         * tests/test-sprintf-posix.c: Likewise.
84289         * tests/test-sprintf-posix.h: Likewise.
84290         * tests/test-stat-time.c: Likewise.
84291         * tests/test-stdbool.c: Likewise.
84292         * tests/test-stdint.c: Likewise.
84293         * tests/test-stdio.c: Likewise.
84294         * tests/test-stdlib.c: Likewise.
84295         * tests/test-stpncpy.c: Likewise.
84296         * tests/test-strcasestr.c: Likewise.
84297         * tests/test-striconv.c: Likewise.
84298         * tests/test-striconveh.c: Likewise.
84299         * tests/test-striconveha.c: Likewise.
84300         * tests/test-string.c: Likewise.
84301         * tests/test-sys_select.c: Likewise.
84302         * tests/test-sys_socket.c: Likewise.
84303         * tests/test-sys_stat.c: Likewise.
84304         * tests/test-sys_time.c: Likewise.
84305         * tests/test-sysexits.c: Likewise.
84306         * tests/test-time.c: Likewise.
84307         * tests/test-tls.c: Likewise.
84308         * tests/test-trunc.c: Likewise.
84309         * tests/test-truncf.c: Likewise.
84310         * tests/test-truncl.c: Likewise.
84311         * tests/test-unistd.c: Likewise.
84312         * tests/test-vasnprintf-posix.c: Likewise.
84313         * tests/test-vasnprintf-posix2.c: Likewise.
84314         * tests/test-vasnprintf.c: Likewise.
84315         * tests/test-vasprintf-posix.c: Likewise.
84316         * tests/test-vasprintf.c: Likewise.
84317         * tests/test-verify.c: Likewise.
84318         * tests/test-vfprintf-posix.c: Likewise.
84319         * tests/test-vprintf-posix.c: Likewise.
84320         * tests/test-vsnprintf-posix.c: Likewise.
84321         * tests/test-vsnprintf.c: Likewise.
84322         * tests/test-vsprintf-posix.c: Likewise.
84323         * tests/test-wchar.c: Likewise.
84324         * tests/test-wctype.c: Likewise.
84325         * tests/test-wcwidth.c: Likewise.
84326         * tests/test-xstrtol.c: Likewise.
84327         * tests/test-xvasprintf.c: Likewise.
84328         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
84329         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
84330         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
84331         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
84332         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
84333         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
84334         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
84335         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
84336         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
84337         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
84338         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
84339         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
84340         * tests/uniname/test-uninames.c: Likewise.
84341         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
84342         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
84343         * tests/unistdio/test-u16-printf1.h: Likewise.
84344         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
84345         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
84346         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
84347         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
84348         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
84349         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
84350         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
84351         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
84352         * tests/unistdio/test-u32-printf1.h: Likewise.
84353         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
84354         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
84355         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
84356         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
84357         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
84358         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
84359         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
84360         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
84361         * tests/unistdio/test-u8-printf1.h: Likewise.
84362         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
84363         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
84364         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
84365         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
84366         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
84367         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
84368         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
84369         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
84370         * tests/unistdio/test-ulc-printf1.h: Likewise.
84371         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
84372         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
84373         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
84374         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
84375         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
84376         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
84377         * tests/uniwidth/test-u16-strwidth.c: Likewise.
84378         * tests/uniwidth/test-u16-width.c: Likewise.
84379         * tests/uniwidth/test-u32-strwidth.c: Likewise.
84380         * tests/uniwidth/test-u32-width.c: Likewise.
84381         * tests/uniwidth/test-u8-strwidth.c: Likewise.
84382         * tests/uniwidth/test-u8-width.c: Likewise.
84383         * tests/uniwidth/test-uc_width.c: Likewise.
84384         * config/srclist-update: Likewise.
84385         (fixlicense): Update to GPLv3+.
84387         Change copyright notice from LGPLv2.1+ to LGPLv3+.
84388         * tests/test-tsearch.c: Change copyright notice.
84390         Change copyright notice from LGPLv2.0+ to LGPLv3+.
84391         * lib/c-strcaseeq.h: Change copyright notice.
84392         * lib/streq.h: Likewise.
84393         * lib/uniconv.h: Likewise.
84394         * lib/uniconv/u-conv-from-enc.h: Likewise.
84395         * lib/uniconv/u-conv-to-enc.h: Likewise.
84396         * lib/uniconv/u-strconv-from-enc.h: Likewise.
84397         * lib/uniconv/u-strconv-to-enc.h: Likewise.
84398         * lib/uniconv/u16-conv-from-enc.c: Likewise.
84399         * lib/uniconv/u16-conv-to-enc.c: Likewise.
84400         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
84401         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
84402         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
84403         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
84404         * lib/uniconv/u32-conv-from-enc.c: Likewise.
84405         * lib/uniconv/u32-conv-to-enc.c: Likewise.
84406         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
84407         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
84408         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
84409         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
84410         * lib/uniconv/u8-conv-from-enc.c: Likewise.
84411         * lib/uniconv/u8-conv-to-enc.c: Likewise.
84412         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
84413         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
84414         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
84415         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
84416         * lib/uniname.h: Likewise.
84417         * lib/uniname/uniname.c: Likewise.
84418         * lib/unistdio.h: Likewise.
84419         * lib/unistdio/u-asnprintf.h: Likewise.
84420         * lib/unistdio/u-asprintf.h: Likewise.
84421         * lib/unistdio/u-printf-args.c: Likewise.
84422         * lib/unistdio/u-printf-args.h: Likewise.
84423         * lib/unistdio/u-printf-parse.h: Likewise.
84424         * lib/unistdio/u-snprintf.h: Likewise.
84425         * lib/unistdio/u-sprintf.h: Likewise.
84426         * lib/unistdio/u-vasprintf.h: Likewise.
84427         * lib/unistdio/u-vsnprintf.h: Likewise.
84428         * lib/unistdio/u-vsprintf.h: Likewise.
84429         * lib/unistdio/u16-asnprintf.c: Likewise.
84430         * lib/unistdio/u16-asprintf.c: Likewise.
84431         * lib/unistdio/u16-printf-parse.c: Likewise.
84432         * lib/unistdio/u16-snprintf.c: Likewise.
84433         * lib/unistdio/u16-sprintf.c: Likewise.
84434         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
84435         * lib/unistdio/u16-u16-asprintf.c: Likewise.
84436         * lib/unistdio/u16-u16-snprintf.c: Likewise.
84437         * lib/unistdio/u16-u16-sprintf.c: Likewise.
84438         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
84439         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
84440         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
84441         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
84442         * lib/unistdio/u16-vasnprintf.c: Likewise.
84443         * lib/unistdio/u16-vasprintf.c: Likewise.
84444         * lib/unistdio/u16-vsnprintf.c: Likewise.
84445         * lib/unistdio/u16-vsprintf.c: Likewise.
84446         * lib/unistdio/u32-asnprintf.c: Likewise.
84447         * lib/unistdio/u32-asprintf.c: Likewise.
84448         * lib/unistdio/u32-printf-parse.c: Likewise.
84449         * lib/unistdio/u32-snprintf.c: Likewise.
84450         * lib/unistdio/u32-sprintf.c: Likewise.
84451         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
84452         * lib/unistdio/u32-u32-asprintf.c: Likewise.
84453         * lib/unistdio/u32-u32-snprintf.c: Likewise.
84454         * lib/unistdio/u32-u32-sprintf.c: Likewise.
84455         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
84456         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
84457         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
84458         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
84459         * lib/unistdio/u32-vasnprintf.c: Likewise.
84460         * lib/unistdio/u32-vasprintf.c: Likewise.
84461         * lib/unistdio/u32-vsnprintf.c: Likewise.
84462         * lib/unistdio/u32-vsprintf.c: Likewise.
84463         * lib/unistdio/u8-asnprintf.c: Likewise.
84464         * lib/unistdio/u8-asprintf.c: Likewise.
84465         * lib/unistdio/u8-printf-parse.c: Likewise.
84466         * lib/unistdio/u8-snprintf.c: Likewise.
84467         * lib/unistdio/u8-sprintf.c: Likewise.
84468         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
84469         * lib/unistdio/u8-u8-asprintf.c: Likewise.
84470         * lib/unistdio/u8-u8-snprintf.c: Likewise.
84471         * lib/unistdio/u8-u8-sprintf.c: Likewise.
84472         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
84473         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
84474         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
84475         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
84476         * lib/unistdio/u8-vasnprintf.c: Likewise.
84477         * lib/unistdio/u8-vasprintf.c: Likewise.
84478         * lib/unistdio/u8-vsnprintf.c: Likewise.
84479         * lib/unistdio/u8-vsprintf.c: Likewise.
84480         * lib/unistdio/ulc-asnprintf.c: Likewise.
84481         * lib/unistdio/ulc-asprintf.c: Likewise.
84482         * lib/unistdio/ulc-printf-parse.c: Likewise.
84483         * lib/unistdio/ulc-snprintf.c: Likewise.
84484         * lib/unistdio/ulc-sprintf.c: Likewise.
84485         * lib/unistdio/ulc-vasnprintf.c: Likewise.
84486         * lib/unistdio/ulc-vasprintf.c: Likewise.
84487         * lib/unistdio/ulc-vsnprintf.c: Likewise.
84488         * lib/unistdio/ulc-vsprintf.c: Likewise.
84489         * lib/unistr.h: Likewise.
84490         * lib/unistr/u-cpy-alloc.h: Likewise.
84491         * lib/unistr/u-cpy.h: Likewise.
84492         * lib/unistr/u-endswith.h: Likewise.
84493         * lib/unistr/u-move.h: Likewise.
84494         * lib/unistr/u-set.h: Likewise.
84495         * lib/unistr/u-startswith.h: Likewise.
84496         * lib/unistr/u-stpcpy.h: Likewise.
84497         * lib/unistr/u-stpncpy.h: Likewise.
84498         * lib/unistr/u-strcat.h: Likewise.
84499         * lib/unistr/u-strcpy.h: Likewise.
84500         * lib/unistr/u-strcspn.h: Likewise.
84501         * lib/unistr/u-strdup.h: Likewise.
84502         * lib/unistr/u-strlen.h: Likewise.
84503         * lib/unistr/u-strncat.h: Likewise.
84504         * lib/unistr/u-strncpy.h: Likewise.
84505         * lib/unistr/u-strnlen.h: Likewise.
84506         * lib/unistr/u-strpbrk.h: Likewise.
84507         * lib/unistr/u-strspn.h: Likewise.
84508         * lib/unistr/u-strstr.h: Likewise.
84509         * lib/unistr/u-strtok.h: Likewise.
84510         * lib/unistr/u16-check.c: Likewise.
84511         * lib/unistr/u16-chr.c: Likewise.
84512         * lib/unistr/u16-cmp.c: Likewise.
84513         * lib/unistr/u16-cpy-alloc.c: Likewise.
84514         * lib/unistr/u16-cpy.c: Likewise.
84515         * lib/unistr/u16-endswith.c: Likewise.
84516         * lib/unistr/u16-mblen.c: Likewise.
84517         * lib/unistr/u16-mbsnlen.c: Likewise.
84518         * lib/unistr/u16-mbtouc-aux.c: Likewise.
84519         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
84520         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
84521         * lib/unistr/u16-mbtouc.c: Likewise.
84522         * lib/unistr/u16-mbtoucr.c: Likewise.
84523         * lib/unistr/u16-move.c: Likewise.
84524         * lib/unistr/u16-next.c: Likewise.
84525         * lib/unistr/u16-prev.c: Likewise.
84526         * lib/unistr/u16-set.c: Likewise.
84527         * lib/unistr/u16-startswith.c: Likewise.
84528         * lib/unistr/u16-stpcpy.c: Likewise.
84529         * lib/unistr/u16-stpncpy.c: Likewise.
84530         * lib/unistr/u16-strcat.c: Likewise.
84531         * lib/unistr/u16-strchr.c: Likewise.
84532         * lib/unistr/u16-strcmp.c: Likewise.
84533         * lib/unistr/u16-strcpy.c: Likewise.
84534         * lib/unistr/u16-strcspn.c: Likewise.
84535         * lib/unistr/u16-strdup.c: Likewise.
84536         * lib/unistr/u16-strlen.c: Likewise.
84537         * lib/unistr/u16-strmblen.c: Likewise.
84538         * lib/unistr/u16-strmbtouc.c: Likewise.
84539         * lib/unistr/u16-strncat.c: Likewise.
84540         * lib/unistr/u16-strncmp.c: Likewise.
84541         * lib/unistr/u16-strncpy.c: Likewise.
84542         * lib/unistr/u16-strnlen.c: Likewise.
84543         * lib/unistr/u16-strpbrk.c: Likewise.
84544         * lib/unistr/u16-strrchr.c: Likewise.
84545         * lib/unistr/u16-strspn.c: Likewise.
84546         * lib/unistr/u16-strstr.c: Likewise.
84547         * lib/unistr/u16-strtok.c: Likewise.
84548         * lib/unistr/u16-to-u32.c: Likewise.
84549         * lib/unistr/u16-to-u8.c: Likewise.
84550         * lib/unistr/u16-uctomb-aux.c: Likewise.
84551         * lib/unistr/u16-uctomb.c: Likewise.
84552         * lib/unistr/u32-check.c: Likewise.
84553         * lib/unistr/u32-chr.c: Likewise.
84554         * lib/unistr/u32-cmp.c: Likewise.
84555         * lib/unistr/u32-cpy-alloc.c: Likewise.
84556         * lib/unistr/u32-cpy.c: Likewise.
84557         * lib/unistr/u32-endswith.c: Likewise.
84558         * lib/unistr/u32-mblen.c: Likewise.
84559         * lib/unistr/u32-mbsnlen.c: Likewise.
84560         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
84561         * lib/unistr/u32-mbtouc.c: Likewise.
84562         * lib/unistr/u32-mbtoucr.c: Likewise.
84563         * lib/unistr/u32-move.c: Likewise.
84564         * lib/unistr/u32-next.c: Likewise.
84565         * lib/unistr/u32-prev.c: Likewise.
84566         * lib/unistr/u32-set.c: Likewise.
84567         * lib/unistr/u32-startswith.c: Likewise.
84568         * lib/unistr/u32-stpcpy.c: Likewise.
84569         * lib/unistr/u32-stpncpy.c: Likewise.
84570         * lib/unistr/u32-strcat.c: Likewise.
84571         * lib/unistr/u32-strchr.c: Likewise.
84572         * lib/unistr/u32-strcmp.c: Likewise.
84573         * lib/unistr/u32-strcpy.c: Likewise.
84574         * lib/unistr/u32-strcspn.c: Likewise.
84575         * lib/unistr/u32-strdup.c: Likewise.
84576         * lib/unistr/u32-strlen.c: Likewise.
84577         * lib/unistr/u32-strmblen.c: Likewise.
84578         * lib/unistr/u32-strmbtouc.c: Likewise.
84579         * lib/unistr/u32-strncat.c: Likewise.
84580         * lib/unistr/u32-strncmp.c: Likewise.
84581         * lib/unistr/u32-strncpy.c: Likewise.
84582         * lib/unistr/u32-strnlen.c: Likewise.
84583         * lib/unistr/u32-strpbrk.c: Likewise.
84584         * lib/unistr/u32-strrchr.c: Likewise.
84585         * lib/unistr/u32-strspn.c: Likewise.
84586         * lib/unistr/u32-strstr.c: Likewise.
84587         * lib/unistr/u32-strtok.c: Likewise.
84588         * lib/unistr/u32-to-u16.c: Likewise.
84589         * lib/unistr/u32-to-u8.c: Likewise.
84590         * lib/unistr/u32-uctomb.c: Likewise.
84591         * lib/unistr/u8-check.c: Likewise.
84592         * lib/unistr/u8-chr.c: Likewise.
84593         * lib/unistr/u8-cmp.c: Likewise.
84594         * lib/unistr/u8-cpy-alloc.c: Likewise.
84595         * lib/unistr/u8-cpy.c: Likewise.
84596         * lib/unistr/u8-endswith.c: Likewise.
84597         * lib/unistr/u8-mblen.c: Likewise.
84598         * lib/unistr/u8-mbsnlen.c: Likewise.
84599         * lib/unistr/u8-mbtouc-aux.c: Likewise.
84600         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
84601         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
84602         * lib/unistr/u8-mbtouc.c: Likewise.
84603         * lib/unistr/u8-mbtoucr.c: Likewise.
84604         * lib/unistr/u8-move.c: Likewise.
84605         * lib/unistr/u8-next.c: Likewise.
84606         * lib/unistr/u8-prev.c: Likewise.
84607         * lib/unistr/u8-set.c: Likewise.
84608         * lib/unistr/u8-startswith.c: Likewise.
84609         * lib/unistr/u8-stpcpy.c: Likewise.
84610         * lib/unistr/u8-stpncpy.c: Likewise.
84611         * lib/unistr/u8-strcat.c: Likewise.
84612         * lib/unistr/u8-strchr.c: Likewise.
84613         * lib/unistr/u8-strcmp.c: Likewise.
84614         * lib/unistr/u8-strcpy.c: Likewise.
84615         * lib/unistr/u8-strcspn.c: Likewise.
84616         * lib/unistr/u8-strdup.c: Likewise.
84617         * lib/unistr/u8-strlen.c: Likewise.
84618         * lib/unistr/u8-strmblen.c: Likewise.
84619         * lib/unistr/u8-strmbtouc.c: Likewise.
84620         * lib/unistr/u8-strncat.c: Likewise.
84621         * lib/unistr/u8-strncmp.c: Likewise.
84622         * lib/unistr/u8-strncpy.c: Likewise.
84623         * lib/unistr/u8-strnlen.c: Likewise.
84624         * lib/unistr/u8-strpbrk.c: Likewise.
84625         * lib/unistr/u8-strrchr.c: Likewise.
84626         * lib/unistr/u8-strspn.c: Likewise.
84627         * lib/unistr/u8-strstr.c: Likewise.
84628         * lib/unistr/u8-strtok.c: Likewise.
84629         * lib/unistr/u8-to-u16.c: Likewise.
84630         * lib/unistr/u8-to-u32.c: Likewise.
84631         * lib/unistr/u8-uctomb-aux.c: Likewise.
84632         * lib/unistr/u8-uctomb.c: Likewise.
84633         * lib/unitypes.h: Likewise.
84634         * lib/uniwidth.h: Likewise.
84635         * lib/uniwidth/cjk.h: Likewise.
84636         * lib/uniwidth/u16-strwidth.c: Likewise.
84637         * lib/uniwidth/u16-width.c: Likewise.
84638         * lib/uniwidth/u32-strwidth.c: Likewise.
84639         * lib/uniwidth/u32-width.c: Likewise.
84640         * lib/uniwidth/u8-strwidth.c: Likewise.
84641         * lib/uniwidth/u8-width.c: Likewise.
84642         * lib/uniwidth/width.c: Likewise.
84644 2007-10-07  Bruno Haible  <bruno@clisp.org>
84646         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
84647         The file is still under LGPL (see modules/inttypes).
84649 2007-10-06  Bruno Haible  <bruno@clisp.org>
84651         * modules/trunc (Dependencies): Add 'extensions'.
84652         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
84653         Reported by Ben Pfaff <blp@gnu.org>.
84655 2007-10-06  Bruno Haible  <bruno@clisp.org>
84657         * modules/freopen-tests: New file.
84658         * tests/test-freopen.c: New file.
84660         * modules/fopen-tests: New file.
84661         * tests/test-fopen.c: New file.
84663         * modules/fopen: New file.
84664         * lib/fopen.c: New file.
84665         * m4/fopen.m4: New file.
84666         * modules/freopen: New file.
84667         * lib/freopen.c: New file.
84668         * m4/freopen.m4: New file.
84669         * lib/stdio.in.h (fopen, freopen): New declarations.
84670         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
84671         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84672         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
84673         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
84674         * doc/functions/fopen.texi: Mention the 'fopen' module.
84675         * doc/functions/freopen.texi: Mention the 'freopen' module.
84677 2007-10-06  Bruno Haible  <bruno@clisp.org>
84679         * modules/open-tests: New file.
84680         * tests/test-open.c: New file.
84682         * modules/open: New file.
84683         * lib/open.c: New file.
84684         * m4/open.m4: New file.
84685         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
84686         lib/open.c does.
84687         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
84688         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
84689         macros.
84690         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
84691         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
84692         REPLACE_OPEN.
84693         * doc/functions/open.texi: Mention the 'open' module.
84695 2007-10-04  Bruno Haible  <bruno@clisp.org>
84697         * modules/ceill-tests: New file.
84698         * tests/test-ceill.c: New file.
84700         * modules/ceill: New file.
84701         * lib/ceill.c: Replace entire file.
84702         * m4/ceill.m4: New file.
84703         * lib/math.in.h (ceill): Replace declaration.
84704         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
84705         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
84706         * doc/functions/ceill.texi: Mention the 'ceill' module.
84707         * modules/mathl (Files): Remove lib/ceill.c.
84708         (Depends-on): Add ceill.
84710 2007-10-04  Bruno Haible  <bruno@clisp.org>
84712         * modules/ceilf-tests: New file.
84713         * tests/test-ceilf.c: New file.
84715         * modules/ceilf: New file.
84716         * lib/ceil.c: New file.
84717         * lib/ceilf.c: New file.
84718         * m4/ceilf.m4: New file.
84719         * lib/math.in.h (ceilf): New declaration.
84720         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
84721         HAVE_DECL_CEILF.
84722         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
84723         HAVE_DECL_CEILF.
84724         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
84726 2007-10-04  Bruno Haible  <bruno@clisp.org>
84728         * modules/floorl-tests: New file.
84729         * tests/test-floorl.c: New file.
84731         * modules/floorl: New file.
84732         * lib/floorl.c: Replace entire file.
84733         * m4/floorl.m4: New file.
84734         * lib/math.in.h (floorl): Replace declaration.
84735         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
84736         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
84737         * doc/functions/floorl.texi: Mention the 'floorl' module.
84738         * modules/mathl (Files): Remove lib/floorl.c.
84739         (Depends-on): Add floorl.
84741 2007-10-04  Bruno Haible  <bruno@clisp.org>
84743         * modules/floorf-tests: New file.
84744         * tests/test-floorf.c: New file.
84746         * modules/floorf: New file.
84747         * lib/floor.c: New file.
84748         * lib/floorf.c: New file.
84749         * m4/floorf.m4: New file.
84750         * lib/math.in.h (floorf): New declaration.
84751         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
84752         HAVE_DECL_FLOORF.
84753         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
84754         HAVE_DECL_FLOORF.
84755         * doc/functions/floorf.texi: Mention the 'floorf' module.
84757 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
84758             Bruno Haible  <bruno@clisp.org>
84760         Advertise for the Git server instead of the CVS server.
84761         * doc/gnulib-intro.texi (Steady Development): Mention the Git
84762         repository instead of the CVS one.
84763         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
84764         about all VCS systems generically.
84765         * doc/gnulib.texi (Introduction): Capitalize `Git'.
84767 2007-10-04  Bruno Haible  <bruno@clisp.org>
84769         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
84770         means.
84771         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
84773 2007-10-04  Bruno Haible  <bruno@clisp.org>
84775         * modules/truncl-tests: New file.
84776         * tests/test-truncl.c: New file.
84778         * modules/truncl: New file.
84779         * lib/truncl.c: New file.
84780         * m4/truncl.m4: New file.
84781         * lib/math.in.h (truncl): New declaration.
84782         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
84783         HAVE_DECL_TRUNCL.
84784         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
84785         HAVE_DECL_TRUNCL.
84786         * doc/functions/truncl.texi: Mention the 'truncl' module.
84788 2007-10-04  Bruno Haible  <bruno@clisp.org>
84790         * modules/truncf-tests: New file.
84791         * tests/test-truncf.c: New file.
84793         * modules/truncf: New file.
84794         * lib/trunc.c: Make paramerizable through USE_* macros.
84795         * lib/truncf.c: New file.
84796         * m4/truncf.m4: New file.
84797         * lib/math.in.h (truncf): New declaration.
84798         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
84799         HAVE_DECL_TRUNCF.
84800         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
84801         HAVE_DECL_TRUNCF.
84802         * doc/functions/truncf.texi: Mention the 'truncf' module.
84804 2007-10-03  Bruno Haible  <bruno@clisp.org>
84806         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
84807         augmentation also for tests modules.
84808         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
84809         * modules/atexit-tests (Makefile.am): Likewise.
84810         * modules/binary-io-tests (Makefile.am): Likewise.
84811         * modules/c-strcase-tests (Makefile.am): Likewise.
84812         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
84813         * modules/canonicalize-tests (Makefile.am): Likewise.
84814         * modules/closein-tests (Makefile.am): Likewise.
84815         * modules/fprintf-posix-tests (Makefile.am): Likewise.
84816         * modules/freadahead-tests (Makefile.am): Likewise.
84817         * modules/fseek-tests (Makefile.am): Likewise.
84818         * modules/fseeko-tests (Makefile.am): Likewise.
84819         * modules/ftell-tests (Makefile.am): Likewise.
84820         * modules/ftello-tests (Makefile.am): Likewise.
84821         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
84822         * modules/isnanl-tests (Makefile.am): Likewise.
84823         * modules/lseek-tests (Makefile.am): Likewise.
84824         * modules/mbscasecmp-tests (Makefile.am): Likewise.
84825         * modules/mbscasestr-tests (Makefile.am): Likewise.
84826         * modules/mbschr-tests (Makefile.am): Likewise.
84827         * modules/mbscspn-tests (Makefile.am): Likewise.
84828         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
84829         * modules/mbspbrk-tests (Makefile.am): Likewise.
84830         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
84831         * modules/mbsrchr-tests (Makefile.am): Likewise.
84832         * modules/mbsspn-tests (Makefile.am): Likewise.
84833         * modules/mbsstr-tests (Makefile.am): Likewise.
84834         * modules/printf-posix-tests (Makefile.am): Likewise.
84835         * modules/snprintf-posix-tests (Makefile.am): Likewise.
84836         * modules/sprintf-posix-tests (Makefile.am): Likewise.
84837         * modules/tsearch-tests (Makefile.am): Likewise.
84838         * modules/uniname/uniname-tests (Makefile.am): Likewise.
84839         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
84840         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
84841         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
84842         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
84843         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
84844         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
84845         * modules/vprintf-posix-tests (Makefile.am): Likewise.
84846         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
84847         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
84848         * modules/xstrtoimax-tests (Makefile.am): Likewise.
84849         * modules/xstrtol-tests (Makefile.am): Likewise.
84850         * modules/xstrtoumax-tests (Makefile.am): Likewise.
84851         * modules/yesno-tests (Makefile.am): Likewise.
84853 2007-10-03  Bruno Haible  <bruno@clisp.org>
84855         * modules/trunc-tests: New file.
84856         * tests/test-trunc.c: New file.
84858         * modules/trunc: New file.
84859         * lib/trunc.c: New file.
84860         * m4/trunc.m4: New file.
84861         * lib/math.in.h (trunc): New declaration.
84862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
84863         HAVE_DECL_TRUNC.
84864         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
84865         HAVE_DECL_TRUNC.
84866         * doc/functions/trunc.texi: Mention the 'trunc' module.
84868 2007-10-03  Bruno Haible  <bruno@clisp.org>
84870         * tests/test-fpending.c: New file, mostly copied
84871         from coreutils/lib/t-fpending.c.
84872         * modules/fpending-tests: New file.
84874 2007-10-03  Bruno Haible  <bruno@clisp.org>
84876         Port the stdio extensions to QNX (untested).
84877         * lib/fseterr.c (fseterr): Add support for QNX.
84878         * lib/fbufmode.c (fbufmode): Likewise.
84879         * lib/freadable.c (freadable): Likewise.
84880         * lib/fwritable.c (fwritable): Likewise.
84881         * lib/freading.c (freading): Likewise.
84882         * lib/fwriting.c (fwriting): Likewise.
84883         * lib/freadahead.c (freadahed): Likewise.
84884         * lib/fpurge.c (fpurge): Likewise.
84885         * lib/fseeko.c (rpl_fseeko): Likewise.
84887 2007-10-03  Bruno Haible  <bruno@clisp.org>
84888             Jim Meyering  <jim@meyering.net>
84889             Eric Blake  <ebb9@byu.net>
84891         * doc/relocatable.texi: Use @command instead of @program.
84893 2007-10-02  Jim Meyering  <jim@meyering.net>
84895         Perform one more "_.h" -> ".in.h" substitution.
84896         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
84897         instead of unistd_.h here, too.
84899 2007-10-01  Bruno Haible  <bruno@clisp.org>
84901         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
84902         Needed for the alloca-opt module.
84904 2007-09-30  Bruno Haible  <bruno@clisp.org>
84906         * lib/alloca.in.h: Renamed from lib/alloca_.h.
84907         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
84908         alloca_.h.
84909         * lib/argz.in.h: Renamed from lib/argz_.h.
84910         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
84911         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
84912         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
84913         byteswap_.h.
84914         * lib/dirent.in.h: Renamed from lib/dirent_.h.
84915         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
84916         dirent_.h.
84917         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
84918         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
84919         fcntl_.h.
84920         * lib/float.in.h: Renamed from lib/float_.h.
84921         * modules/float (Files, Makefile.am): Use float.in.h instead of
84922         float_.h.
84923         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
84924         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
84925         fnmatch_.h.
84926         * lib/getopt.in.h: Renamed from lib/getopt_.h.
84927         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
84928         getopt_.h.
84929         * lib/glob.in.h: Renamed from lib/glob_.h.
84930         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
84931         * lib/iconv.in.h: Renamed from lib/iconv_.h.
84932         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
84933         iconv_.h.
84934         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
84935         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
84936         inttypes_.h.
84937         * lib/locale.in.h: Renamed from lib/locale_.h.
84938         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
84939         locale_.h.
84940         * lib/math.in.h: Renamed from lib/math_.h.
84941         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
84942         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
84943         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
84944         of netinet_in_.h. Add dependency.
84945         * lib/poll.in.h: Renamed from lib/poll_.h.
84946         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
84947         * lib/search.in.h: Renamed from lib/search_.h.
84948         * modules/search (Files, Makefile.am): Use search.in.h instead of
84949         search_.h.
84950         * lib/signal.in.h: Renamed from lib/signal_.h.
84951         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
84952         _signal.h.
84953         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
84954         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
84955         stdbool_.h.
84956         * lib/stdint.in.h: Renamed from lib/stdint_.h.
84957         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
84958         stdint_.h.
84959         * lib/stdio.in.h: Renamed from lib/stdio_.h.
84960         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
84961         stdio_.h.
84962         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
84963         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
84964         stdlib_.h.
84965         * lib/string.in.h: Renamed from lib/string_.h.
84966         * modules/string (Files, Makefile.am): Use string.in.h instead of
84967         string_.h.
84968         * doc/gnulib-tool.texi (Initial import): Update.
84969         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
84970         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
84971         of sys_select_.h. Add dependency.
84972         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
84973         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
84974         of sys_socket_.h.
84975         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
84976         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
84977         sys_stat_.h.
84978         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
84979         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
84980         sys_time_.h.
84981         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
84982         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
84983         sysexits_.h.
84984         * lib/time.in.h: Renamed from lib/time_.h.
84985         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
84986         * lib/unistd.in.h: Renamed from lib/unistd_.h.
84987         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
84988         unistd_.h.
84989         * lib/wchar.in.h: Renamed from lib/wchar_.h.
84990         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
84991         wchar_.h.
84992         * lib/wctype.in.h: Renamed from lib/wctype_.h.
84993         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
84994         wctype_.h.
84995         * build-aux/bootstrap (slurp): Update.
84996         * lib/.cppi-disable: Update.
84998 2007-09-30  Bruno Haible  <bruno@clisp.org>
85000         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
85001         Needed on BeOS.
85003 2007-09-30  Bruno Haible  <bruno@clisp.org>
85005         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
85007 2007-09-29  Bruno Haible  <bruno@clisp.org>
85009         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
85011 2007-09-29  Bruno Haible  <bruno@clisp.org>
85013         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
85014         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
85015         * build-aux/install-reloc: Compile also areadlink.c.
85016         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
85018 2007-09-29  Bruno Haible  <bruno@clisp.org>
85020         * gnulib-tool (func_emit_initmacro_done): Indentation.
85022 2007-09-29  Bruno Haible  <bruno@clisp.org>
85024         * README: Add CVS checkout update instructions.
85025         Info from Bob Proulx <bob@proulx.com>.
85027 2007-09-28  Eric Blake  <ebb9@byu.net>
85029         Provide move-if-change.
85030         * build-aux/move-if-change: New file, based on best practice
85031         rather than any canonical upstream location.
85033 2007-09-28  Jim Meyering  <jim@meyering.net>
85035         Fix canonicalize loop-detection corner case.
85036         Do not attempt to stat the symlink values stored via seen_triple.
85037         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
85038         on linux-2.6.18, (but not 2.6.22).
85039         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
85040         triple_compare.  The former compares dev,ino,filename, while the latter
85041         would actually stat dirname(filename) when dev and ino were equal.
85042         * lib/hash-triple.c: Install <string.h>.
85043         (STREQ): Define.
85044         (triple_compare_ino_str): New function.
85045         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
85047 2007-09-28  Eric Blake  <ebb9@byu.net>
85049         Enforce that AC_REPLACE_FUNCS files exist.
85050         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
85051         override check for typos.
85053         Fix test-closein on Solaris 10.
85054         * tests/test-closein.c (main): Don't assume stdin can be inherited
85055         closed on all systems.
85056         * tests/test-closein.sh: Likewise.
85057         Reported by Piotr Tarnowski.
85059 2007-09-28  Jim Meyering  <jim@meyering.net>
85061         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
85063 2007-09-27  Jim Meyering  <jim@meyering.net>
85065         canonicalize: Avoid a false-positive cycle failure.
85066         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
85067         Sort.  Remove cycle-check.
85068         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
85069         not cycle-check.h.
85070         (seen_triple): New function.
85071         (canonicalize_filename_mode): Use it instead of cycle-check.
85072         * tests/test-canonicalize.c: Add a test for this bug.
85073         * tests/test-canonicalize.sh: Set up and run the test.
85075         New module, file-set, from coreutils.
85076         * modules/file-set: Define it.
85077         * lib/file-set.c, lib/file-set.h: Implement.
85079         New module, hash-triple, from coreutils.
85080         * modules/hash-triple: Define it.
85081         * lib/hash-triple.c, lib/hash-triple.h: Implement.
85083 2007-09-25  Eric Blake  <ebb9@byu.net>
85085         Fix strerror on Interix.
85086         * lib/string_.h (strerror): Declare replacement.
85087         * doc/functions/strerror.texi (strerror): Document the Interix
85088         shortcoming.
85089         * modules/string (Makefile.am): Support new hooks.
85090         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
85091         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
85092         gl_FUNC_STRERROR_SEPARATE.
85093         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
85094         * lib/strerror.c (rpl_strerror): Provide replacement.
85095         * modules/strerror (Depends-on): Add string.
85096         (configure.ac): Detect use of module.
85097         * tests/test-strerror.c: New file.
85098         * modules/strerror-tests: New test module.
85099         * modules/argp (Depends-on): Add strerror.
85100         * modules/error (Depends-on): Likewise.
85101         Reported by Martin Koeppe.
85103 2007-09-24  Bruno Haible  <bruno@clisp.org>
85105         * README: Update git instructions.
85107 2007-09-24  Eric Blake  <ebb9@byu.net>
85109         Revert fpending breakage from 2007-09-08.
85110         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
85111         __fpending.c.
85113 2007-09-24  Jim Meyering  <jim@meyering.net>
85115         filenamecat.c: Add a test.
85116         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
85117         showing how the function works when DIR is the empty string.
85119 2007-09-21  Simon Josefsson  <simon@josefsson.org>
85121         * tests/test-canonicalize.sh: Turn on executable bit.
85123 2007-09-19  Eric Blake  <ebb9@byu.net>
85125         * README: Update CVS instructions.
85127 2007-09-18  Bruno Haible  <bruno@clisp.org>
85129         * modules/areadlink: New file.
85130         * lib/areadlink.h (areadlink): New declaration.
85131         * lib/areadlink.c: New file, based on lib/xreadlink.c.
85133 2007-09-17  Jim Meyering  <jim@meyering.net>
85135         * lib/savewd.c (ESTALE) [!defined]: Define.
85136         Reported to be required on Interix by Martin Koeppe.
85138 2007-09-17  Bruno Haible  <bruno@clisp.org>
85140         * gnulib-tool (func_version): Use $version.
85142 2007-09-16  Bruno Haible  <bruno@clisp.org>
85144         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
85145         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
85146         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
85147         Reported by Greg Schafer <gschafer@zip.com.au>.
85149 2007-09-15  Bruno Haible  <bruno@clisp.org>
85151         * gnulib-tool (sed): Try a little harder to make bash understand the
85152         alias.
85153         Reported by Bruce Korb <bruce.korb@gmail.com>.
85155 2007-09-13  Eric Blake  <ebb9@byu.net>
85157         * ChangeLog: Remove conflict markers.
85159 2007-09-13  Simon Josefsson  <simon@josefsson.org>
85161         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
85162         Reported by Bruno Haible <bruno@clisp.org>.
85164 2007-09-12  Bruno Haible  <bruno@clisp.org>
85166         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
85167         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
85168         is not defined.
85170 2007-09-12  Eric Blake  <ebb9@byu.net>
85172         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
85173         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
85174         Autoconf definition.
85175         * modules/euidaccess (Depends-on): Add extensions, for
85176         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
85177         * modules/fnmatch (Depends-on): Likewise.
85178         * modules/getaddrinfo (Depends-on): Likewise.
85179         * modules/getdelim (Depends-on): Likewise.
85180         * modules/getline (Depends-on): Likewise.
85181         * modules/getsubopt (Depends-on): Likewise.
85182         * modules/gettext (Depends-on): Likewise.
85183         * modules/group-member (Depends-on): Likewise.
85184         * modules/mbchar (Depends-on): Likewise.
85185         * modules/memmem (Depends-on): Likewise.
85186         * modules/mempcpy (Depends-on): Likewise.
85187         * modules/memrchr (Depends-on): Likewise.
85188         * modules/pagealign_alloc (Depends-on): Likewise.
85189         * modules/readutmp (Depends-on): Likewise.
85190         * modules/stpcpy (Depends-on): Likewise.
85191         * modules/stpncpy (Depends-on): Likewise.
85192         * modules/strchrnul (Depends-on): Likewise.
85193         * modules/strndup (Depends-on): Likewise.
85194         * modules/strsep (Depends-on): Likewise.
85195         * modules/strverscmp (Depends-on): Likewise.
85196         * modules/vasprintf (Depends-on): Likewise.
85197         * modules/wcwidth (Depends-on): Likewise.
85198         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
85199         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
85200         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
85201         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
85202         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
85203         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85204         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
85205         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
85206         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
85207         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
85208         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
85209         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
85210         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
85211         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
85212         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
85213         * m4/readutmp.m4 (gl_READUTMP): Likewise.
85214         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
85215         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
85216         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
85217         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
85218         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
85219         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
85220         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
85221         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
85222         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
85223         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
85224         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
85225         so that lock.m4 can be used in gettext without extensions module.
85227 2007-09-11  Bruno Haible  <bruno@clisp.org>
85229         * m4/isc-posix.m4: Remove file.
85230         Suggested by Eric Blake.
85232 2007-09-11  Eric Blake  <ebb9@byu.net>
85234         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
85236 2007-09-10  Bruno Haible  <bruno@clisp.org>
85238         * posix-modules: Fix typo in error message.
85239         Reported by Matt <mkraai@beckman.com>.
85241 2007-09-09  Bruno Haible  <bruno@clisp.org>
85243         * doc/functions/getdelim.texi: Update list of platforms lacking the
85244         function.
85245         * doc/functions/getline.texi: Likewise.
85247 2007-09-09  Jim Meyering  <jim@meyering.net>
85249         * lib/hash.c (hash_initialize): Detect calloc failure.
85250         Reported by Bruno Haible.
85252 2007-09-09  Bruno Haible  <bruno@clisp.org>
85254         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
85255         malloc or realloc fails.
85257 2007-09-09  Bruno Haible  <bruno@clisp.org>
85259         * modules/getcwd (Depends-on): Add malloc-posix.
85260         * modules/glob (Depends-on): Likewise.
85261         * modules/putenv (Depends-on): Likewise.
85262         * modules/strdup (Depends-on): Likewise.
85263         * modules/getdelim (Depends-on): Add realloc-posix.
85264         * modules/read-file (Depends-on): Likewise.
85266 2007-09-09  Bruno Haible  <bruno@clisp.org>
85268         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
85269         (gl_FUNC_MALLOC_POSIX): Require it.
85270         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
85271         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
85272         * modules/realloc (Files): Add m4/malloc.m4.
85273         * modules/calloc (Files): Likewise.
85275 2007-09-09  Bruno Haible  <bruno@clisp.org>
85277         * modules/malloc-posix: New file.
85278         * modules/malloc (Depends-on): Add malloc-posix.
85279         * lib/malloc.c: Include errno.h.
85280         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
85281         and a POSIX-compatible malloc into a single function. Set ENOMEM
85282         when returning NULL.
85283         * m4/malloc.m4: New file.
85284         * doc/functions/malloc.texi: Mention the malloc-posix module.
85285         * lib/stdlib_.h (malloc): New declaration.
85286         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85287         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
85288         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
85289         and HAVE_MALLOC_POSIX.
85291 2007-09-09  Bruno Haible  <bruno@clisp.org>
85293         * modules/realloc-posix: New file.
85294         * modules/realloc (Depends-on): Add realloc-posix.
85295         * lib/realloc.c: Include errno.h.
85296         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
85297         and a POSIX-compatible realloc into a single function. Set ENOMEM
85298         when returning NULL.
85299         * m4/realloc.m4: New file.
85300         * doc/functions/realloc.texi: Mention the realloc-posix module.
85301         * lib/stdlib_.h (realloc): New declaration.
85302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85303         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
85304         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
85305         and HAVE_REALLOC_POSIX.
85307 2007-09-09  Bruno Haible  <bruno@clisp.org>
85309         * modules/calloc-posix: New file.
85310         * modules/calloc (Depends-on): Add calloc-posix.
85311         * lib/calloc.c: Include errno.h.
85312         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
85313         and a POSIX-compatible calloc into a single function. Set ENOMEM
85314         when returning NULL.
85315         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
85316         * doc/functions/calloc.texi: Mention the calloc-posix module.
85317         * lib/stdlib_.h (calloc): New declaration.
85318         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
85319         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
85320         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
85321         and HAVE_CALLOC_POSIX.
85323 2007-09-09  Bruno Haible  <bruno@clisp.org>
85325         Allow for modules to show an arbitrary notice.
85326         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
85327         * gnulib-tool: New option --extract-notice.
85328         (func_usage): Document it.
85329         (sed_extract_prog): Update.
85330         (func_get_notice): New function.
85331         (func_modules_notice): New function.
85332         (func_import, func_create_testdir): Invoke it.
85333         Suggested by Jim Meyering.
85335 2007-09-09  Bruno Haible  <bruno@clisp.org>
85337         * gnulib-tool: New options --verbose, --quiet.
85338         (func_usage): Document them.
85339         (verbose): New variable.
85340         (func_execute_command): New function.
85341         (func_import): Don't show the module list and the file list if
85342         $verbose < 0.
85343         (func_create_testdir): Likewise. Use func_execute_command.
85344         (func_create_megatestdir): Use func_execute_command.
85346 2007-09-08  Bruno Haible  <bruno@clisp.org>
85348         * gnulib-tool (func_import): Prefer rsync over wget when available,
85349         for fetching the PO files.
85351 2007-09-08  Bruno Haible  <bruno@clisp.org>
85353         * posix-modules: New file. Portions copied from gnulib-tool.
85354         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
85356 2007-09-08  Jim Meyering  <jim@meyering.net>
85358         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
85359         * lib/fpending.h: Rename from __fpending.h.
85360         * lib/fpending.c: Rename from __fpending.c.
85361         Include "fpending.h", not "__fpending.h".
85362         * lib/__fpending.h, lib/__fpending.c: Remove files.
85363         * modules/fpending (Files): Reflect new file names.
85364         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
85366 2007-09-08  Bruno Haible  <bruno@clisp.org>
85368         * m4/inttypes-h.m4: Remove stub file.
85370 2007-09-07  Simon Josefsson  <simon@josefsson.org>
85372         * doc/headers/stdint.texi: Discuss #include_next issue.
85374 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85376         * build-aux/bootstrap: Remove obsolete comment about wget --help.
85378 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85380         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
85381         in variable name.
85383 2007-09-03  Jim Meyering  <jim@meyering.net>
85385         New module: git-version-gen.
85386         * modules/git-version-gen: New file.
85388         Import changes from coreutils for bootstrap script.
85390         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
85392         bootstrap: uses rsync to download the .po files
85393         * build-aux/bootstrap (po_download_command_format): New global.
85394         (download_po_files): Use rsync.
85395         (update_po_files): Don't remove .po files after download,
85396         so future rsync runs can take advantage of the copies.
85398         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
85400         Solve the unnecessary-.po-file-regeneration problem once and for all.
85401         * build-aux/bootstrap (download_po_files): New function, renamed from
85402         get_translations.  Now, downloads, but doesn't update LINGUAS.
85403         (update_po_files): New function.
85405         bootstrap: Ignore more.
85406         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
85407         uniwidth to e.g., lib/.gitignore.
85408         (slurp): Handle the sys_stat_.h -> sys mapping, too.
85410         * build-aux/bootstrap: New setting: vc_ignore.
85411         (insert_sorted_if_absent): Create $file if absent.
85412         Adapt to new, possibly empty, list: $vc_ignore.
85414         bootstrap: generate more ignorable names
85415         * build-aux/bootstrap (slurp): When generating ignorable names,
85416         also map .sin to .sed, .gperf to .c, and .y to .c.
85418 2007-09-03  Jim Meyering  <jim@meyering.net>
85420         * build-aux/git-version-gen: New file, from coreutils.  For details, see
85421         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
85423 2007-09-02  Bruno Haible  <bruno@clisp.org>
85425         Fix mis-recognition of 'mcs' on QNX 6.
85426         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
85427         output contains the string "Mono".
85428         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
85429         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
85431 2007-09-01  Bruno Haible  <bruno@clisp.org>
85433         Fix collision between uniwidth/* and linebreak modules.
85434         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
85435         u32_width): Remove declarations.
85436         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
85437         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
85438         streq3, streq2, streq1, streq0): Remove functions.
85439         (STREQ): Remove macro.
85440         (is_cjk_encoding): Remove function.
85441         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
85442         (uc_width, u8_width, u16_width, u32_width): Remove functions.
85443         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
85444         * NEWS: Document the change.
85446 2007-09-01  Bruno Haible  <bruno@clisp.org>
85448         * lib/streq.h: Add double-inclusion guard.
85450 2007-09-01  Karl Berry  <karl@gnu.org>
85452         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
85454 2007-08-28  Jim Meyering  <jim@meyering.net>
85456         Rename mreadlink_with_size to areadlink_with_size.
85457         * NEWS: Document the change.
85458         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
85459         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
85460         * lib/mreadlink.h: Rename this to...
85461         * lib/areadlink.h: ...this.
85462         * modules/mreadlink-with-size: Rename this to...
85463         * modules/areadlink-with-size: ...this.
85464         * lib/canonicalize.c: Reflect the renaming.
85465         * modules/canonicalize: Likewise.
85467 2007-08-26  Bruno Haible  <bruno@clisp.org>
85469         * gnulib-tool (func_import): When deciding which files to remove,
85470         consider also dangling symbolic links.
85471         Reported by Eric Blake.
85473 2007-08-26  Bruno Haible  <bruno@clisp.org>
85475         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
85477 2007-08-23  Simon Josefsson  <simon@josefsson.org>
85479         * lib/readline.c: Don't include getline.h, the prototype is now
85480         found in stdio.h.
85482 2007-08-23  Jim Meyering  <jim@meyering.net>
85484         Getdelim touchup.
85485         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
85486         around the funlockfile call, since funlockfile never sets errno.
85487         Don't set errno upon failed realloc.
85489 2007-08-22  Eric Blake  <ebb9@byu.net>
85491         Getline touchups.
85492         * lib/getdelim.c (getdelim): Revert regression that required *n to
85493         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
85494         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
85495         getdelim, rather than whether implementation is missing.
85496         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
85497         * lib/stdio_.h (getline): Also declare if replacement is
85498         required.
85499         * doc/functions/getdelim.texi: New file.
85500         * doc/functions/getline.texi: Likewise.
85501         * doc/gnulib.texi (Function Substitutes): Add new files.
85502         Reported by Bruno Haible.
85504 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
85506         * users.txt: Add Guile.
85508 2007-08-22  Eric Blake  <ebb9@byu.net>
85510         * tests/test-getdelim.c (main): Use remove, not unlink.
85511         * tests/test-getline.c (main): Likewise.
85513         Move getline and getdelim into stdio.h, per POSIX 200x.
85514         * modules/getline (Files): Remove getline.h.
85515         (Depends-on): Add stdio.
85516         (configure.ac): Add module indicator.
85517         * modules/getdelim (Files): Remove getdelim.h.
85518         (Depends-on): Add stdio.
85519         (configure.ac): Add module indicator.
85520         * modules/stdio (Makefile.am): Work with new indicators.
85521         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
85522         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
85523         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
85524         * lib/getdelim.h: Delete.
85525         * lib/getline.h: Delete.
85526         * lib/stdio_.h (getdelim, getline): Declare.
85527         * modules/getdelim-tests: New module.
85528         * modules/getline-tests: Likewise.
85529         * tests/test-getdelim.c: New file.
85530         * tests/test-getline.c: Likewise.
85531         * NEWS: Document the change.
85532         * lib/getline.c: Update choice of header.
85533         * lib/csharpcomp.c: Likewise.
85534         * lib/getpass.c: Likewise.
85535         * lib/javacomp.c: Likewise.
85536         * lib/javaversion.c: Likewise.
85537         * lib/yesno.c: Likewise.
85538         * lib/getdelim.c: Likewise.
85539         (getdelim): Set errno on failure, and avoid memory leak.
85541 2007-08-19  Bruno Haible  <bruno@clisp.org>
85543         * modules/closein (Depends-on): Add freadahead.
85544         * lib/closein.c: Include freadahead.h.
85545         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
85546         is zero.
85548 2007-08-19  Bruno Haible  <bruno@clisp.org>
85550         * modules/freadahead-tests: New file.
85551         * tests/test-freadahead.sh: New file.
85552         * tests/test-freadahead.c: New file.
85554         * modules/freadahead: New file.
85555         * lib/freadahead.h: New file.
85556         * lib/freadahead.c: New file.
85557         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
85558         fbufmode, fpurge, freadable, fwritable.
85560 2007-08-19  Eric Blake  <ebb9@byu.net>
85562         Test yesno in combination with closein.
85563         * lib/yesno.c (yesno): Document use of stdin.
85564         * modules/yesno-tests (Files): New module.
85565         * tests/test-yesno.c (main): New file.
85566         * tests/test-yesno.sh: Likewise.
85568 2007-08-19  Bruno Haible  <bruno@clisp.org>
85570         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
85571         * lib/fseeko.c (rpl_fseeko): Likewise.
85572         * lib/fseterr.c (fseterr): Likewise.
85574 2007-08-19  Bruno Haible  <bruno@clisp.org>
85576         * tests/test-lseek.c (main): Disable a test for BeOS.
85577         * doc/functions/lseek.texi: Document the BeOS bug.
85579 2007-08-19  Bruno Haible  <bruno@clisp.org>
85580             Eric Blake  <ebb9@byu.net>
85582         * lib/lseek.c: Include <sys/stat.h>.
85583         (rpl_lseek): Add workaround code also for Unix platforms.
85584         Needed for BeOS.
85585         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
85586         * doc/functions/lseek.texi: Document BeOS definiency.
85588 2007-08-18  Bruno Haible  <bruno@clisp.org>
85590         * modules/fstrcmp-tests: New file.
85591         * tests/test-fstrcmp.c: New file.
85593 2007-08-18  Bruno Haible  <bruno@clisp.org>
85595         * modules/fstrcmp: New file, from GNU gettext with modifications.
85596         * lib/fstrcmp.h: New file, from GNU gettext.
85597         * lib/fstrcmp.c: New file, from GNU gettext.
85598         * MODULES.html.sh (String handling): Add fstrcmp.
85600 2007-08-18  Bruno Haible  <bruno@clisp.org>
85602         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
85603         'bool'.
85604         (diag, compareseq): Remove const from the ctxt argument.
85605         (USE_HEURISTIC): Undefine at the end.
85607 2007-08-18  Jim Meyering  <jim@meyering.net>
85609         New file: lib/idcache.h
85610         * NEWS: Mention the addition.
85611         * modules/idcache (Files): Add lib/idcache.h
85612         * lib/idcache.c: Include "idcache.h".
85613         Don't include <sys/types.h>.
85614         Add a FIXME comment.
85615         Move file-scoped "static" declarations to the top.
85616         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
85618 2007-08-17  Bruno Haible  <bruno@clisp.org>
85619         and Paul Eggert  <eggert@cs.ucla.edu>
85621         * MODULES.html.sh: Add diffseq.
85622         * modules/diffseq: New file.
85623         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
85624         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
85626 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85628         Import changes from coreutils for bootstrap script.
85630         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
85632         * build-aux/bootstrap (slurp): Work even in environments where
85633         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
85634         current code does not slurp files whose names start with ".", and
85635         this looks like it might be a troublesome area.
85637         2007-07-11  Jim Meyering  <jim@meyering.net>
85639         If there's a GPL vN copyright comment, require that N == 3.
85641         2007-07-08  Jim Meyering  <jim@meyering.net>
85643         Run the coreutils-specific code only if tests/Makefile.am.in exists.
85644         * build-aux/bootstrap (mam_template): Move definition out of loop.
85646         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
85648         * build-aux/bootstrap (symlink_to_dir): Rename function from
85649         symlink_to_gnulib.  Add a directory parameter.  Update all
85650         callers.
85651         (cp_mark_as_generated): Also check for -- and link to -- files in
85652         gl/.
85654         2007-07-08  Jim Meyering  <jim@meyering.net>
85656         Adapt to deeper hierarchy in gnulib.
85657         * build-aux/bootstrap (symlink_to_dir): If the destination
85658         directory doesn't exist, create it. This is required at least for
85659         "lib/uniwidth/cjk.h".
85661         2007-05-15  Jim Meyering  <jim@meyering.net>
85663         * build-aux/bootstrap: Now that generated Makefile.am files
85664         are no longer under version control, they must be created at
85665         bootstrap time.
85667 2007-08-14  Ben Pfaff  <blp@gnu.org>
85669         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
85671 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
85673         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
85674         given the changes below.
85675         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
85676         even on hosts that have padding bits beyond the supported 64.
85678 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
85680         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
85681         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
85682         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
85683         depends on it.
85684         (xstrtol_error): Remove.
85685         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
85686         but with a different signature.
85687         (ATTRIBUTE_NORETURN, __attribute__): New macros.
85688         * lib/xstrtol-error.c: Include exitfail.h.
85689         (xstrtol_fatal): New function, with a different signature from the
85690         old xstrtol_error, so that the caller need not worry about passing
85691         in an exit status, or about storage management of the option argument.
85692         (xstrtol_error): Now a static function.  Redo signature to
85693         implement xstrtol_fatal.  Output the correct number of hyphens in
85694         front of the option so that the caller need not worry about
85695         storage management.
85696         (N_): New macro.
85697         (_): Remove; not used now.
85698         * modules/xstrtol: Depend on getopt.
85699         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
85700         of old STRTOL_FATAL_ERROR macro.
85701         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
85702         of test program.
85703         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
85704         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
85706 2007-08-08  Eric Blake  <ebb9@byu.net>
85708         * lib/xstrtol-error.c: Add missing include.
85710         Move xstrtol messages into gnulib domain, when --pobase is used.
85711         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
85712         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
85713         * modules/xstrtol (Files): Distribute new file.
85714         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
85715         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
85716         * tests/test-xstrtol.c: ...into new file.
85717         * tests/test-xstrtoul.c: Also test xstrtoul.
85718         * tests/test-xstrtoimax.c: Also test xstrtoimax.
85719         * tests/test-xstrtoumax.c: Also test xstrtoumax.
85720         * tests/test-xstrtol.sh: Drive the tests.
85721         * tests/test-xstrtoimax.sh: Likewise.
85722         * tests/test-xstrtoumax.sh: Likewise.
85723         * modules/xstrtol-tests: New module.
85724         * modules/xstrtoimax-tests: Likewise.
85725         * modules/xstrtoumax-tests: Likewise.
85727 2007-08-08  Jim Meyering  <jim@meyering.net>
85729         New function: mfile_name_concat.
85730         * lib/filenamecat.c (mfile_name_concat): New function, just like
85731         file_name_concat, but return NULL upon failure rather than exiting
85732         with a diagnostic.
85733         * lib/filenamecat.h: Declare it.
85735 2007-08-07  Bruno Haible  <bruno@clisp.org>
85737         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
85738         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
85739         warning from gcc.
85740         Reported by Eric Blake.
85742 2007-08-07  Simon Josefsson  <simon@josefsson.org>
85744         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
85745         * modules/crypto/arcfour (License): Likewise.
85746         * modules/crypto/des-tests (License): Likewise.
85747         * modules/crypto/gc-arctwo-tests (License): Likewise.
85748         * modules/crypto/gc-des-tests (License): Likewise.
85749         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
85750         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
85751         * modules/crypto/gc-md2-tests (License): Likewise.
85752         * modules/crypto/gc-md4-tests (License): Likewise.
85753         * modules/crypto/gc-md5-tests (License): Likewise.
85754         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
85755         * modules/crypto/gc-rijndael-tests (License): Likewise.
85756         * modules/crypto/gc-sha1-tests (License): Likewise.
85757         * modules/crypto/gc-tests (License): Likewise.
85758         * modules/crypto/hmac-md5 (License): Likewise.
85759         * modules/crypto/hmac-sha1 (License): Likewise.
85760         * modules/crypto/md2-tests (License): Likewise.
85761         * modules/crypto/md4-tests (License): Likewise.
85762         * modules/crypto/md5 (License): Likewise.
85763         * modules/crypto/rijndael (License): Likewise.
85764         * modules/crypto/sha1 (License): Likewise.
85765         * modules/memxor (License): Likewise.
85767 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
85768         and Bruno Haible  <bruno@clisp.org>
85770         * NEWS: Describe interface changes to human, xstrtol.
85771         * lib/human.h: Include <xstrtol.h>.
85772         (human_options): Return enum strtol_error, not int.  Remove
85773         bool arg; take int * instead.
85774         * lib/human.c: Don't include "gettext.h".
85775         (_): Remove; no longer used.
85776         Don't include <xstrtol.h>, since human.h does it.
85777         (human_options): Adjust to abovementioned interface changes.
85778         Do not report error to stderr; that's now the caller's
85779         responsibility.
85780         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
85781         interface change.
85782         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
85783         Str, Argument_type_string.  All uses changed.  Put " argument"
85784         in diagnostics to make them clearer.  Change wording of suffix
85785         message for clarity.
85786         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
85787         Argument_type_string.
85788         (STRTOL_FATAL_WARN): Remove; no longer used.
85789         * modules/human (Depends-on): Remove gettext-h.
85791 2007-08-06  Simon Josefsson  <simon@josefsson.org>
85793         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
85795 2007-07-31  Bruno Haible  <bruno@clisp.org>
85797         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
85798         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
85799         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
85801 2007-07-31  Bruno Haible  <bruno@clisp.org>
85803         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
85804         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
85806 2007-07-30  Bruno Haible  <bruno@clisp.org>
85808         * modules/base64 (License): Use the synonymous term "LGPLv2+".
85809         * modules/c-ctype (License): Likewise.
85810         * modules/c-strcase (License): Likewise.
85811         * modules/check-version (License): Likewise.
85812         * modules/iconv (License): Likewise.
85813         * modules/iconv_open (License): Likewise.
85814         * modules/read-file (License): Likewise.
85815         * modules/striconv (License): Likewise.
85816         * modules/strverscmp (License): Likewise.
85817         * modules/vasprintf (License): Likewise.
85818         * modules/crypto/des (License): Likewise.
85819         * modules/crypto/gc (License): Likewise.
85820         * modules/crypto/gc-arcfour (License): Likewise.
85821         * modules/crypto/gc-arctwo (License): Likewise.
85822         * modules/crypto/gc-des (License): Likewise.
85823         * modules/crypto/gc-hmac-md5 (License): Likewise.
85824         * modules/crypto/gc-hmac-sha1 (License): Likewise.
85825         * modules/crypto/gc-md2 (License): Likewise.
85826         * modules/crypto/gc-md4 (License): Likewise.
85827         * modules/crypto/gc-md5 (License): Likewise.
85828         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
85829         * modules/crypto/gc-random (License): Likewise.
85830         * modules/crypto/gc-rijndael (License): Likewise.
85831         * modules/crypto/gc-sha1 (License): Likewise.
85832         * modules/crypto/md2 (License): Likewise.
85833         * modules/crypto/md4 (License): Likewise.
85835 2007-07-30  Jim Meyering  <jim@meyering.net>
85837         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
85838         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
85839         it has valid stat data.  This bug would cause du not to count the
85840         sizes of inaccessible directories.
85841         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
85842         in <http://bugzilla.redhat.com/250077>.
85844 2007-07-25  Peter O'Gorman  <peter@pogma.com>
85845             Bruno Haible  <bruno@clisp.org>
85847         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
85848         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
85849         #include_next, gives a diagnostic about it, but reports no error in
85850         the exit code.
85851         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
85853 2007-07-24  Ben Pfaff  <blp@gnu.org>
85855         Improve name: "count-one-bits" is better than "popcount".
85856         * MODULES.html.sh: Update name.
85857         * lib/popcount.h: Renamed lib/count-one-bits.h.
85858         (popcount): Renamed count_one_bits.
85859         (popcountl): Renamed count_one_bits_l.
85860         (popcountll): Renamed count_one_bits_ll.
85861         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
85862         * modules/popcount: Renamed module/count-one-bits.
85863         * modules/popcount-tests: Renamed module/count-one-bits-tests.
85864         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
85866 2007-07-23  Ben Pfaff  <blp@gnu.org>
85868         * lib/popcount.h (popcount32): Reduce size of constants, to allow
85869         better code generation, and add U to large constants to avoid
85870         warnings, in non-GCC case.
85871         Suggested by Bruno Haible.
85873 2007-07-23  Ben Pfaff  <blp@gnu.org>
85875         * lib/popcount.h: Use verify_true instead of if...abort.
85876         * modules/popcount: Depend on verify module.
85877         Suggested by Jim Meyering.
85879 2007-07-23  Bruno Haible  <bruno@clisp.org>
85881         * gnulib-tool (func_import): Create a .cvsignore file also when the
85882         directory is not yet in CVS but the toplevel directory is. When
85883         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
85884         Reported by Karl Berry.
85886 2007-07-22  Ben Pfaff  <blp@gnu.org>
85888         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
85889         case.
85890         Suggested by Eric Blake.
85892 2007-07-22  Ben Pfaff  <blp@gnu.org>
85894         New module: popcount.
85895         * MODULES.html.sh: Add popcount.
85896         * modules/popcount: New file.
85897         * modules/popcount-tests: New file.
85898         * tests/test-popcount.c: New file.
85899         * lib/popcount.h: New file.
85900         * m4/popcount.m4: New file.
85902 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
85904         * build-aux/announce-gen: Update to GPLv3.
85906         * build-aux/config.guess: Update from config.
85908 2007-07-21  Bruno Haible  <bruno@clisp.org>
85910         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
85911         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
85913 2007-07-20  Jim Meyering  <jim@meyering.net>
85915         * check-module: Diagnose a self-dependency.
85917 2007-07-19  Bruno Haible  <bruno@clisp.org>
85919         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
85920         empty.
85921         Reported by Eric Blake.
85923 2007-07-18  Bruno Haible  <bruno@clisp.org>
85925         * gnulib-tool: New options --po-base, --po-domain.
85926         (func_usage): Document them.
85927         (pobase, po_domain): New variables.
85928         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
85929         DEFAULT_TEXT_DOMAIN.
85930         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
85931         (func_import): Consider pobase and po_domain. Create a po/ directory.
85932         (func_create_testdir): Set pobase and po_domain to empty.
85933         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
85934         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
85936 2007-07-18  Bruno Haible  <bruno@clisp.org>
85938         * gnulib-tool (func_get_automake_snippet): Synthesize also an
85939         EXTRA_DIST augmentation for files in build-aux/.
85941 2007-07-16  Bruno Haible  <bruno@clisp.org>
85943         * modules/lseek (License): Use the synonymous term "LGPLv2+".
85944         * modules/getdelim (License): Likewise.
85946 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85948         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
85949         * modules/d-type (License): Likewise.
85950         * modules/extensions (License): Likewise.
85951         * modules/fnmatch (License): Likewise.
85952         * modules/fseeko (License): Likewise.
85953         * modules/getaddrinfo (License): Likewise.
85954         * modules/getline (License): Likewise.
85955         * modules/getlogin_r (License): Likewise.
85956         * modules/getpass (License): Likewise.
85957         * modules/gettimeofday (License): Likewise.
85958         * modules/glob (License): Likewise.
85959         * modules/inet_ntop (License): Likewise.
85960         * modules/malloc (License): Likewise.
85961         * modules/malloca (License): Likewise.
85962         * modules/memmem (License): Likewise.
85963         * modules/mempcpy (License): Likewise.
85964         * modules/memset (License): Likewise.
85965         * modules/minmax (License): Likewise.
85966         * modules/mktime (License): Likewise.
85967         * modules/netinet_in (License): Likewise.
85968         * modules/pathmax (License): Likewise.
85969         * modules/poll (License): Likewise.
85970         * modules/regex (License): Likewise.
85971         * modules/snprintf (License): Likewise.
85972         * modules/stdbool (License): Likewise.
85973         * modules/stdint (License): Likewise.
85974         * modules/stdio (License): Likewise.
85975         * modules/strcase (License): Likewise.
85976         * modules/strcasestr (License): Likewise.
85977         * modules/strdup (License): Likewise.
85978         * modules/string (License): Likewise.
85979         * modules/strndup (License): Likewise.
85980         * modules/strnlen (License): Likewise.
85981         * modules/strpbrk (License): Likewise.
85982         * modules/strptime (License): Likewise.
85983         * modules/strsep (License): Likewise.
85984         * modules/sys_select (License): Likewise.
85985         * modules/sys_socket (License): Likewise.
85986         * modules/sys_stat (License): Likewise.
85987         * modules/sys_time (License): Likewise.
85988         * modules/time (License): Likewise.
85989         * modules/time_r (License): Likewise.
85990         * modules/timegm (License): Likewise.
85991         * modules/unistd (License): Likewise.
85992         * modules/vsnprintf (License): Likewise.
85993         * modules/wctype (License): Likewise.
85995 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85997         * modules/argz (License): LGPLv2+.
85999 2007-07-15  Karl Berry  <karl@gnu.org>
86001         * doc/gnulib.texi: revise node structure per new fdl.texi.
86003 2007-07-14  Bruno Haible  <bruno@clisp.org>
86005         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
86006         the output file.
86007         * lib/uniname/uninames.h: Regenerated.
86009 2007-07-14  Karl Berry  <karl@gnu.org>
86011         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
86012         omitting sectioning and index commands.
86014 2007-07-13  Bruno Haible  <bruno@clisp.org>
86016         New gnulib-tool option --more-symlinks.
86017         * gnulib-tool (func_usage): Document --more-symlinks.
86018         (do_copyrights): New variable.
86019         Recognize option --more-symlinks.
86020         (func_import): Don't add a copyright notice transform to
86021         sed_transform_lib_file if do_copyrights is empty.
86023 2007-07-13  Bruno Haible  <bruno@clisp.org>
86025         * lib/vasnprintf.c (decimal_point_char): Define also if
86026         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
86027         && !NEED_PRINTF_DIRECTIVE_A.
86028         Reported by Clemens Koller <clemens.koller@anagramm.de> via
86029         Gary V. Vaughan <gary@gnu.org>.
86031 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
86033         * lib/inttypes_.h: Undo previous change, since it was fixed
86034         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
86036 2007-07-13  Bruno Haible  <bruno@clisp.org>
86038         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
86039         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
86041 2007-07-13  Jim Meyering  <jim@meyering.net>
86043         df: Don't fail for Tru64's "file-on-file mount".
86044         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
86045         so we fall through and use statfs instead.  Details here:
86046         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
86047         Reported by Albert Chin.
86049 2007-07-13  Bruno Haible  <bruno@clisp.org>
86051         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
86052         * modules/configmake (License): Likewise.
86053         * modules/gettext (License): Likewise.
86054         * modules/gettext-h (License): Likewise.
86055         * modules/include_next (License): Likewise.
86056         * modules/link-warning (License): Likewise.
86057         * modules/localcharset (License): Likewise.
86058         * modules/localename (License): Likewise.
86059         * modules/lock (License): Likewise.
86060         * modules/relocatable-lib-lgpl (License): Likewise.
86061         * modules/size_max (License): Likewise.
86062         * modules/vasnprintf (License): Likewise.
86063         * modules/wchar (License): Likewise.
86064         * modules/xsize (License): Likewise.
86066 2007-07-13  Bruno Haible  <bruno@clisp.org>
86068         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
86069         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
86071 2007-07-12  Bruno Haible  <bruno@clisp.org>
86073         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
86074         in the modules files.
86076 2007-07-11  Karl Berry  <karl@gnu.org>
86078         * MODULES.html.sh (func_module): use
86079          sed -e '\|^'"${includefile}"'$|d'
86080          instead of /.../d, to avoid errors on $includefile's containing /.
86082 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
86084         * gnulib-tool (func_import): Avoid duplication of --avoid
86085         statements
86086         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
86087         names to `_' in variable names.
86089 2007-07-10  Eric Blake  <ebb9@byu.net>
86091         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
86092         * NEWS: Document this change.
86094 2007-07-08  Bruno Haible  <bruno@clisp.org>
86096         Update to Unicode 5.0.
86097         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
86098         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
86099         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
86100         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
86101         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
86102         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
86103         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
86104         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
86105         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
86106         U+10A3F, U+1D242..U+1D244.
86107         (nonspacing_table_ind): Update.
86108         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
86109         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
86111 2007-07-08  Bruno Haible  <bruno@clisp.org>
86113         Update to Unicode 5.0.
86114         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
86115         code transform. Extend the name index field of unicode_name_to_code and
86116         unicode_code_to_name from 16 to 24 bits.
86117         * lib/uniname/uniname.c (unicode_character_name,
86118         unicode_name_character): Add the range 0x12xxx to the code transform.
86119         * lib/uniname/uninames.h: Regenerated.
86120         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
86122 2007-07-07  Bruno Haible  <bruno@clisp.org>
86124         * modules/wcwidth-tests: New file.
86125         * tests/test-wcwidth.c: New file.
86127         Work around MacOS X wcwidth() bug.
86128         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
86129         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
86130         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
86131         original wcwidth in non-UTF-8 locales.
86132         * modules/wcwidth (Depends-on): Add localcharset, streq,
86133         uniwidth/width.
86134         * doc/functions/wcwidth.texi: Update.
86136 2007-07-07  Bruno Haible  <bruno@clisp.org>
86138         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
86139         (wcwidth): New declaration.
86140         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
86141         macros.
86142         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
86143         here. Prepare for creating <wchar.h> unconditionally.
86144         * modules/wchar (Depends-on): Add link-warning.
86145         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
86146         REPLACE_WCWIDTH, and GL_LINK_WARNING.
86147         * lib/wcwidth.h: Remove file.
86148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
86149         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
86150         * modules/wcwidth (Files): Remove lib/wcwidth.h.
86151         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
86152         (Include): Replace wcwidth.h with <wchar.h>.
86153         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
86154         * lib/mbchar.h: Don't include wcwidth.h.
86155         * lib/mbswidth.c: Likewise.
86156         * NEWS: Mention the change.
86158 2007-07-07  Bruno Haible  <bruno@clisp.org>
86160         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
86161         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
86162         definition with an external declaration.
86163         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
86164         defined as a function. Remove AC_C_INLINE requirement.
86165         * modules/wcwidth (Files): Add lib/wcwidth.c.
86166         (Makefile.am): Remove redundant statement.
86168 2007-07-07  Bruno Haible  <bruno@clisp.org>
86170         * MODULES.html.sh (Unicode string functions): Add the new modules.
86172         * tests/uniwidth/test-u32-strwidth.c: New file.
86173         * modules/uniwidth/u32-strwidth-tests: New file.
86175         * lib/uniwidth/u32-strwidth.c: New file.
86176         * modules/uniwidth/u32-strwidth: New file.
86178         * tests/uniwidth/test-u16-strwidth.c: New file.
86179         * modules/uniwidth/u16-strwidth-tests: New file.
86181         * lib/uniwidth/u16-strwidth.c: New file.
86182         * modules/uniwidth/u16-strwidth: New file.
86184         * tests/uniwidth/test-u8-strwidth.c: New file.
86185         * modules/uniwidth/u8-strwidth-tests: New file.
86187         * lib/uniwidth/u8-strwidth.c: New file.
86188         * modules/uniwidth/u8-strwidth: New file.
86190         * tests/uniwidth/test-u32-width.c: New file.
86191         * modules/uniwidth/u32-width-tests: New file.
86193         * lib/uniwidth/u32-width.c: New file.
86194         * modules/uniwidth/u32-width: New file.
86196         * tests/uniwidth/test-u16-width.c: New file.
86197         * modules/uniwidth/u16-width-tests: New file.
86199         * lib/uniwidth/u16-width.c: New file.
86200         * modules/uniwidth/u16-width: New file.
86202         * tests/uniwidth/test-u8-width.c: New file.
86203         * modules/uniwidth/u8-width-tests: New file.
86205         * lib/uniwidth/u8-width.c: New file.
86206         * modules/uniwidth/u8-width: New file.
86208         * tests/uniwidth/test-uc_width.c: New file.
86209         * modules/uniwidth/width-tests: New file.
86211         * lib/uniwidth/width.c: New file, from GNU libiconv.
86212         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
86213         * modules/uniwidth/width: New file.
86215         * lib/uniwidth.h: New file, from GNU libiconv.
86216         * modules/uniwidth/base: New file.
86218 2007-07-07  Bruno Haible  <bruno@clisp.org>
86220         * lib/uniname.h: New file, from GNU gettext.
86221         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
86222         * lib/uniname/uninames.h: New file, from GNU gettext.
86223         * lib/uniname/uniname.c: New file, from GNU gettext.
86224         * tests/uniname/test-uninames.sh: New file.
86225         * tests/uniname/test-uninames.c: New file, from GNU gettext.
86226         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
86227         * modules/uniname/base: New file.
86228         * modules/uniname/uniname: New file.
86229         * modules/uniname/uniname-tests: New file.
86230         * MODULES.html.sh (Unicode string functions): Add the new modules.
86232 2007-07-06  Bruno Haible  <bruno@clisp.org>
86234         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
86236 2007-07-06  Bruno Haible  <bruno@clisp.org>
86238         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
86239         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
86240         includes <cygwin/sys_time.h> which includes <sys/select.h> which
86241         include <sys/time.h>.
86242         Reported by Eric Blake.
86244 2007-07-06  Eric Blake  <ebb9@byu.net>
86246         Fix testing canonicalize on cygwin.
86247         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86248         Revert patch from 2007-06-19.
86249         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
86250         canonicalize module is also in use.
86251         * tests/test-canonicalize.c: New file.
86252         * tests/test-canonicalize.sh: Likewise.
86253         * modules/canonicalize-tests: Likewise.
86255 2007-07-06  Jim Meyering  <jim@meyering.net>
86257         * lib/getugroups.c (getugroups): Detect getgrent failure.
86258         Adjust comment to reflect reality: this function may return -1.
86260 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
86262         * build-aux/bootstrap (TP_URL,get_translations): Update to use
86263         the new TP address.
86264         (usage): Fix typo
86265         (gnulib_mk): New variable.
86267 2007-07-05  Jim Meyering  <jim@meyering.net>
86269         Don't let endgrent clobber errno, no matter how improbable.
86270         * lib/getugroups.c (getugroups): Save and restore errno around
86271         endgrent call.
86273         Close the group DB even when failing with 2^31 or more members.
86274         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
86276 2007-07-04  Jim Meyering  <jim@meyering.net>
86278         * lib/getugroups.h: New file.
86279         * lib/getugroups.c: Include "getugroups.h".
86280         Remove uses of "register" keyword.
86281         Move local variable, "cp", down into scope where used.
86282         Give "username" parameter the "const" attribute.
86283         * modules/getugroups (Files): Add lib/getugroups.h
86285 2007-07-04  Karl Berry  <karl@gnu.org>
86287         * MODULES.html.sh (func_all_modules): Complete rename of
86288         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
86290 2007-07-02  Bruno Haible  <bruno@clisp.org>
86292         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
86293         mode, when inttypes.h comes from gnulib.
86294         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
86296 2007-07-02  Simon Josefsson  <simon@josefsson.org>
86298         * NEWS: Mention lgpl module name change.
86300         * modules/lgpl-2.1: Renamed from lgpl.
86302         * NEWS: Mention gpl module name change.
86304         * modules/gpl-3.0: New file, based on gpl-2.0.
86306         * modules/gpl-2.0: Renamed from gpl.
86308         * modules/gpl: Fix filename, doc/gpl.texi is now found at
86309         doc/gpl-2.0.texi.
86311 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
86313         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
86314         #define __STDC_LIMIT_MACROS temporarily while including
86315         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
86316         Problem reported by Joel E. Denny in
86317         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
86319 2007-07-01  Bruno Haible  <bruno@clisp.org>
86321         * lib/unistdio.h: New file.
86322         * lib/unistdio/u-asnprintf.h: New file.
86323         * lib/unistdio/u-asprintf.h: New file.
86324         * lib/unistdio/u-printf-args.c: New file.
86325         * lib/unistdio/u-printf-args.h: New file.
86326         * lib/unistdio/u-printf-parse.h: New file.
86327         * lib/unistdio/u-snprintf.h: New file.
86328         * lib/unistdio/u-sprintf.h: New file.
86329         * lib/unistdio/u-vasprintf.h: New file.
86330         * lib/unistdio/u-vsnprintf.h: New file.
86331         * lib/unistdio/u-vsprintf.h: New file.
86332         * lib/unistdio/ulc-asnprintf.c: New file.
86333         * lib/unistdio/ulc-asprintf.c: New file.
86334         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
86335         * lib/unistdio/ulc-printf-parse.c: New file.
86336         * lib/unistdio/ulc-snprintf.c: New file.
86337         * lib/unistdio/ulc-sprintf.c: New file.
86338         * lib/unistdio/ulc-vasnprintf.c: New file.
86339         * lib/unistdio/ulc-vasprintf.c: New file.
86340         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
86341         * lib/unistdio/ulc-vsnprintf.c: New file.
86342         * lib/unistdio/ulc-vsprintf.c: New file.
86343         * lib/unistdio/u8-asnprintf.c: New file.
86344         * lib/unistdio/u8-asprintf.c: New file.
86345         * lib/unistdio/u8-printf-parse.c: New file.
86346         * lib/unistdio/u8-snprintf.c: New file.
86347         * lib/unistdio/u8-sprintf.c: New file.
86348         * lib/unistdio/u8-vasnprintf.c: New file.
86349         * lib/unistdio/u8-vasprintf.c: New file.
86350         * lib/unistdio/u8-vsnprintf.c: New file.
86351         * lib/unistdio/u8-vsprintf.c: New file.
86352         * lib/unistdio/u8-u8-asnprintf.c: New file.
86353         * lib/unistdio/u8-u8-asprintf.c: New file.
86354         * lib/unistdio/u8-u8-snprintf.c: New file.
86355         * lib/unistdio/u8-u8-sprintf.c: New file.
86356         * lib/unistdio/u8-u8-vasnprintf.c: New file.
86357         * lib/unistdio/u8-u8-vasprintf.c: New file.
86358         * lib/unistdio/u8-u8-vsnprintf.c: New file.
86359         * lib/unistdio/u8-u8-vsprintf.c: New file.
86360         * lib/unistdio/u16-asnprintf.c: New file.
86361         * lib/unistdio/u16-asprintf.c: New file.
86362         * lib/unistdio/u16-printf-parse.c: New file.
86363         * lib/unistdio/u16-snprintf.c: New file.
86364         * lib/unistdio/u16-sprintf.c: New file.
86365         * lib/unistdio/u16-vasnprintf.c: New file.
86366         * lib/unistdio/u16-vasprintf.c: New file.
86367         * lib/unistdio/u16-vsnprintf.c: New file.
86368         * lib/unistdio/u16-vsprintf.c: New file.
86369         * lib/unistdio/u16-u16-asnprintf.c: New file.
86370         * lib/unistdio/u16-u16-asprintf.c: New file.
86371         * lib/unistdio/u16-u16-snprintf.c: New file.
86372         * lib/unistdio/u16-u16-sprintf.c: New file.
86373         * lib/unistdio/u16-u16-vasnprintf.c: New file.
86374         * lib/unistdio/u16-u16-vasprintf.c: New file.
86375         * lib/unistdio/u16-u16-vsnprintf.c: New file.
86376         * lib/unistdio/u16-u16-vsprintf.c: New file.
86377         * lib/unistdio/u32-asnprintf.c: New file.
86378         * lib/unistdio/u32-asprintf.c: New file.
86379         * lib/unistdio/u32-printf-parse.c: New file.
86380         * lib/unistdio/u32-snprintf.c: New file.
86381         * lib/unistdio/u32-sprintf.c: New file.
86382         * lib/unistdio/u32-vasnprintf.c: New file.
86383         * lib/unistdio/u32-vasprintf.c: New file.
86384         * lib/unistdio/u32-vsnprintf.c: New file.
86385         * lib/unistdio/u32-vsprintf.c: New file.
86386         * lib/unistdio/u32-u32-asnprintf.c: New file.
86387         * lib/unistdio/u32-u32-asprintf.c: New file.
86388         * lib/unistdio/u32-u32-snprintf.c: New file.
86389         * lib/unistdio/u32-u32-sprintf.c: New file.
86390         * lib/unistdio/u32-u32-vasnprintf.c: New file.
86391         * lib/unistdio/u32-u32-vasprintf.c: New file.
86392         * lib/unistdio/u32-u32-vsnprintf.c: New file.
86393         * lib/unistdio/u32-u32-vsprintf.c: New file.
86394         * tests/unistdio/test-ulc-asnprintf1.c: New file.
86395         * tests/unistdio/test-ulc-asnprintf1.h: New file.
86396         * tests/unistdio/test-ulc-printf1.h: New file.
86397         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
86398         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
86399         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
86400         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
86401         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
86402         * tests/unistdio/test-ulc-vasprintf1.c: New file.
86403         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
86404         * tests/unistdio/test-ulc-vsprintf1.c: New file.
86405         * tests/unistdio/test-u8-asnprintf1.c: New file.
86406         * tests/unistdio/test-u8-asnprintf1.h: New file.
86407         * tests/unistdio/test-u8-printf1.h: New file.
86408         * tests/unistdio/test-u8-vasnprintf1.c: New file.
86409         * tests/unistdio/test-u8-vasnprintf2.c: New file.
86410         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
86411         * tests/unistdio/test-u8-vasnprintf3.c: New file.
86412         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
86413         * tests/unistdio/test-u8-vasprintf1.c: New file.
86414         * tests/unistdio/test-u8-vsnprintf1.c: New file.
86415         * tests/unistdio/test-u8-vsprintf1.c: New file.
86416         * tests/unistdio/test-u16-asnprintf1.c: New file.
86417         * tests/unistdio/test-u16-asnprintf1.h: New file.
86418         * tests/unistdio/test-u16-printf1.h: New file.
86419         * tests/unistdio/test-u16-vasnprintf1.c: New file.
86420         * tests/unistdio/test-u16-vasnprintf2.c: New file.
86421         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
86422         * tests/unistdio/test-u16-vasnprintf3.c: New file.
86423         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
86424         * tests/unistdio/test-u16-vasprintf1.c: New file.
86425         * tests/unistdio/test-u16-vsnprintf1.c: New file.
86426         * tests/unistdio/test-u16-vsprintf1.c: New file.
86427         * tests/unistdio/test-u32-asnprintf1.c: New file.
86428         * tests/unistdio/test-u32-asnprintf1.h: New file.
86429         * tests/unistdio/test-u32-printf1.h: New file.
86430         * tests/unistdio/test-u32-vasnprintf1.c: New file.
86431         * tests/unistdio/test-u32-vasnprintf2.c: New file.
86432         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
86433         * tests/unistdio/test-u32-vasnprintf3.c: New file.
86434         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
86435         * tests/unistdio/test-u32-vasprintf1.c: New file.
86436         * tests/unistdio/test-u32-vsnprintf1.c: New file.
86437         * tests/unistdio/test-u32-vsprintf1.c: New file.
86438         * modules/unistdio/base: New file.
86439         * modules/unistdio/u-printf-args: New file.
86440         * modules/unistdio/ulc-asnprintf: New file.
86441         * modules/unistdio/ulc-asprintf: New file.
86442         * modules/unistdio/ulc-fprintf: New file.
86443         * modules/unistdio/ulc-printf-parse: New file.
86444         * modules/unistdio/ulc-snprintf: New file.
86445         * modules/unistdio/ulc-sprintf: New file.
86446         * modules/unistdio/ulc-vasnprintf: New file.
86447         * modules/unistdio/ulc-vasprintf: New file.
86448         * modules/unistdio/ulc-vfprintf: New file.
86449         * modules/unistdio/ulc-vsnprintf: New file.
86450         * modules/unistdio/ulc-vsprintf: New file.
86451         * modules/unistdio/u8-asnprintf: New file.
86452         * modules/unistdio/u8-asprintf: New file.
86453         * modules/unistdio/u8-printf-parse: New file.
86454         * modules/unistdio/u8-snprintf: New file.
86455         * modules/unistdio/u8-sprintf: New file.
86456         * modules/unistdio/u8-vasnprintf: New file.
86457         * modules/unistdio/u8-vasprintf: New file.
86458         * modules/unistdio/u8-vsnprintf: New file.
86459         * modules/unistdio/u8-vsprintf: New file.
86460         * modules/unistdio/u8-u8-asnprintf: New file.
86461         * modules/unistdio/u8-u8-asprintf: New file.
86462         * modules/unistdio/u8-u8-snprintf: New file.
86463         * modules/unistdio/u8-u8-sprintf: New file.
86464         * modules/unistdio/u8-u8-vasnprintf: New file.
86465         * modules/unistdio/u8-u8-vasprintf: New file.
86466         * modules/unistdio/u8-u8-vsnprintf: New file.
86467         * modules/unistdio/u8-u8-vsprintf: New file.
86468         * modules/unistdio/u16-asnprintf: New file.
86469         * modules/unistdio/u16-asprintf: New file.
86470         * modules/unistdio/u16-printf-parse: New file.
86471         * modules/unistdio/u16-snprintf: New file.
86472         * modules/unistdio/u16-sprintf: New file.
86473         * modules/unistdio/u16-vasnprintf: New file.
86474         * modules/unistdio/u16-vasprintf: New file.
86475         * modules/unistdio/u16-vsnprintf: New file.
86476         * modules/unistdio/u16-vsprintf: New file.
86477         * modules/unistdio/u16-u16-asnprintf: New file.
86478         * modules/unistdio/u16-u16-asprintf: New file.
86479         * modules/unistdio/u16-u16-snprintf: New file.
86480         * modules/unistdio/u16-u16-sprintf: New file.
86481         * modules/unistdio/u16-u16-vasnprintf: New file.
86482         * modules/unistdio/u16-u16-vasprintf: New file.
86483         * modules/unistdio/u16-u16-vsnprintf: New file.
86484         * modules/unistdio/u16-u16-vsprintf: New file.
86485         * modules/unistdio/u32-asnprintf: New file.
86486         * modules/unistdio/u32-asprintf: New file.
86487         * modules/unistdio/u32-printf-parse: New file.
86488         * modules/unistdio/u32-snprintf: New file.
86489         * modules/unistdio/u32-sprintf: New file.
86490         * modules/unistdio/u32-vasnprintf: New file.
86491         * modules/unistdio/u32-vasprintf: New file.
86492         * modules/unistdio/u32-vsnprintf: New file.
86493         * modules/unistdio/u32-vsprintf: New file.
86494         * modules/unistdio/u32-u32-asnprintf: New file.
86495         * modules/unistdio/u32-u32-asprintf: New file.
86496         * modules/unistdio/u32-u32-snprintf: New file.
86497         * modules/unistdio/u32-u32-sprintf: New file.
86498         * modules/unistdio/u32-u32-vasnprintf: New file.
86499         * modules/unistdio/u32-u32-vasprintf: New file.
86500         * modules/unistdio/u32-u32-vsnprintf: New file.
86501         * modules/unistdio/u32-u32-vsprintf: New file.
86502         * modules/unistdio/ulc-asnprintf-tests: New file.
86503         * modules/unistdio/ulc-vasnprintf-tests: New file.
86504         * modules/unistdio/ulc-vasprintf-tests: New file.
86505         * modules/unistdio/ulc-vsnprintf-tests: New file.
86506         * modules/unistdio/ulc-vsprintf-tests: New file.
86507         * modules/unistdio/u8-asnprintf-tests: New file.
86508         * modules/unistdio/u8-vasnprintf-tests: New file.
86509         * modules/unistdio/u8-vasprintf-tests: New file.
86510         * modules/unistdio/u8-vsnprintf-tests: New file.
86511         * modules/unistdio/u8-vsprintf-tests: New file.
86512         * modules/unistdio/u16-asnprintf-tests: New file.
86513         * modules/unistdio/u16-vasnprintf-tests: New file.
86514         * modules/unistdio/u16-vasprintf-tests: New file.
86515         * modules/unistdio/u16-vsnprintf-tests: New file.
86516         * modules/unistdio/u16-vsprintf-tests: New file.
86517         * modules/unistdio/u32-asnprintf-tests: New file.
86518         * modules/unistdio/u32-vasnprintf-tests: New file.
86519         * modules/unistdio/u32-vasprintf-tests: New file.
86520         * modules/unistdio/u32-vsnprintf-tests: New file.
86521         * modules/unistdio/u32-vsprintf-tests: New file.
86522         * MODULES.html.sh (Unicode string functions): Add the new modules.
86524 2007-07-01  Bruno Haible  <bruno@clisp.org>
86526         * lib/sprintf.c (sprintf): Limit the available length estimation,
86527         to avoid address wraparound.
86528         * lib/vsprintf.c (vsprintf): Likewise.
86529         * modules/sprintf-posix (Dependencies): Add stdint.
86530         * modules/vsprintf-posix (Dependencies): Likewise.
86532 2007-07-01  Bruno Haible  <bruno@clisp.org>
86534         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
86535         Windows PATH as well. Conservative double-quoting. Comments.
86537 2007-07-01  Bruno Haible  <bruno@clisp.org>
86538             Eric Blake  <ebb9@byu.net>
86539             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86541         * gnulib-tool (self_abspathname): Fix algorithm to cope with
86542         empty components in $PATH, denoting '.'.
86544 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86546         * gnulib-tool: Fix indentation.
86547         (func_create_megatestdir): Likewise.
86548         Report by Bruno Haible.
86550 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86552         Sync from Automake.
86553         * build-aux/gnupload: Fix shell portability issues with for loops.
86554         Report by Karl Berry.
86556 2007-06-29  Simon Josefsson  <simon@josefsson.org>
86558         * build-aux/maint.mk (POURL): Use translationproject.org.
86560 2007-06-27  Simon Josefsson  <simon@josefsson.org>
86561             Bruno Haible  <bruno@clisp.org>
86563         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
86564         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
86565         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
86566         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
86567         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
86569 2007-06-27  Bruno Haible  <bruno@clisp.org>
86571         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
86572         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
86574 2007-06-26  Karl Berry  <karl@gnu.org>
86576         * MODULES.html.sh: remove xreadlink-with-size.
86578 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86580         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
86581         method that I hope also handles the double-include problem noted
86582         by Bruno Haible in
86583         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
86585 2007-06-23  Bruno Haible  <bruno@clisp.org>
86587         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
86588         Don't let the 'mostlyclean' target fail if the last subdirectory could
86589         not be removed.
86590         Reported by Karl Berry.
86592 2007-06-23  Bruno Haible  <bruno@clisp.org>
86594         * gnulib-tool (echo): Add a speedier workaround for ksh.
86595         * tests/test-echo.sh: Likewise.
86597 2007-06-23  Bruno Haible  <bruno@clisp.org>
86599         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
86600         * tests/test-echo.sh: Likewise.
86602 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86604         * gnulib-tool (IFS): Initialize early, so we don't set it to
86605         empty later.
86606         (self_abspathname): Rewrite algorithm to set it, reindent.
86607         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
86608         (func_create_megatestdir): Merge some sed scripts.
86610 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86612         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
86613         exposed by Sun Studio 11 cc on Solaris 8.
86615 2007-06-22  Bruno Haible  <bruno@clisp.org>
86617         * gnulib-tool (echo): Ensure the echo primitive does not interpret
86618         backslashes.
86619         * tests/test-echo.sh: New file.
86621 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86623         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
86624         simplify `sed_replace_build_aux' scripts, they are portable but
86625         echoing them with `echo' is not.
86626         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
86628 2007-06-21  Karl Berry  <karl@gnu.org>
86630         * config/srclist.txt: guess we can't handle the licenses via
86631         srclist at the moment.
86633 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
86635         * MODULES.html.sh: Add include_next.
86636         * modules/include_next: New file.
86638 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
86640         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
86641         INCLUDE_NEXT.
86642         (gl_CHECK_NEXT_HEADERS): New macro.
86643         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
86644         the obsolescent gl_ABSOLUTE_HEADER.
86645         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
86646         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
86647         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
86648         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
86649         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
86650         * m4/math_h.m4 (gl_MATH_H): Likewise.
86651         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
86652         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
86653         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
86654         * m4/stdint.m4 (gl_STDINT_H): Likewise.
86655         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
86656         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
86657         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
86658         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
86659         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
86660         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
86661         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
86662         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
86663         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
86664         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
86665         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
86666         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
86667         * m4/inttypes.m4 (gl_INTTYPES_H): Define
86668         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
86669         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
86670         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
86671         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
86672         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
86673         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
86674         * lib/float_.h: Likewise.
86675         * lib/inttypes_.h: Likewise.
86676         * lib/math_.h: Likewise.
86677         * lib/search_.h: Likewise.
86678         * lib/signal_.h: Likewise.
86679         * lib/stdint_.h: Likewise.
86680         * lib/stdio_.h: Likewise.
86681         * lib/stdlib_.h: Likewise.
86682         * lib/string_.h: Likewise.
86683         * lib/sys_stat_.h: Likewise.
86684         * lib/sys_time_.h: Likewise.
86685         * lib/time_.h: Likewise.
86686         * lib/unistd_.h: Likewise.
86687         * lib/wchar_.h: Likewise.
86688         * lib/wctype_.h: Likewise.
86689         * lib/dirent_.h: Likewise.
86690         * lib/iconv_.h: Likewise.
86691         * lib/locale_.h: Likewise.
86692         * lib/netinet_in_.h: Likewise.
86693         * lib/sys_select_.h: Likewise.
86694         * lib/sys_socket_.h: Likewise.
86695         * lib/sysexits_.h: Likewise.
86696         * modules/fcntl (Depends-on): Depend on include_next, not
86697         absolute_header.
86698         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
86699         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
86700         * modules/fchdir: Likewise.
86701         * modules/float: Likewise.
86702         * modules/iconv_open: Likewise.
86703         * modules/inttypes: Likewise.
86704         * modules/locale: Likewise.
86705         * modules/math: Likewise.
86706         * modules/netinet_in: Likewise.
86707         * modules/search: Likewise.
86708         * modules/signal: Likewise.
86709         * modules/stdint: Likewise.
86710         * modules/stdio: Likewise.
86711         * modules/stdlib: Likewise.
86712         * modules/string: Likewise.
86713         * modules/sys_select: Likewise.
86714         * modules/sys_socket: Likewise.
86715         * modules/sys_stat: Likewise.
86716         * modules/sys_time: Likewise.
86717         * modules/sysexits: Likewise.
86718         * modules/time: Likewise.
86719         * modules/unistd: Likewise.
86720         * modules/wchar: Likewise.
86721         * modules/wctype: Likewise.
86722         * modules/sys_stat: Change maintainer to "all".
86723         * modules/unistd: Likewise.
86725 2007-06-20  Karl Berry  <karl@gnu.org>
86727         * config/srclist.txt: track www changes in license files.
86729 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
86731         * build-aux/bootstrap: Remove stray dot.
86732         Make sure build_aux settings are honored when linking
86733         gnulib_extra_files.
86735 2007-06-19  Eric Blake  <ebb9@byu.net>
86737         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
86738         Allow compilation on cygwin.
86740 2007-06-19  Jim Meyering  <jim@meyering.net>
86742         xreadlink-with-size: Remove module.  No longer used.
86743         Ex-callers now use xreadlink or mreadlink-with-size.
86744         * modules/xreadlink-with-size: Remove module.
86745         * lib/xreadlink-with-size.c: Remove file.
86746         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
86747         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
86748         just before the function definition *is* accurate.
86750         Eliminate one way canonicalize_filename_mode could exit.
86751         * lib/canonicalize.c (canonicalize_filename_mode):
86752         Use mreadlink_with_size, not xreadlink_with_size.
86754 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
86756         Detect porting problems to FreeBSD/arm, which has time_t wider than
86757         long int.  Original problem reported for GNU diff by Xin Li in
86758         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
86759         * modules/getdate (Depends-on): Add intprops, verify.
86760         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
86761         is an integer type no wider than long int.
86763 2007-06-18  Jim Meyering  <jim@meyering.net>
86765         New module: mreadlink-with-size.
86766         * MODULES.html.sh: Add mreadlink-with-size.
86767         * modules/mreadlink-with-size: New module
86768         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
86769         not xreadlink-with-size.
86770         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
86772 2007-06-16  Bruno Haible  <bruno@clisp.org>
86774         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
86775         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
86776         Reported by Gary V. Vaughan <gary@gnu.org>.
86778 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86780         Revamp lchown so that it lives in unistd.h where it belongs.
86781         * lib/lchown.h: Remove.
86782         * lib/dirchownmod.c: Don't include lib/lchown.h.
86783         * lib/fchownat.c: Likewise.
86784         * lib/openat.c: Likewise.
86785         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
86786         does not follow symlinks.
86787         (EOPNOTSUPP): Define if not defined.
86788         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
86789         is defined to 0.
86790         (lchown): New decl.
86791         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
86792         Do not check for lchown decl.
86793         Set REPLACE_LCHOWN.
86794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
86795         REPLACE_LCHOWN.
86796         * modules/chown: Make it clear it follows symlinks.
86797         * modules/lchown: Make it clear it doesn't follow symlinks.
86798         (Files): Remove lib/lchown.h
86799         (Depends-on): Add unistd.
86800         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
86801         (Include): Include <unistd.h>, not "lchown.h".
86802         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
86803         REPLACE_LCHOWN.
86805 2007-06-15  Jim Meyering  <jim@meyering.net>
86807         Change license (GPL to LGPL) of fsusage and dependents.
86808         * modules/fsusage (License): Change to LGPL.
86809         * modules/full-read (License): Likewise.
86810         * modules/full-write (License): Likewise.
86811         * modules/safe-read (License): Likewise.
86812         * modules/safe-write (License): Likewise.
86814 2007-06-14  Ben Pfaff  <blp@gnu.org>
86816         Missing part of allocsa -> malloca transition.
86817         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
86818         gl_MALLOCA.
86820 2007-06-12  Bruno Haible  <bruno@clisp.org>
86822         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
86823         to ia64, x86_64, i386.
86824         Reported by Eric Blake.
86826 2007-06-12  Bruno Haible  <bruno@clisp.org>
86828         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
86829         cross-compiling to x86_64.
86831 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
86833         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
86834         glitch reported by Ralf Wildenhues in
86835         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
86837         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
86838         Vin Shelton.
86840 2007-06-11  Bruno Haible  <bruno@clisp.org>
86842         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
86843         replacement string.
86844         Reported by Eric Blake.
86846 2007-06-10  Bruno Haible  <bruno@clisp.org>
86848         Prepare vasnprintf code for use with Unicode strings.
86849         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
86850         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
86851         TYPE_U32_STRING.
86852         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
86853         a_u32_string variants.
86854         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86855         * lib/printf-args.c: Don't include config.h and the specification
86856         header if PRINTF_FETCHARGS is already defined.
86857         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
86858         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
86859         TYPE_U16_STRING, TYPE_U32_STRING.
86860         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
86861         u16_directive, u16_directives, u32_directive, u32_directives): New
86862         types.
86863         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
86864         New declarations.
86865         * lib/printf-parse.c: Don't include config.h and the specification
86866         header if PRINTF_PARSE is already defined. Eliminate the set of
86867         parameters for WIDE_CHAR_VERSION; the user of this file must provide
86868         them now. Include c-ctype.h.
86869         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
86870         directive and CHAR_T_ONLY_ASCII.
86871         * lib/vasnprintf.c: Don't include config.h and the specification header
86872         if VASNPRINTF is already defined.
86873         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
86874         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
86875         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
86876         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
86877         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
86878         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
86879         code accordingly.
86880         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
86881         pad_ourselves also in this case, with the 'c' and 's' directives, and
86882         with a different notion of "width".
86883         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
86885 2007-06-10  Bruno Haible  <bruno@clisp.org>
86887         * modules/unistr/u32-mbsnlen: New file.
86888         * lib/unistr/u32-mbsnlen.c: New file.
86890         * modules/unistr/u16-mbsnlen: New file.
86891         * lib/unistr/u16-mbsnlen.c: New file.
86893         * modules/unistr/u8-mbsnlen: New file.
86894         * lib/unistr/u8-mbsnlen.c: New file.
86896         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
86897         declarations.
86899 2007-06-10  Bruno Haible  <bruno@clisp.org>
86901         * lib/string_.h (mbsnlen): New declaration.
86902         * lib/mbsnlen.c: New file.
86903         * m4/mbsnlen.m4: New file.
86904         * modules/mbsnlen: New file.
86905         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
86906         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
86907         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
86909 2007-06-10  Bruno Haible  <bruno@clisp.org>
86911         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
86913 2007-06-10  Bruno Haible  <bruno@clisp.org>
86915         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
86916         * lib/mbuiter.h: Likewise.
86918 2007-06-10  Bruno Haible  <bruno@clisp.org>
86920         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
86921         declaration.
86923 2007-06-10  Karl Berry  <karl@gnu.org>
86925         * config/srclist.txt: remove gettext entries, Bruno prefers
86926         to update individually.
86928 2007-06-10  Bruno Haible  <bruno@clisp.org>
86930         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
86931         'maxlen'. Ensure only length + width bytes are allocated, not
86932         length + 1 + width.
86934 2007-06-09  Bruno Haible  <bruno@clisp.org>
86936         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
86937         (CHAR_T): Remove macro.
86938         (VASNPRINTF): Update.
86940 2007-06-09  Bruno Haible  <bruno@clisp.org>
86942         * MODULES.html.sh (Unicode string functions): Add the new modules.
86944         * modules/uniconv/u32-conv-to-enc: New file.
86945         * lib/uniconv/u32-conv-to-enc.c: New file.
86946         * modules/uniconv/u32-conv-to-enc-tests: New file.
86947         * tests/uniconv/test-u32-conv-to-enc.c: New file.
86949         * modules/uniconv/u16-conv-to-enc: New file.
86950         * lib/uniconv/u16-conv-to-enc.c: New file.
86951         * lib/uniconv/u-conv-to-enc.h: New file.
86952         * modules/uniconv/u16-conv-to-enc-tests: New file.
86953         * tests/uniconv/test-u16-conv-to-enc.c: New file.
86955         * modules/uniconv/u8-conv-to-enc: New file.
86956         * lib/uniconv/u8-conv-to-enc.c: New file.
86957         * modules/uniconv/u8-conv-to-enc-tests: New file.
86958         * tests/uniconv/test-u8-conv-to-enc.c: New file.
86960         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
86961         u32_conv_to_encoding): New declarations.
86963 2007-06-09  Bruno Haible  <bruno@clisp.org>
86965         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
86967 2007-06-09  Bruno Haible  <bruno@clisp.org>
86969         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
86970         * modules/malloca: Renamed from modules/allocsa, updated.
86971         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
86972         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
86973         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
86974         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
86975         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
86976         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
86977         * modules/xmalloca: Renamed from modules/xallocsa, updated.
86978         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
86979         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
86980         * modules/c-strcasestr (Depends-on): Update.
86981         * lib/c-strcasestr.c: Update.
86982         * modules/c-strstr (Depends-on): Update.
86983         * lib/c-strstr.c: Update.
86984         * modules/canonicalize-lgpl (Depends-on): Update.
86985         * lib/canonicalize-lgpl.c: Update.
86986         * modules/clean-temp (Depends-on): Update.
86987         * lib/clean-temp.c: Update.
86988         * modules/csharpcomp (Depends-on): Update.
86989         * lib/csharpcomp.c: Update.
86990         * modules/csharpexec (Depends-on): Update.
86991         * lib/csharpexec.c: Update.
86992         * modules/javacomp (Depends-on): Update.
86993         * lib/javacomp.c: Update.
86994         * modules/javaexec (Depends-on): Update.
86995         * lib/javaexec.c: Update.
86996         * modules/mbscasestr (Depends-on): Update.
86997         * lib/mbscasestr.c: Update.
86998         * modules/mbsstr (Depends-on): Update.
86999         * lib/mbsstr.c: Update.
87000         * modules/setenv (Depends-on): Update.
87001         * lib/setenv.c: Update.
87002         * modules/strcasestr (Depends-on): Update.
87003         * lib/strcasestr.c: Update.
87004         * modules/striconveha (Depends-on): Update.
87005         * lib/striconveha.c: Update.
87006         * modules/relocatable-prog-wrapper (Files): Update.
87007         * lib/relocwrapper.c: Update.
87008         * build-aux/install-reloc: Update.
87009         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
87011 2007-06-08  Bruno Haible  <bruno@clisp.org>
87013         Port to uClibc.
87014         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
87015         * lib/fpurge.c (fpurge): Likewise.
87016         * lib/freading.c (freading): Likewise.
87017         * lib/fseeko.c (rpl_fseeko): Likewise.
87018         * lib/fseterr.c (fseterr): Likewise.
87019         * lib/fwriting.c (fwriting): Likewise.
87020         * tests/test-fflush.c (main): Avoid a failure on uClibc.
87022 2007-06-08  Bruno Haible  <bruno@clisp.org>
87024         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
87025         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
87026         * modules/gettext (Files): Add m4/intlmacosx.m4.
87028 2007-06-07  Bruno Haible  <bruno@clisp.org>
87030         * modules/localename-tests: New file.
87031         * tests/test-localename.c: New file.
87033         New module 'localename'.
87034         * lib/localename.h: New file.
87035         * lib/localename.c: New file, from GNU gettext.
87036         * m4/localename.m4: New file.
87037         * modules/localename: New file.
87039 2007-06-07  Bruno Haible  <bruno@clisp.org>
87041         Work around the lack of <wchar.h> on some builds of uClibc.
87042         * doc/headers/wchar.texi: Update.
87043         * lib/wchar_.h: Include <wchar.h> only if it exists.
87044         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
87045         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
87046         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
87047         doesn't exist.
87048         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
87049         * modules/mbfile (Depends-on): Add wchar.
87050         * modules/mbiter (Depends-on): Likewise.
87051         * modules/mbuiter (Depends-on): Likewise.
87052         Reported by Simon Josefsson.
87054 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87056         Work around problem reported by Steven M. Schweda in
87057         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
87058         Tru64 5.1B with the Compaq compiler environment installed declares
87059         an 'isblank' function but does not define it in the C library.
87060         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
87061         * lib/regex_internal.h (isblank): Likewise.
87062         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
87063         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
87065 2007-06-05  Bruno Haible  <bruno@clisp.org>
87067         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
87068         ia64.
87069         * modules/printf-safe: New file.
87070         * modules/fprintf-posix (Depends-on): Add printf-safe.
87071         * modules/printf-posix (Depends-on): Likewise.
87072         * modules/snprintf-posix (Depends-on): Likewise.
87073         * modules/sprintf-posix (Depends-on): Likewise.
87074         * modules/vasnprintf-posix (Depends-on): Likewise.
87075         * modules/vasprintf-posix (Depends-on): Likewise.
87076         * modules/vfprintf-posix (Depends-on): Likewise.
87077         * modules/vprintf-posix (Depends-on): Likewise.
87078         * modules/vsnprintf-posix (Depends-on): Likewise.
87079         * modules/vsprintf-posix (Depends-on): Likewise.
87080         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
87081         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
87082         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
87083         "no" on i386, x86_64, ia64.
87084         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
87085         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87086         on i386, x86_64, ia64.
87087         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
87088         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87089         on i386, x86_64, ia64.
87090         * tests/test-vasnprintf-posix.c: Include float.h.
87091         (LDBL80_WORDS): New macro.
87092         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87093         on i386, x86_64, ia64.
87094         * tests/test-vasprintf-posix.c: Include float.h.
87095         (LDBL80_WORDS): New macro.
87096         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
87097         on i386, x86_64, ia64.
87098         * tests/test-snprintf-posix.c: Include float.h.
87099         * tests/test-sprintf-posix.c: Likewise.
87100         * tests/test-vsnprintf-posix.c: Likewise.
87101         * tests/test-vsprintf-posix.c: Likewise.
87103 2007-06-05  Bruno Haible  <bruno@clisp.org>
87105         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
87106         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
87107         non-IEEE numbers on i386, x86_64, ia64.
87108         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
87109         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
87110         * tests/test-isnanl.h: Include float.h.
87111         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
87113 2007-06-05  Bruno Haible  <bruno@clisp.org>
87115         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
87116         also the %a / %A. Handle the %a / %A code before this extra handling.
87118 2007-06-05  Bruno Haible  <bruno@clisp.org>
87120         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
87121         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
87123 2007-06-05  Bruno Haible  <bruno@clisp.org>
87125         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
87126         typo in variable name.
87128 2007-06-05  Eric Blake  <ebb9@byu.net>
87130         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
87131         Reported by Simon Josefsson.
87133 2007-06-04  Bruno Haible  <bruno@clisp.org>
87135         Avoid test failures on some PowerPC platforms.
87136         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
87137         Define differently for PowerPC.
87138         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
87139         Reported by Gary V. Vaughan <gary@gnu.org>.
87141 2007-06-02  Bruno Haible  <bruno@clisp.org>
87143         Fix test-stdint failure on FreeBSD/ia64.
87144         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
87145         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
87146         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
87147         * doc/headers/stdint.texi: Update.
87149 2007-06-01  Bruno Haible  <bruno@clisp.org>
87151         * tests/test-binary-io.c (main): Pass a third argument to open().
87152         Reported by Gary V. Vaughan <gary@gnu.org>.
87154 2007-06-01  Bruno Haible  <bruno@clisp.org>
87156         * doc/functions/frexpl.texi: Update for mingw.
87158 2007-06-01  Bruno Haible  <bruno@clisp.org>
87160         * tests/test-lseek.c (main): Disable test of errno for invalid third
87161         argument.
87162         * doc/functions/lseek.texi: Update.
87163         Reported by Gary V. Vaughan <gary@gnu.org>.
87165 2007-05-28  Bruno Haible  <bruno@clisp.org>
87167         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
87169 2007-05-31  Eric Blake  <ebb9@byu.net>
87171         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
87172         cross compiling.
87174 2007-05-30  Eric Blake  <ebb9@byu.net>
87175         and Bruno Haible  <bruno@clisp.org>
87177         Work around mingw test failures exposed by m4-1.4.9b.
87178         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
87179         * tests/test-unistd.c: Disable uid_t and git_t tests for the
87180         moment.
87182 2007-05-30  Bruno Haible  <bruno@clisp.org>
87184         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
87185         assuming that they are closed. Needed on HP-UX 11.
87187 2007-05-29  Bruno Haible  <bruno@clisp.org>
87189         Fix a problem with #include_next.
87190         * lib/dirent_.h: Split the double-inclusion guard.
87191         * lib/fcntl_.h: Likewise.
87192         * lib/float_.h: Likewise.
87193         * lib/iconv_.h: Likewise.
87194         * lib/inttypes_.h: Likewise.
87195         * lib/locale_.h: Likewise.
87196         * lib/math_.h: Likewise.
87197         * lib/netinet_in_.h: Likewise.
87198         * lib/search_.h: Likewise.
87199         * lib/signal_.h: Likewise.
87200         * lib/stdint_.h: Likewise.
87201         * lib/stdio_.h: Likewise.
87202         * lib/stdlib_.h: Likewise.
87203         * lib/string_.h: Likewise.
87204         * lib/sys_select_.h: Likewise.
87205         * lib/sys_socket_.h: Likewise.
87206         * lib/sys_stat_.h: Likewise.
87207         * lib/sys_time_.h: Likewise.
87208         * lib/sysexits_.h: Likewise.
87209         * lib/time_.h: Likewise.
87210         * lib/unistd_.h: Likewise.
87211         * lib/wchar_.h: Likewise.
87212         * lib/wctype_.h: Likewise.
87214 2007-05-29  Bruno Haible  <bruno@clisp.org>
87216         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
87217         for the moment.
87219 2007-05-29  Bruno Haible  <bruno@clisp.org>
87221         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
87222         invocation.
87223         Reported by Eric Blake.
87225 2007-05-29  Bruno Haible  <bruno@clisp.org>
87227         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
87228         compiling case.
87230 2007-05-29  Eric Blake  <ebb9@byu.net>
87231             Bruno Haible  <bruno@clisp.org>
87233         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
87234         cross compiles.
87236 2007-05-28  Eric Blake  <ebb9@byu.net>
87238         * modules/closein-tests (test_closein_LDADD): Support test on
87239         cygwin with libtool.
87241 2007-05-28  Bruno Haible  <bruno@clisp.org>
87243         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
87244         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
87245         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
87246         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
87247         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
87248         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
87249         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
87250         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
87251         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
87253 2007-05-28  Eric Blake  <ebb9@byu.net>
87255         Unconditionally include <config.h> in unit tests.
87256         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
87257         * tests/test-allocsa.c, tests/test-arcfour.c,
87258         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
87259         tests/test-array_list.c, tests/test-array_oset.c,
87260         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
87261         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
87262         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
87263         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
87264         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
87265         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
87266         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
87267         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
87268         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
87269         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
87270         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
87271         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
87272         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
87273         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
87274         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
87275         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
87276         test-md5.c, test-memmem.c, test-printf-posix.c,
87277         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
87278         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
87279         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
87280         test-strcasestr.c, test-striconv.c, test-striconveh.c,
87281         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
87282         test-vasnprintf-posix2.c, test-vasnprintf.c,
87283         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
87284         test-vfprintf-posix.c, test-vprintf-posix.c,
87285         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
87286         test-xvasprintf.c: Likewise.
87288 2007-05-28  Bruno Haible  <bruno@clisp.org>
87290         * gnulib-tool (func_import): Remember the --with-tests command-line
87291         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
87292         Reported by Eric Blake.
87294 2007-05-28  Bruno Haible  <bruno@clisp.org>
87296         * modules/ftell-tests: New file.
87297         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
87298         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
87300         * lib/ftell.c: New file.
87301         * modules/ftell: New file.
87302         * m4/ftell.m4: New file.
87303         * doc/functions/ftell.texi: Update.
87304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
87305         REPLACE_FTELL.
87306         * lib/stdio_.h (rpl_ftell): New declaration.
87307         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
87308         REPLACE_FTELL.
87310 2007-05-28  Eric Blake  <ebb9@byu.net>
87312         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
87314 2007-05-28  Bruno Haible  <bruno@clisp.org>
87316         * modules/fseek-tests: New file.
87317         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
87318         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
87320         * lib/fseek.c: New file.
87321         * modules/fseek: New file.
87322         * m4/fseek.m4: New file.
87323         * doc/functions/fseek.texi: Update.
87324         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
87325         REPLACE_FSEEK.
87326         * lib/stdio_.h (rpl_fseek): New declaration.
87327         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
87328         REPLACE_FSEEK.
87330 2007-05-28  Bruno Haible  <bruno@clisp.org>
87332         * lib/stdio_.h (fflush): More comments.
87334 2007-05-28  Bruno Haible  <bruno@clisp.org>
87336         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
87337         runtime test.
87339 2007-05-28  Eric Blake  <ebb9@byu.net>
87341         Improve lseek module.
87342         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
87343         * lib/unistd_.h (lseek): Scale back link warning message.
87344         * tests/test-lseek.c: Beef up test.
87345         * tests/test-lseek.sh: Exercise more facets of lseek.
87346         Reported by Bruno Haible.
87348 2007-05-28  Bruno Haible  <bruno@clisp.org>
87350         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
87351         to define.
87353 2007-05-27  Bruno Haible  <bruno@clisp.org>
87355         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
87357 2007-05-27  Bruno Haible  <bruno@clisp.org>
87359         * modules/openmp: New file.
87360         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
87361         Noah Misch.
87363 2007-05-26  Bruno Haible  <bruno@clisp.org>
87365         * modules/chdir-long (Depends-on): Add fchdir.
87366         * modules/chdir-safer (Depends-on): Likewise.
87367         * modules/fts (Depends-on): Likewise.
87368         * modules/fts-lgpl (Depends-on): Likewise.
87369         * modules/openat (Depends-on): Likewise.
87370         * modules/savewd (Depends-on): Likewise.
87372 2007-05-24  Eric Blake  <ebb9@byu.net>
87374         Fix lseek on mingw.
87375         * modules/lseek: New module.
87376         * m4/lseek.m4: New file.
87377         * lib/lseek.c: New file.
87378         * modules/lseek-tests: New file.
87379         * tests/test-lseek.c: New file.
87380         * tests/test-lseek.sh: New file.
87381         * MODULES.html.sh: Document lseek module.
87382         * modules/fflush (Depends-on): Add lseek, fseeko.
87383         * modules/fseeko (Depends-on): Likewise.
87384         * modules/ftello (Depends-on): Likewise.
87385         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
87386         broken.
87387         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
87388         broken.
87389         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
87390         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
87391         * lib/ftello.c (rpl_ftello): Likewise.
87392         * tests/test-fseeko.c (main): Test this.
87393         * tests/test-fseeko.sh: Likewise.
87394         * tests/test-ftello.c (main): Likewise.
87395         * tests/test-ftello.sh: Likewise.
87396         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
87397         implies replacing fseek.
87398         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
87399         HAVE_FTELLO.
87400         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
87401         * modules/unistd (Makefile.am): Likewise.
87402         * lib/unistd_.h (lseek): Declare a replacement.
87403         * doc/functions/lseek.texi (lseek): Document this fix.
87404         * doc/functions/fseek.texi (fseek): Likewise.
87405         * doc/functions/ftell.texi (ftell): Likewise.
87407 2007-05-24  Bruno Haible  <bruno@clisp.org>
87409         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
87410         in the printed representation of a NaN.
87411         * tests/test-vasprintf-posix.c (test_function): Likewise.
87412         * tests/test-snprintf-posix.h (test_function): Likewise.
87413         * tests/test-sprintf-posix.h (test_function): Likewise.
87414         Reported by Eric Blake.
87416 2007-05-23  Eric Blake  <ebb9@byu.net>
87418         Fix fseeko/ftello on cygwin 1.5.24.
87419         * doc/functions/fseeko.texi (fseeko): Document the fix.
87420         * doc/functions/ftello.texi (ftello): Document the fix.
87421         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
87422         * doc/functions/stdout.text (stdout): New file.
87423         * doc/functions/stderr.text (stderr): New file.
87424         * doc/gnulib.texi (Function Substitutes): Use new files.
87425         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
87426         prior to 1.7.0.
87427         * tests/test-ftello.c (main): Likewise for ftello.
87428         * tests/test-fseeko.sh: New file.
87429         * tests/test-ftello.sh: New file.
87430         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
87431         with seekable stdin.
87432         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
87433         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
87434         (gl_REPLACE_FSEEKO): New macro.
87435         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
87436         * modules/fseeko (Files): Distribute fseeko.c.
87437         * modules/ftello (Files): Distribute ftello.c.
87438         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
87439         mode.
87440         * lib/ftello.c (rpl_ftello): New file.
87441         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
87442         fseeko, ftello.
87443         (gl_STDIN_LARGE_OFFSET): New macro.
87444         * modules/stdio (Makefile.am): Perform the replacement.
87445         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
87447 2007-05-23  Bruno Haible  <bruno@clisp.org>
87449         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
87450         GNULIB_POSIXCHECK is defined.
87452 2007-05-21  Bruno Haible  <bruno@clisp.org>
87454         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
87455         Check also the output for NaN arguments. When cross-compiling, guess
87456         no on IRIX.
87457         * lib/vasnprintf.c: Update comments.
87458         * tests/test-vasnprintf-posix.c (strisnan): New function.
87459         (test_function): Use it.
87460         * tests/test-vasprintf-posix.c (strisnan): New function.
87461         (test_function): Use it.
87462         * tests/test-snprintf-posix.h (strisnan): New function.
87463         (test_function): Use it.
87464         * tests/test-sprintf-posix.h (strisnan): New function.
87465         (test_function): Use it.
87466         Reported by Eric Blake.
87468 2007-05-20  Bruno Haible  <bruno@clisp.org>
87470         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
87471         numbers that fails on BeOS.
87472         * doc/functions/frexpl.texi: Update.
87474 2007-05-20  Jim Meyering  <jim@meyering.net>
87476         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
87477         forced upon us by glibc-2.6.
87479 2007-05-20  Bruno Haible  <bruno@clisp.org>
87481         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
87482         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
87483         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
87484         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
87485         NEED_PRINTF_INFINITE.
87486         (is_infinitel): New function.
87487         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
87488         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
87489         gl_PREREQ_VASNPRINTF_INFINITE.
87490         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
87491         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87492         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
87493         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
87494         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
87495         gl_PREREQ_VASNPRINTF_INFINITE.
87496         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87497         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87498         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87499         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87500         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87501         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87502         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87503         * doc/functions/fprintf.texi: Update.
87504         * doc/functions/printf.texi: Update.
87505         * doc/functions/snprintf.texi: Update.
87506         * doc/functions/sprintf.texi: Update.
87507         * doc/functions/vfprintf.texi: Update.
87508         * doc/functions/vprintf.texi: Update.
87509         * doc/functions/vsnprintf.texi: Update.
87510         * doc/functions/vsprintf.texi: Update.
87512 2007-05-20  Bruno Haible  <bruno@clisp.org>
87514         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
87515         was not found in libc.
87516         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
87518 2007-05-20  Bruno Haible  <bruno@clisp.org>
87520         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87521         printed as "-nan" instead of "nan".
87522         * tests/test-vasprintf-posix.c (test_function): Likewise.
87523         * tests/test-snprintf-posix.h (test_function): Likewise.
87524         * tests/test-sprintf-posix.h (test_function): Likewise.
87525         Needed for HP-UX 11.
87527 2007-05-20  Jim Meyering  <jim@meyering.net>
87529         Fix buggy test for the fchownat-deref bug.
87530         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
87531         symlink required for the run-test.  Without it, this test would
87532         always declare that fchownat doesn't work, and client code would
87533         unnecessarily use the replacement function with fixed libc.
87534         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
87535         Reported by Greg Schafer.
87537 2007-05-19  Bruno Haible  <bruno@clisp.org>
87539         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
87540         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
87541         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
87542         Needed for IRIX 6.5 and Solaris 2.5.1.
87544 2007-05-19  Bruno Haible  <bruno@clisp.org>
87546         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
87547         (test_function): Skip tests involving -0.0 on platforms where
87548         -0.0 = 0.0.
87549         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
87550         (test_function): Skip tests involving -0.0 on platforms where
87551         -0.0 = 0.0.
87552         * tests/test-snprintf-posix.h (have_minus_zero): New function.
87553         (test_function): Skip tests involving -0.0 on platforms where
87554         -0.0 = 0.0.
87555         * tests/test-sprintf-posix.h (have_minus_zero): New function.
87556         (test_function): Skip tests involving -0.0 on platforms where
87557         -0.0 = 0.0.
87558         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
87559         tests.
87560         * tests/test-printf-posix.h (test_function): Likewise.
87561         * tests/test-printf-posix.output: Remove all -0.0 related results.
87562         Needed for IRIX 6.5.
87564 2007-05-19  Bruno Haible  <bruno@clisp.org>
87566         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
87567         printed as "nan0x7fffffff" instead of "nan".
87568         * tests/test-vasprintf-posix.c (test_function): Likewise.
87569         * tests/test-snprintf-posix.h (test_function): Likewise.
87570         * tests/test-sprintf-posix.h (test_function): Likewise.
87571         * tests/test-fprintf-posix.h (NaN): Remove macro.
87572         (test_function): Remove all NaN related tests.
87573         * tests/test-printf-posix.h (NaN): Remove macro.
87574         (test_function): Remove all NaN related tests.
87575         * tests/test-printf-posix.output: Remove all NaN related results.
87576         Needed for IRIX 6.5.
87578 2007-05-19  Bruno Haible  <bruno@clisp.org>
87580         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
87581         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
87583 2007-05-19  Bruno Haible  <bruno@clisp.org>
87585         * lib/float_.h: New file.
87586         * m4/float_h.m4: New file.
87587         * modules/float: New file.
87588         * modules/isnanl (Dependencies): Add float.
87589         * modules/isnanl-nolibm (Dependencies): Likewise.
87590         * modules/mathl (Dependencies): Likewise.
87591         * modules/printf-frexpl (Dependencies): Likewise.
87592         * modules/signbit (Dependencies): Likewise.
87593         * modules/vasnprintf (Dependencies): Likewise.
87594         * doc/headers/float.texi: Update.
87596 2007-05-19  Jim Meyering  <jim@meyering.net>
87598         * lib/utimens.c (gl_futimens): Rename from futimens,
87599         now that glibc-2.6 declares futimens.
87600         * lib/utimens.h: Likewise.
87602 2007-05-19  Bruno Haible  <bruno@clisp.org>
87604         Avoid test failures on mingw.
87605         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
87606         * tests/test-printf-posix.sh: Likewise.
87607         * tests/test-vfprintf-posix.sh: Likewise.
87608         * tests/test-vprintf-posix.sh: Likewise.
87610 2007-05-19  Bruno Haible  <bruno@clisp.org>
87612         Fix *printf result for NaN, Inf, -0.0 on mingw.
87613         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
87614         * lib/vasnprintf.c: Include math.h and isnan.h.
87615         (is_infinite_or_zero): New function.
87616         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
87617         values in the %f, %F, %e, %E, %g, %G directives.
87618         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
87619         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87620         gl_PRINTF_INFINITE and test its result. Invoke
87621         gl_PREREQ_VASNPRINTF_INFINITE.
87622         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87623         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87624         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87625         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87626         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87627         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87628         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87629         * doc/functions/fprintf.texi: Update.
87630         * doc/functions/printf.texi: Update.
87631         * doc/functions/snprintf.texi: Update.
87632         * doc/functions/sprintf.texi: Update.
87633         * doc/functions/vfprintf.texi: Update.
87634         * doc/functions/vprintf.texi: Update.
87635         * doc/functions/vsnprintf.texi: Update.
87636         * doc/functions/vsprintf.texi: Update.
87638 2007-05-19  Bruno Haible  <bruno@clisp.org>
87640         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
87641         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
87642         Instead of multiplying with 10^k, set extra_zeroes to k.
87643         (scale10_round_long_double): Remove function.
87645 2007-05-18  Bruno Haible  <bruno@clisp.org>
87647         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
87648         introduced on 2007-05-06.
87650 2007-05-18  Bruno Haible  <bruno@clisp.org>
87652         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
87653         %g directives.
87654         * tests/test-vasprintf-posix.c (test_function): Likewise.
87655         * tests/test-snprintf-posix.h (test_function): Likewise.
87656         * tests/test-sprintf-posix.h (test_function): Likewise.
87658 2007-05-18  Bruno Haible  <bruno@clisp.org>
87660         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
87661         (strmatch): New function.
87662         (test_function): Test the %f directive on numbers of various exponents.
87663         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
87664         (strmatch): New function.
87665         (test_function): Test the %f directive on numbers of various exponents.
87666         * tests/test-snprintf-posix.h (strmatch): New function.
87667         (test_function): Test the %f directive on numbers of various exponents.
87668         * tests/test-sprintf-posix.h (strmatch): New function.
87669         (test_function): Test the %f directive on numbers of various exponents.
87670         * tests/test-snprintf-posix.c (SIZEOF): New macro.
87671         * tests/test-sprintf-posix.c (SIZEOF): New macro.
87672         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
87673         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
87675 2007-05-18  Bruno Haible  <bruno@clisp.org>
87677         Add support for 'long double' number output.
87678         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
87679         * lib/vasnprintf.c: Include math.h and float+.h.
87680         (mp_limb_t): New type.
87681         (GMP_LIMB_BITS): New macro.
87682         (mp_twolimb_t): New type.
87683         (GMP_TWOLIMB_BITS): New macro.
87684         (mpn_t): New type.
87685         (multiply, divide, convert_to_decimal, decode_long_double,
87686         scale10_round_long_double, scale10_round_decimal_long_double,
87687         floorlog10l): New functions.
87688         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
87689         for the %f, %F, %e, %E, %g, %G directives.
87690         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
87691         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
87692         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
87693         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
87694         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
87695         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87696         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87697         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87698         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87699         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87700         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87701         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
87702         * modules/snprintf-posix (Depends-on): Likewise.
87703         * modules/sprintf-posix (Depends-on): Likewise.
87704         * modules/vasnprintf-posix (Depends-on): Likewise.
87705         * modules/vasprintf-posix (Depends-on): Likewise.
87706         * modules/vfprintf-posix (Depends-on): Likewise.
87707         * modules/vsnprintf-posix (Depends-on): Likewise.
87708         * modules/vsprintf-posix (Depends-on): Likewise.
87709         * modules/vasnprintf (Files): Add lib/float+.h.
87710         * doc/functions/fprintf.texi: Update.
87711         * doc/functions/printf.texi: Update.
87712         * doc/functions/snprintf.texi: Update.
87713         * doc/functions/sprintf.texi: Update.
87714         * doc/functions/vfprintf.texi: Update.
87715         * doc/functions/vprintf.texi: Update.
87716         * doc/functions/vsnprintf.texi: Update.
87717         * doc/functions/vsprintf.texi: Update.
87719 2007-05-18  Bruno Haible  <bruno@clisp.org>
87721         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
87723 2007-05-18  Bruno Haible  <bruno@clisp.org>
87725         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
87726         for printing 64-bit integers. Needed for mingw.
87728 2007-05-18  Bruno Haible  <bruno@clisp.org>
87730         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
87731         gl_FUNC_FREXPL_WORKS.
87732         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
87734 2007-05-18  Bruno Haible  <bruno@clisp.org>
87736         * modules/frexpl-nolibm-tests: New file.
87738         * modules/frexpl-nolibm: New file.
87739         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
87741 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87743         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
87744         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87745         GCC 4.2, which otherwise issues a lot of warnings.
87746         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
87747         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
87748         Likewise.
87749         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
87750         * modules/iconv_open (iconv.h): Likewise.
87751         * modules/locale (locale.h): Likewise.
87752         * modules/netinet_in (netinet/in.h): Likewise.
87753         * modules/sys_select (sys_select.h): Likewise.
87754         * modules/sys_socket (sys/socket.h): Likewise.
87755         * modules/sys_stat (sys/stat.h): Likewise.
87756         * modules/sysexits (sysexits.h): Likewise.
87757         * modules/unistd (unistd.h): Likewise.
87759 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87761         * modules/closein-tests (Makefile.am): Distribute
87762         `test-closein.sh'.
87764 2007-05-17  Bruno Haible  <bruno@clisp.org>
87766         * tests/test-printf-posix.output: Renamed from
87767         tests/test-fprintf-posix.out.
87768         * modules/fprintf-posix-tests: Update.
87769         * modules/printf-posix-tests: Update.
87770         * modules/vfprintf-posix-tests: Update.
87771         * modules/vprintf-posix-tests: Update.
87772         * tests/test-fprintf-posix.sh: Update.
87773         * tests/test-printf-posix.sh: Update.
87774         * tests/test-vfprintf-posix.sh: Update.
87775         * tests/test-vprintf-posix.sh: Update.
87776         Reported by Ralf Wildenhues.
87778 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87780         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
87781         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
87782         GCC 4.2, which otherwise issues a lot of warnings.
87783         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
87784         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
87785         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
87786         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
87787         it should no longer be needed.
87788         * lib/string_.h: Likewise.
87789         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
87790         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
87791         * modules/inttypes (inttypes.h): Likewise.
87792         * modules/math (math.h): Likewise.
87793         * modules/search (search.h): Likewise.
87794         * modules/signal (signal.h): Likewise.
87795         * modules/stdint (stdint.h): Likewise.
87796         * modules/stdio (stdio.h): Likewise.
87797         * modules/stdlib (stdlib.h): Likewise.
87798         * modules/string (string.h): Likewise.
87799         * modules/sys_time (sys/time.h): Likewise.
87800         * modules/time (time.h): Likewise.
87801         * modules/wchar (wchar.h): Likewise.
87802         * modules/wctype (wtype.h): Likewise.
87804 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
87806         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
87808 2007-05-13  Bruno Haible  <bruno@clisp.org>
87810         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
87811         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87812         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
87813         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87814         (gl_PREREQ_STRTOK_R): Don't require it here.
87816 2007-05-13  Bruno Haible  <bruno@clisp.org>
87818         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
87819         when used in C++ mode.
87821 2007-05-12  Bruno Haible  <bruno@clisp.org>
87823         * lib/linebuffer.h: Tweak doc.
87824         * lib/linebuffer.c: Likewise.
87826 2007-05-12  James Youngman  <jay@gnu.org>
87828         * lib/linebuffer.c (readlinebuffer_delim): New function,
87829         like readlinebuffer, but use a caller-specified delimiter.
87830         (readlinebuffer): Just call readlinebuffer_delim with '\n'
87831         as the delimiter.
87832         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
87834 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
87836         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
87837         * modules/openat (Files): Remove openat-die.c.
87838         (Depends-on): Add openat-die.
87839         * modules/openat-die: New module.
87841 2007-05-06  Bruno Haible  <bruno@clisp.org>
87843         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
87844         Update with info about Cygwin.
87845         * doc/functions/fprintf.texi: Update.
87846         * doc/functions/printf.texi: Update.
87847         * doc/functions/snprintf.texi: Update.
87848         * doc/functions/sprintf.texi: Update.
87849         * doc/functions/vfprintf.texi: Update.
87850         * doc/functions/vprintf.texi: Update.
87851         * doc/functions/vsnprintf.texi: Update.
87852         * doc/functions/vsprintf.texi: Update.
87853         Reported by Eric Blake.
87855 2007-05-06  Bruno Haible  <bruno@clisp.org>
87857         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
87858         padding ourselves for the floating-point directives.
87859         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
87860         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
87861         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87862         gl_PRINTF_FLAG_ZERO and test its result. Invoke
87863         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
87864         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87865         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87866         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87867         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87868         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87869         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87870         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87871         * tests/test-snprintf-posix.h (test_function): Also check the width
87872         and some flags in the %f directive.
87873         * tests/test-sprintf-posix.h (test_function): Likewise.
87874         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87875         * tests/test-vasprintf-posix.c (test_function): Likewise.
87876         * doc/functions/fprintf.texi: Update.
87877         * doc/functions/printf.texi: Update.
87878         * doc/functions/snprintf.texi: Update.
87879         * doc/functions/sprintf.texi: Update.
87880         * doc/functions/vfprintf.texi: Update.
87881         * doc/functions/vprintf.texi: Update.
87882         * doc/functions/vsnprintf.texi: Update.
87883         * doc/functions/vsprintf.texi: Update.
87885 2007-05-06  Bruno Haible  <bruno@clisp.org>
87887         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
87888         pass the ' flag character to sprintf or snprintf.
87889         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
87890         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
87891         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
87892         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
87893         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
87894         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
87895         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
87896         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
87897         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
87898         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
87899         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
87900         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
87901         * tests/test-snprintf-posix.h (test_function): Also check the grouping
87902         flag.
87903         * tests/test-sprintf-posix.h (test_function): Likewise.
87904         * tests/test-vasnprintf-posix.c (test_function): Likewise.
87905         * tests/test-vasprintf-posix.c (test_function): Likewise.
87906         * doc/functions/fprintf.texi: Update.
87907         * doc/functions/printf.texi: Update.
87908         * doc/functions/snprintf.texi: Update.
87909         * doc/functions/sprintf.texi: Update.
87910         * doc/functions/vfprintf.texi: Update.
87911         * doc/functions/vprintf.texi: Update.
87912         * doc/functions/vsnprintf.texi: Update.
87913         * doc/functions/vsprintf.texi: Update.
87915 2007-05-01  Bruno Haible  <bruno@clisp.org>
87917         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
87919 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
87921         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
87922         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
87924 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
87926         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
87927         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
87928         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
87930 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
87932         * lib/argp-help.c (struct hol_entry): New member `ord'.
87933         (HOL_ENTRY_PTRCMP): Use ord for comparison
87934         (hol_sort): Initialize ord.
87936 2007-05-01  Bruno Haible  <bruno@clisp.org>
87938         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
87939         Reported by Eric Blake.
87940         * doc/gnulib.texi (Function Substitutes): Update.
87942 2007-05-01  Bruno Haible  <bruno@clisp.org>
87944         * doc/functions.texi: Remove file, now redundant through
87945         doc/functions/*.texi.
87947 2007-05-01  Bruno Haible  <bruno@clisp.org>
87949         * modules/argp (Depends-on): Add sleep.
87951 2007-05-01  Bruno Haible  <bruno@clisp.org>
87953         * modules/sleep-tests: New file.
87954         * tests/test-sleep.c: New file.
87956         * modules/sleep: New file.
87957         * lib/sleep.c: New file.
87958         * m4/sleep.m4: New file.
87959         * lib/unistd_.h (sleep): New declaration.
87960         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
87961         HAVE_SLEEP.
87962         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
87963         * doc/functions/sleep.texi: Document the sleep module.
87965 2007-05-01  Bruno Haible  <bruno@clisp.org>
87967         * lib/sigprocmask.h: Remove file.
87968         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
87969         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
87970         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
87971         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
87972         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
87973         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
87974         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
87975         HAVE_SIGSET_T as a shell variable.
87976         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
87977         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
87978         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
87979         (Depends-on): Add signal. Remove verify.
87980         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
87981         (Include): Mention <signal.h> instead of sigprocmask.h.
87982         * NEWS: Mention the change.
87983         * lib/fatal-signal.c: Don't include sigprocmask.h.
87985 2007-05-01  Bruno Haible  <bruno@clisp.org>
87987         * modules/signal: New file.
87988         * lib/signal_.h: New file.
87989         * m4/signal_h.m4: New file.
87991 2007-05-01  Bruno Haible  <bruno@clisp.org>
87993         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
87994         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
87995         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
87996         HAVE_WCTYPE_CTMP_BUG into wctype.h.
87998 2007-05-01  Bruno Haible  <bruno@clisp.org>
88000         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
88001         configure time.
88002         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
88003         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
88004         * modules/sys_stat (Makefile.am): Substitute their values into
88005         sys/stat.h.
88007 2007-05-01  Bruno Haible  <bruno@clisp.org>
88009         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
88010         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
88011         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
88013 2007-05-01  Bruno Haible  <bruno@clisp.org>
88015         * doc/header/assert.texi: Undo last change: don't mention the gnulib
88016         'assert' module here.
88018 2007-05-01  Bruno Haible  <bruno@clisp.org>
88020         * doc/functions/*.texi: New files.
88021         * doc/functions/google-ranking.txt: New file.
88022         * doc/gnulib.texi (Function Substitutes): New chapter.
88023         (ctime, inet_ntoa): Remove sections.
88024         * doc/ctime.texi: Remove file.
88025         * doc/inet_ntoa.texi: Remove file.
88026         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
88027         dependencies.
88028         (%.info): New rule, specifying a --reference-limit.
88030 2007-05-01  Bruno Haible  <bruno@clisp.org>
88032         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
88034 2007-05-01  Bruno Haible  <bruno@clisp.org>
88036         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
88037         the portability of 'mkdir' to mingw systems.
88039 2007-05-01  Bruno Haible  <bruno@clisp.org>
88041         * doc/headers/google-ranking.txt: New file.
88043 2007-04-30  Eric Blake  <ebb9@byu.net>
88045         Prefer fseeko to fseek.
88046         * modules/getpass (Depends-on): Add fseeko.
88047         * lib/getpass.c (getpass): Use fseeko, not fseek.
88049 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
88051         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
88052         assumes the sorting is stable, while most qsort implementations
88053         are not.  Use argument addresses to ensure they never compare as
88054         equal.
88056         * tests/test-argp-2.sh (usage-indent test): Fix output
88057         (func_compare): Restore diff options
88058         * tests/test-argp.c: Restore #include "progname.h"
88060 2007-04-29  Bruno Haible  <bruno@clisp.org>
88062         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
88063         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88064         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
88065         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
88066         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
88067         (configure.ac): Define CHECK_SNPRINTF_POSIX.
88068         (TESTS, check_PROGRAMS): Add test-snprintf.
88069         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
88070         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
88071         (TESTS, check_PROGRAMS): Add test-vsnprintf.
88072         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
88073         assertions that fail on HP-UX, OSF/1, or IRIX.
88074         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
88076 2007-04-29  Bruno Haible  <bruno@clisp.org>
88078         * MODULES.html.sh (posix_functions): Remove 'contents'.
88080 2007-04-29  Karl Berry  <karl@gnu.org>
88082         * config/srclist.txt (gendocs_template_min): new entry.
88084 2007-04-29  Bruno Haible  <bruno@clisp.org>
88086         Work around fpurge bug on BSD systems.
88087         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
88088         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
88089         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
88090         fpurge to rpl_fpurge if the system already has this function.
88091         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
88092         the case where the system already has this function. Correct invariants
88093         on BSD systems.
88094         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
88095         BSD systems.
88097 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
88099         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
88100         proposed by Sven Verdoolaege.
88102         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
88103         options.
88104         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
88105         (usage and help tests): Update
88107 2007-04-29  Bruno Haible  <bruno@clisp.org>
88109         * tests/test-fflush.c (main): Use a file of size 17, not 10.
88110         Print more information in case of failure. Disable a test on BeOS.
88112 2007-04-29  Bruno Haible  <bruno@clisp.org>
88114         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
88115         This helps debugging on systems on which no gdb is available.
88117 2007-04-29  Bruno Haible  <bruno@clisp.org>
88119         * lib/freading.h: Improve comments.
88120         * lib/fwriting.h: Likewise.
88121         * tests/test-freading.c (main): Don't check freading immediately after
88122         repositioning. Needed for glibc.
88124 2007-04-29  Bruno Haible  <bruno@clisp.org>
88126         * lib/freading.c (freading): Trivial simplification.
88128 2007-04-28  Bruno Haible  <bruno@clisp.org>
88130         * tests/test-fwriting.c (main): Also test the interaction between
88131         fflush and fwriting.
88132         * modules/fwriting-tests (Depends-on): Add fflush.
88134         * tests/test-freading.c (main): Also test the interaction between
88135         fflush and freading.
88136         * modules/freading-tests (Depends-on): Add fflush.
88138 2007-04-28  Bruno Haible  <bruno@clisp.org>
88140         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
88141         fseeko and ftello.
88142         Suggested by Eric Blake.
88144 2007-04-28  Jim Meyering  <jim@meyering.net>
88146         Avoid false-negative in gl_STDINT_H's C99 conformance test.
88147         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
88148         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
88150 2007-04-27  Eric Blake  <ebb9@byu.net>
88152         * doc/headers/assert.texi (assert.h): Document assert module use.
88154 2007-04-27  Bruno Haible  <bruno@clisp.org>
88156         * doc/headers/*.texi: New files.
88157         * doc/gnulib.texi (Header File Substitutes): New chapter.
88158         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
88159         dependencies.
88160         (standards.info ,standards.html, standards.dvi): Update dependencies.
88161         (mostlyclean, clean): New targets.
88163 2007-04-27  Bruno Haible  <bruno@clisp.org>
88165         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
88166         * modules/sysexits (Files, Makefile.am): Update.
88168         * lib/sys_socket_.h: Renamed from lib/socket_.h.
88169         * modules/sys_socket (Files, Makefile.am): Update.
88171         * lib/sys_stat_.h: Renamed from lib/stat_.h.
88172         * modules/sys_stat (Files, Makefile.am): Update.
88174 2007-04-27  Eric Blake  <ebb9@byu.net>
88176         * lib/freading.h: Improve comments.
88177         * lib/fwriting.h: Likewise.
88178         * lib/fflush.c: Likewise.
88180         Fix closein for mingw.
88181         * modules/closein-tests: Add tests for closein.
88182         * tests/test-closein.c: New file.
88183         * tests/test-closein.sh: Likewise.
88184         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
88185         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
88187 2007-04-27  Bruno Haible  <bruno@clisp.org>
88189         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
88190         version is < 6.
88191         * lib/math_.h [__DECC]: Likewise.
88192         * lib/stdio_.h [__DECC]: Likewise.
88193         * lib/stdlib_.h [__DECC]: Likewise.
88194         * lib/string_.h [__DECC]: Likewise.
88195         * lib/time_.h [__DECC]: Likewise.
88196         * lib/wchar_.h [__DECC]: Likewise.
88197         * lib/wctype_.h [__DECC]: Likewise.
88199 2007-04-27  Bruno Haible  <bruno@clisp.org>
88201         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
88203 2007-04-27  Bruno Haible  <bruno@clisp.org>
88205         * lib/fflush.c: Add comments.
88206         * modules/fpurge-tests (Depends-on): Add fflush.
88207         * modules/freadable-tests (Depends-on): Likewise.
88208         * modules/fwritable-tests (Depends-on): Likewise.
88210 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
88212         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
88213         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
88214         Report by Bruno Haible <bruno@clisp.org>.
88216 2007-04-26  Eric Blake  <ebb9@byu.net>
88218         Fix fflush on mingw.
88219         * modules/fflush (Depends-on): Add freading.
88220         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
88221         but unread data.
88223 2007-04-26  Eric Blake  <ebb9@byu.net>
88224         and Bruno Haible  <bruno@clisp.org>
88226         Implement freading and fwriting.
88227         * lib/freading.c: New file.
88228         * lib/freading.h: Likewise.
88229         * m4/freading.m4: Likewise.
88230         * modules/freading: Likewise.
88231         * modules/freading-tests: Likewise.
88232         * tests/test-freading.c: Likewise.
88233         * lib/fwriting.c: New file.
88234         * lib/fwriting.h: Likewise.
88235         * m4/fwriting.m4: Likewise.
88236         * modules/fwriting: Likewise.
88237         * modules/fwriting-tests: Likewise.
88238         * tests/test-fwriting.c: Likewise.
88239         * MODULES.html.sh (File stream based Input/Output): Mention them.
88241 2007-04-26  Bruno Haible  <bruno@clisp.org>
88243         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
88244         'long' when we assume it.
88245         Suggested by Eric Blake.
88247 2007-04-26  Bruno Haible  <bruno@clisp.org>
88249         Ensure fseeko, ftello are declared on glibc systems.
88250         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
88251         * modules/fseeko (configure.ac-early): Likewise.
88252         * modules/ftello (configure.ac-early): Likewise.
88253         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
88254         AC_FUNC_FSEEKO for this.
88255         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
88256         (gl_CHECK_FSEEKO): Remove macro.
88258 2007-04-26  Bruno Haible  <bruno@clisp.org>
88260         * tests/test-fflush.c (main): Also check the ftell result after
88261         fflush and fseek/fseeko.
88262         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
88263         file descriptor position cache in the stream.
88264         * lib/fseeko.c (rpl_fseeko): Likewise.
88266 2007-04-26  Bruno Haible  <bruno@clisp.org>
88268         * modules/fflush-tests (Depends-on): Add fseeko.
88270 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
88271             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88273         * lib/argz_.h: ensure error_t definition is obtained in same
88274         mechanism system argz.h would have.
88275         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
88276         argz facilities are known bad.  Err on the side of caution if
88277         cross-compiling.
88279 2007-04-25  Eric Blake  <ebb9@byu.net>
88281         * lib/fpurge.c (includes): Use stdlib.h for free.
88282         * tests/test-fflush.c (main): Also test fflush-fseeko.
88284 2007-04-25  Bruno Haible  <bruno@clisp.org>
88286         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
88287         * lib/fseeko.c: New file.
88288         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
88289         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
88290         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
88291         gl_FUNC_FSEEKO.
88292         (gl_FUNC_FSEEKO): Invoke it.
88293         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
88294         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
88295         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
88297 2007-04-25  Bruno Haible  <bruno@clisp.org>
88299         * modules/fflush (Depends-on): Add ftello.
88301 2007-04-25  Bruno Haible  <bruno@clisp.org>
88303         * modules/ftello-tests: New file.
88304         * tests/test-ftello.c: New file.
88306         * modules/ftello: New file.
88307         * m4/ftello.m4: New file.
88308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
88309         HAVE_FTELLO.
88310         * lib/stdio_.h (ftello): New declaration.
88311         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
88312         HAVE_FTELLO.
88314 2007-04-25  Bruno Haible  <bruno@clisp.org>
88316         * modules/fseeko-tests: New file.
88317         * tests/test-fseeko.c: New file.
88319         * modules/fseeko: New file.
88320         * m4/fseeko.m4: New file.
88321         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
88322         HAVE_FSEEKO.
88323         * lib/stdio_.h (fseeko): New declaration.
88324         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
88325         HAVE_FSEEKO.
88327 2007-04-25  Bruno Haible  <bruno@clisp.org>
88329         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
88331 2007-04-25  Bruno Haible  <bruno@clisp.org>
88333         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
88334         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
88335         * tests/test-unistd.c: Likewise.
88336         * tests/test-fcntl.c: Likewise.
88338 2007-04-23  Eric Blake  <ebb9@byu.net>
88340         * lib/fflush.c: Fix missing include.
88341         Reported by Bruno Haible.
88343 2007-04-23  Bruno Haible  <bruno@clisp.org>
88345         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
88346         Reported by Eric Blake.
88348 2007-04-23  Bruno Haible  <bruno@clisp.org>
88350         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
88352 2007-04-23  Bruno Haible  <bruno@clisp.org>
88354         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
88356 2007-04-23  Bruno Haible  <bruno@clisp.org>
88358         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
88359         Needed on HP-UX 11.
88361 2007-04-16  Eric Blake  <ebb9@byu.net>
88363         Make fflush rely on fpurge.
88364         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
88365         open coding all variants.
88366         * modules/fflush (Depends-on): Add fpurge and unistd.
88367         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
88368         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
88370         Fix --with-tests compilation on cygwin.
88371         * modules/argmatch-tests (Makefile.am): List gnulib library first
88372         in LDADD.
88373         * modules/argp-tests (Makefile.am): Likewise.
88374         * modules/array-list-tests (Makefile.am): Likewise.
88375         * modules/array-oset-tests (Makefile.am): Likewise.
88376         * modules/avltree-list-tests (Makefile.am): Likewise.
88377         * modules/avltree-oset-tests (Makefile.am): Likewise.
88378         * modules/avltreehash-list-tests (Makefile.am): Likewise.
88379         * modules/carray-list-tests (Makefile.am): Likewise.
88380         * modules/dirname-tests (Makefile.am): Likewise.
88381         * modules/frexp-tests (Makefile.am): Likewise.
88382         * modules/isnanl-tests (Makefile.am): Likewise.
88383         * modules/linked-list-tests (Makefile.am): Likewise.
88384         * modules/linkedhash-list-tests (Makefile.am): Likewise.
88385         * modules/lock-tests (Makefile.am): Likewise.
88386         * modules/rbtree-list-tests (Makefile.am): Likewise.
88387         * modules/rbtree-oset-tests (Makefile.am): Likewise.
88388         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
88389         * modules/tls-tests (Makefile.am): Likewise.
88390         * modules/tsearch-tests (Makefile.am): Likewise.
88391         * modules/xvasprintf-tests (Makefile.am): Likewise.
88393         Fix fpurge for cygwin.
88394         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
88395         value.
88396         * modules/fpurge-tests (Depends-on): Clean up trash.
88398 2007-04-16  Simon Josefsson  <simon@josefsson.org>
88400         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
88402         * m4/autobuild.m4: Re-indent.
88404 2007-04-13  Bruno Haible  <bruno@clisp.org>
88406         * modules/fpurge-tests: New file.
88407         * tests/test-fpurge.c: New file.
88409         * modules/fpurge: New file.
88410         * lib/fpurge.h: New file.
88411         * lib/fpurge.c: New file.
88412         * m4/fpurge.m4: New file.
88414 2007-04-13  Bruno Haible  <bruno@clisp.org>
88416         * modules/fbufmode-tests: New file.
88417         * tests/test-fbufmode.c: New file.
88419         * modules/fbufmode: New file.
88420         * lib/fbufmode.h: New file.
88421         * lib/fbufmode.c: New file.
88422         * m4/fbufmode.m4: New file.
88424 2007-04-13  Bruno Haible  <bruno@clisp.org>
88426         * modules/fwritable-tests: New file.
88427         * tests/test-fwritable.c: New file.
88429         * modules/fwritable: New file.
88430         * lib/fwritable.h: New file.
88431         * lib/fwritable.c: New file.
88432         * m4/fwritable.m4: New file.
88434 2007-04-13  Bruno Haible  <bruno@clisp.org>
88436         * modules/freadable-tests: New file.
88437         * tests/test-freadable.c: New file.
88439         * modules/freadable: New file.
88440         * lib/freadable.h: New file.
88441         * lib/freadable.c: New file.
88442         * m4/freadable.m4: New file.
88444 2007-04-13  Bruno Haible  <bruno@clisp.org>
88446         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
88447         MOSTLYCLEANFILES.
88449 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
88451         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
88452         gzip bootstrap.conf to avoid dragging in i18n machinery.
88453         (gnulib_tool_option): Use it.
88455 2007-04-13  Bruno Haible  <bruno@clisp.org>
88457         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
88458         %F directives.
88459         * tests/test-vasprintf-posix.c (test_function): Likewise.
88460         * tests/test-snprintf-posix.h (test_function): Likewise.
88461         * tests/test-sprintf-posix.h (test_function): Likewise.
88462         * tests/test-fprintf-posix.h (test_function): Likewise.
88463         * tests/test-printf-posix.h (test_function): Likewise.
88464         * tests/test-fprintf-posix.out: Likewise.
88466 2007-04-13  Bruno Haible  <bruno@clisp.org>
88468         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
88469         * modules/tls-tests (configure.ac): Likewise.
88470         Reported by Arto C. Nirkko <anirkko@insel.ch>.
88472 2007-04-13  Bruno Haible  <bruno@clisp.org>
88474         * lib/tls.c (glthread_tls_get): Fix return type.
88475         Patch by Arto C. Nirkko <anirkko@insel.ch>.
88477 2007-04-12  Eric Blake  <ebb9@byu.net>
88479         * modules/gettime (Depends-on): Remove gettime.
88480         Reported by Dmitry V. Levin.
88482 2007-04-12  Bruno Haible  <bruno@clisp.org>
88484         * modules/fflush (Include): Mention <stdio.h>.
88485         * modules/strtoimax (Include): Mention <inttypes.h>.
88486         * modules/strtoumax (Include): Likewise.
88488 2007-04-12  Eric Blake  <ebb9@byu.net>
88490         * .cvsignore: New file.
88491         * .gitignore: Likewise.
88493 2007-04-12  Bruno Haible  <bruno@clisp.org>
88495         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
88496         not before, since $(LDADD) often contains libgnu.a.
88497         * modules/striconv-tests (test_striconv_LDADD): Likewise.
88498         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
88499         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
88500         Needed on Cygwin.
88502 2007-04-12  Eric Blake  <ebb9@byu.net>
88504         Work around glibc's failure to flush stdin on fclose.
88505         * lib/closein.c (close_stdin): Flush stdin before closing.
88507         Work around glibc's failure to reset seekable stdin on exit.
88508         * modules/closein: New module.
88509         * lib/closein.c: New file.
88510         * lib/closein.h: Likewise.
88511         * m4/closein.m4: Likewise.
88512         * MODULES.html.sh (File stream based Input/Output): Document it.
88514 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88516         * gnulib-tool: Rename generated 'autobuild' script to
88517         'do-autobuild' in --create-megatestdir output.
88519         * doc/gnulib.texi (Build robot for gnulib): Fix.
88521 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88523         * modules/sysexits (Depends-on): Add absolute-header.
88525 2007-04-12  Eric Blake  <ebb9@byu.net>
88527         No need to preserve errno on success.
88528         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
88529         Reported by Bruno Haible.
88531 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88533         * MODULES.html.sh (Support for maintaining and releasing
88534         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
88536 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88538         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
88540 2007-04-12  Simon Josefsson  <simon@josefsson.org>
88542         * modules/autobuild: New module.
88544         * m4/autobuild.m4: New file.
88546 2007-04-11  Bruno Haible  <bruno@clisp.org>
88548         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
88549         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
88550         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
88551         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
88552         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
88553         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88554         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88555         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
88556         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88557         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88558         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
88559         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88560         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88561         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
88562         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88563         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88564         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
88565         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88566         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88567         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
88568         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88569         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88570         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
88571         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88572         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88573         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
88574         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
88575         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
88576         Reported by Eric Blake.
88578 2007-04-11  Bruno Haible  <bruno@clisp.org>
88580         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
88582 2007-04-10  Bruno Haible  <bruno@clisp.org>
88584         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
88585         for NaN and Infinity. Needed on FreeBSD 6.1.
88586         * tests/test-vasnprintf-posix.c (test_function): Undo last change
88587         regarding results for "%010a" of Infinity and NaN.
88588         * tests/test-vasprintf-posix.c (test_function): Likewise.
88589         * tests/test-snprintf-posix.h (test_function): Likewise.
88590         * tests/test-sprintf-posix.h (test_function): Likewise.
88591         * tests/test-fprintf-posix.h (test_function): Likewise.
88592         * tests/test-printf-posix.h (test_function): Likewise.
88593         * tests/test-fprintf-posix.out: Likewise.
88595 2007-04-10  Bruno Haible  <bruno@clisp.org>
88597         * modules/locale-tests: New file.
88598         * tests/test-locale.c: New file.
88600         * modules/locale: New file.
88601         * lib/locale_.h: New file.
88602         * m4/locale_h.m4: New file.
88604 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
88605             Bruno Haible  <bruno@clisp.org>
88607         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
88608         be determined, test for availability of the copysignf, copysign,
88609         copysignl functions.
88610         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
88611         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
88612         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
88614 2007-04-09  Eric Blake  <ebb9@byu.net>
88616         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
88617         * modules/stdio (Makefile.am): Support fflush.
88618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
88619         * modules/fflush: New file.
88620         * lib/fflush.c: Likewise.
88621         * m4/fflush.m4: Likewise.
88622         * modules/fflush-tests: New test.
88623         * tests/test-fflush.c: Likewise.
88624         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
88626 2007-04-06  Bruno Haible  <bruno@clisp.org>
88628         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
88629         (VASNPRINTF): Use signbit for faster determination whether to print a
88630         minus sign.
88631         * modules/vasnprintf (Files): Remove lib/float+.h.
88632         * modules/fprintf-posix (Depends-on): Add signbit.
88633         * modules/snprintf-posix (Depends-on): Likewise.
88634         * modules/sprintf-posix (Depends-on): Likewise.
88635         * modules/vasnprintf-posix (Depends-on): Likewise.
88636         * modules/vasprintf-posix (Depends-on): Likewise.
88637         * modules/vfprintf-posix (Depends-on): Likewise.
88638         * modules/vsnprintf-posix (Depends-on): Likewise.
88639         * modules/vsprintf-posix (Depends-on): Likewise.
88641 2007-04-06  Bruno Haible  <bruno@clisp.org>
88643         * tests/test-frexp.c (main): Test also the sign bit of zero results.
88644         * tests/test-frexpl.c (main): Likewise.
88645         * tests/test-ldexpl.c (main): Likewise.
88646         * modules/frexp-tests (Depends-on): Add signbit.
88647         * modules/frexpl-tests (Depdends-on): Likewise.
88648         * modules/ldexpl-tests (Depdends-on): Likewise.
88650 2007-04-06  Bruno Haible  <bruno@clisp.org>
88652         * modules/signbit-tests: New file.
88653         * tests/test-signbit.c: New file.
88655         * modules/signbit: New file.
88656         * lib/signbitf.c: New file.
88657         * lib/signbitd.c: New file.
88658         * lib/signbitl.c: New file.
88659         * m4/signbit.m4: New file.
88660         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
88661         (signbit): New macro.
88662         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
88663         REPLACE_SIGNBIT.
88664         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
88665         REPLACE_FREXPL into math.h.
88667 2007-04-06  Bruno Haible  <bruno@clisp.org>
88669         * modules/isnanf-nolibm-tests: New file.
88670         * tests/test-isnanf.c: New file.
88672         * modules/isnanf-nolibm: New file.
88673         * lib/isnanf.h: New file.
88674         * lib/isnanf.c: New file.
88675         * lib/isnan.c: Consider the USE_FLOAT macro.
88676         * m4/isnanf.m4: New file.
88678 2007-04-06  Bruno Haible  <bruno@clisp.org>
88680         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
88681         (Link): New section.
88683         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
88685 2007-04-06  Bruno Haible  <bruno@clisp.org>
88687         Assume the 'long double' type.
88688         * m4/longdouble.m4: Remove file.
88689         * config/srclist.txt: Don't mention longdouble.m4.
88690         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
88691         * lib/float+.h: Likewise.
88692         * lib/frexp.c: Likewise.
88693         * lib/printf-args.h: Likewise.
88694         * lib/printf-args.c: Likewise.
88695         * lib/printf-frexp.c: Likewise.
88696         * lib/printf-parse.c: Likewise.
88697         * lib/vasnprintf.c: Likewise.
88698         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
88699         * m4/intl.m4: Likewise.
88700         * m4/isnanl.m4: Likewise.
88701         * m4/printf.m4: Likewise.
88702         * m4/printf-frexpl.m4: Likewise.
88703         * m4/vasnprintf.m4: Likewise.
88704         * modules/allocsa (Files): Remove m4/longdouble.m4.
88705         * modules/gettext (Files): Likewise.
88706         * modules/relocatable-prog-wrapper (Files): Likewise.
88707         * modules/vasnprintf (Files): Likewise.
88708         * modules/isnanl (Files): Likewise.
88709         (Include): Simplify.
88710         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
88711         (Include): Simplify.
88712         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
88713         (Include): Simplify.
88714         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
88715         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88716         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
88717         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88718         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88719         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88720         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
88721         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88722         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
88723         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88724         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
88725         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
88726         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
88727         * tests/test-isnanl.c: Likewise.
88728         * tests/test-snprintf-posix.h: Likewise.
88729         * tests/test-sprintf-posix.h: Likewise.
88730         * tests/test-vasnprintf-posix.c: Likewise.
88731         * tests/test-vasnprintf-posix2.c: Likewise.
88732         * tests/test-vasprintf-posix.c: Likewise.
88734 2007-04-06  Bruno Haible  <bruno@clisp.org>
88736         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
88737         * lib/math_.h [__DECC]: Include the overridden include file through
88738         #include_next, outside the double-inclusion guard.
88739         * lib/stdio_.h [__DECC]: Likewise.
88740         * lib/stdlib_.h [__DECC]: Likewise.
88741         * lib/string_.h [__DECC]: Likewise.
88742         * lib/time_.h [__DECC]: Likewise.
88743         * lib/wchar_.h [__DECC]: Likewise.
88744         * lib/wctype_.h [__DECC]: Likewise.
88745         * lib/inttypes_.h [__DECC]: Likewise.
88746         Reported by Albert Chin <china@thewrittenword.com> in
88747         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
88749 2007-04-04  Eric Blake  <ebb9@byu.net>
88751         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
88752         1.5.x.
88754 2007-04-04  Bruno Haible  <bruno@clisp.org>
88756         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
88757         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
88759 2007-04-04  Bruno Haible  <bruno@clisp.org>
88761         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
88762         results for "%010a" of Infinity and NaN.
88763         * tests/test-vasprintf-posix.c (test_function): Likewise.
88764         * tests/test-snprintf-posix.h (test_function): Likewise.
88765         * tests/test-sprintf-posix.h (test_function): Likewise.
88766         * tests/test-fprintf-posix.h (test_function): Remove these tests.
88767         * tests/test-printf-posix.h (test_function): Likewise.
88768         * tests/test-fprintf-posix.out: Update.
88769         Needed for FreeBSD 6.1.
88771 2007-04-04  Bruno Haible  <bruno@clisp.org>
88773         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
88774         directly used by the gnulib modules nor by gnulib-tool.
88776 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
88778         * DEPENDENCIES: Give overall description of version dependency
88779         desirability.  Use more-typical names for apps.
88780         Add shell, coreutils, diffutils, grep, tar, gzip.
88782 2007-04-04  Simon Josefsson  <simon@josefsson.org>
88784         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
88786 2007-04-04  Karl Berry  <karl@gnu.org>
88788         * MODULES.html.sh (func_module): missing '.
88790 2007-04-03  Bruno Haible  <bruno@clisp.org>
88792         * modules/argmatch-tests (Makefile.am): New variable
88793         test_argmatch_LDADD.
88794         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
88795         * modules/array-list-tests (Makefile.am): New variable
88796         test_array_list_LDADD.
88797         * modules/array-oset-tests (Makefile.am): New variable
88798         test_array_oset_LDADD.
88799         * modules/avltree-list-tests (Makefile.am): New variable
88800         test_avltree_list_LDADD.
88801         * modules/avltree-oset-tests (Makefile.am): New variable
88802         test_avltree_oset_LDADD.
88803         * modules/avltreehash-list-tests (Makefile.am): New variable
88804         test_avltreehash_list_LDADD.
88805         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
88806         test_canonicalize_lgpl_LDADD.
88807         * modules/carray-list-tests (Makefile.am): New variable
88808         test_carray_list_LDADD.
88809         * modules/dirname-tests (Makefile.am): New variable
88810         test_dirname_LDADD.
88811         * modules/linked-list-tests (Makefile.am): New variable
88812         test_linked_list_LDADD.
88813         * modules/linkedhash-list-tests (Makefile.am): New variable
88814         test_linkedhash_list_LDADD.
88815         * modules/rbtree-list-tests (Makefile.am): New variable
88816         test_rbtree_list_LDADD.
88817         * modules/rbtree-oset-tests (Makefile.am): New variable
88818         test_rbtree_oset_LDADD.
88819         * modules/rbtreehash-list-tests (Makefile.am): New variable
88820         test_rbtreehash_list_LDADD.
88821         * modules/xvasprintf-tests (Makefile.am): New variable
88822         test_xvasprintf_LDADD.
88823         Reported by Eric Blake.
88825 2007-04-03  Eric Blake  <ebb9@byu.net>
88827         * DEPENDENCIES: Weaken m4 requirements.
88829 2007-04-03  Bruno Haible  <bruno@clisp.org>
88831         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
88832         * modules/isnanl-tests (configure.ac): Likewise.
88834 2007-04-03  Ben Pfaff  <blp@gnu.org>
88836         * modules/iconv_open: Add $(srcdir)/ to source directory
88837         references in Makefile fragments that call gperf, to fix VPATH
88838         builds.
88840 2007-04-03  Bruno Haible  <bruno@clisp.org>
88842         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
88843         * lib/ldexpl.c: Undo last change.
88845 2007-04-03  Bruno Haible  <bruno@clisp.org>
88847         * modules/printf-frexpl (Depends-on): Undo last change.
88848         (Files): Add m4/ldexpl.m4.
88850 2007-04-03  Bruno Haible  <bruno@clisp.org>
88852         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
88853         * modules/isnanl (Link): New section.
88855         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
88856         * modules/frexp (Link): New section.
88858         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
88859         * modules/frexpl (Link): New section.
88861         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
88862         * modules/ldexpl (Link): New section.
88864 2007-04-03  Bruno Haible  <bruno@clisp.org>
88866         * modules/TEMPLATE-EXTENDED: New file.
88867         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
88869 2007-04-03  Bruno Haible  <bruno@clisp.org>
88871         * DEPENDENCIES: New file.
88872         Suggested by Simon Josefsson.
88874 2007-04-03  Bruno Haible  <bruno@clisp.org>
88876         * doc/gnulib.texi: Escape @.
88878 2007-04-03  James Youngman  <jay@gnu.org>
88879         and Paul Eggert  <eggert@cs.ucla.edu>
88881         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
88882         birthtime on all systems that have birthtime, not just those which
88883         use st_birthtimensec rather than st_birthtim.  Putting zero in
88884         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
88885         that the birth time is not available for files on an NFS mount.
88887 2007-04-03  Simon Josefsson  <simon@josefsson.org>
88889         * modules/memxor: Move back from crypto/, suggested by Bruno.
88890         * modules/crypto/hmac-sha1: Fix memxor dependency.
88892         * modules/crypto/gc: Moved from ../.
88894 2007-04-02  Eric Blake  <ebb9@byu.net>
88896         * lib/ldexpl.c (includes): Avoid libm.
88898         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
88900 2007-04-02  Bruno Haible  <bruno@clisp.org>
88902         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
88903         on IRIX.
88905 2007-04-02  Bruno Haible  <bruno@clisp.org>
88907         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
88908         x86 or x86_64 platforms running MacOS X.
88909         Reported by Ryan Schmidt <@ryandesign.com>.
88911 2007-04-02  Bruno Haible  <bruno@clisp.org>
88913         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
88914         i386.
88916 2007-04-01  Simon Josefsson  <simon@josefsson.org>
88918         * modules/crypto/arcfour: Moved from ../.
88919         * modules/crypto/arcfour-tests: Moved from ../.
88920         * modules/crypto/arctwo: Moved from ../.
88921         * modules/crypto/arctwo-tests: Moved from ../.
88922         * modules/crypto/des: Moved from ../.
88923         * modules/crypto/des-tests: Moved from ../.
88924         * modules/crypto/gc-arcfour: Moved from ../.
88925         * modules/crypto/gc-arcfour-tests: Moved from ../.
88926         * modules/crypto/gc-arctwo: Moved from ../.
88927         * modules/crypto/gc-arctwo-tests: Moved from ../.
88928         * modules/crypto/gc-des: Moved from ../.
88929         * modules/crypto/gc-des-tests: Moved from ../.
88930         * modules/crypto/gc-hmac-md5: Moved from ../.
88931         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
88932         * modules/crypto/gc-hmac-sha1: Moved from ../.
88933         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
88934         * modules/crypto/gc-md2: Moved from ../.
88935         * modules/crypto/gc-md2-tests: Moved from ../.
88936         * modules/crypto/gc-md4: Moved from ../.
88937         * modules/crypto/gc-md4-tests: Moved from ../.
88938         * modules/crypto/gc-md5: Moved from ../.
88939         * modules/crypto/gc-md5-tests: Moved from ../.
88940         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
88941         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
88942         * modules/crypto/gc-random: Moved from ../.
88943         * modules/crypto/gc-rijndael: Moved from ../.
88944         * modules/crypto/gc-rijndael-tests: Moved from ../.
88945         * modules/crypto/gc-sha1: Moved from ../.
88946         * modules/crypto/gc-sha1-tests: Moved from ../.
88947         * modules/crypto/gc-tests: Moved from ../.
88948         * modules/crypto/hmac-md5: Moved from ../.
88949         * modules/crypto/hmac-md5-tests: Moved from ../.
88950         * modules/crypto/hmac-sha1: Moved from ../.
88951         * modules/crypto/hmac-sha1-tests: Moved from ../.
88952         * modules/crypto/md2: Moved from ../.
88953         * modules/crypto/md2-tests: Moved from ../.
88954         * modules/crypto/md4: Moved from ../.
88955         * modules/crypto/md4-tests: Moved from ../.
88956         * modules/crypto/md5: Moved from ../.
88957         * modules/crypto/md5-tests: Moved from ../.
88958         * modules/crypto/memxor: Moved from ../.
88959         * modules/crypto/rijndael: Moved from ../.
88960         * modules/crypto/rijndael-tests: Moved from ../.
88961         * modules/crypto/sha1: Moved from ../.
88963 2007-03-30  James Youngman  <jay@gnu.org>
88965         * tests/test-stat-time.c (prepare_test): use chmod() rather than
88966         rename() to change the ctime of a file (because ctime is unaffected
88967         by rename on jfs2 on AIX 5.1).
88968         (main): Start by doing cleanup, in case a previous run failed leaving
88969         test files behind.
88971 2007-03-31  Bruno Haible  <bruno@clisp.org>
88973         Support old proprietary implementations of iconv.
88974         * modules/iconv_open: New file.
88975         * lib/iconv_.h: New file.
88976         * m4/iconv_h.m4: New file.
88977         * lib/iconv_open.c: New file.
88978         * lib/iconv_open-aix.gperf: New file.
88979         * lib/iconv_open-hpux.gperf: New file.
88980         * lib/iconv_open-irix.gperf: New file.
88981         * lib/iconv_open-osf.gperf: New file.
88982         * m4/iconv_open.m4: New file.
88983         * modules/linebreak (Depends-on): Add iconv_open.
88984         * modules/striconv (Depends-on): Likewise.
88985         * modules/striconveh (Depends-on): Likewise.
88986         * modules/unicodeio (Depends-on): Likewise.
88987         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
88988         (iconv_t)(-1).
88989         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
88990         conversion if cd is (iconv_t)(-1).
88991         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
88992         is not possible.
88994 2007-03-31  Bruno Haible  <bruno@clisp.org>
88996         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
88997         work on Solaris either. Protect also second use of "autodetect_jp".
88999 2007-03-31  Bruno Haible  <bruno@clisp.org>
89001         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
89002         the function is not present.
89004 2007-03-31  Bruno Haible  <bruno@clisp.org>
89006         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
89007         the function is not present.
89009 2007-03-31  Bruno Haible  <bruno@clisp.org>
89011         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
89012         a bug in HP-UX iconv_open().
89014 2007-03-31  Bruno Haible  <bruno@clisp.org>
89016         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
89017         (Mathematics <math.h>): New section, add fpieee.
89018         (Input/output <stdio.h>): Add fseterr.
89019         (Mathematics <math.h>): New section, add printf-frexp.
89020         (Container data structures): Add sublist.
89021         (Core language properties): Add fpucw, inline.
89022         (Functions for greatest-width integer types <inttypes.h>): Add
89023         imaxabs, imaxdiv, inttypes.
89024         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
89025         isnanl-nolibm, ldexp.
89026         (Mathematics <math.h>): New section, add printf-frexpl.
89027         (Support for systems lacking POSIX:2001): Add fprintf-posix,
89028         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
89029         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
89030         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
89031         (Unicode string functions): Add unistr/u*-mbtoucr.
89032         (Java): Add javacomp-script, javaexec-script.
89033         (C#): Add csharpcomp-script, csharpexec-script.
89034         (Support for building libraries and executables): Add havelib,
89035         relocatable-*.
89036         (Support for maintaining and releasing projects): Renamed from
89037         'Support for maintaining and release projects'. Add announce-gen.
89039 2007-03-31  Bruno Haible  <bruno@clisp.org>
89041         * README: Talk primarily about git.
89042         (git and CVS): Renamed from CVS.
89043         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
89044         gnulib is available through git.
89045         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
89047 2007-03-30  Bruno Haible  <bruno@clisp.org>
89049         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
89050         * lib/poll_.h: Likewise.
89051         * lib/stat_.h: Likewise.
89052         * lib/sys_time_.h: Likewise.
89053         * lib/sysexit_.h: Likewise.
89054         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
89055         * lib/stdbool_.h: Likewise.
89056         * lib/byteswap_.h: Add double-inclusion guard.
89058 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
89060         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
89062 2007-03-30  Karl Berry  <karl@gnu.org>
89064         * config/srclist-update: double space after USA in the license
89065         substitution, since that's how it's usually (?) written.
89067 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
89069         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
89070         reported by Bruno Haible.
89072 2007-03-29  Bruno Haible  <bruno@clisp.org>
89074         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
89075         a bug in AIX iconv().
89077 2007-03-29  Bruno Haible  <bruno@clisp.org>
89079         * modules/ldexpl-tests: New file.
89080         * tests/test-ldexpl.c: New file.
89082 2007-03-29  Bruno Haible  <bruno@clisp.org>
89084         * lib/ldexpl.c: Include fpucw.h.
89085         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
89086         multiplication.
89087         * modules/ldexpl (Depends-on): Add fpucw.
89089 2007-03-29  Bruno Haible  <bruno@clisp.org>
89091         * modules/ldexpl: New file.
89092         * m4/ldexpl.m4: New file.
89093         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
89094         set.
89095         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
89096         REPLACE_LDEXPL.
89097         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
89098         REPLACE_LDEXPL.
89099         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
89100         gl_FUNC_LDEXPL_WORKS.
89101         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
89102         * modules/mathl (Files): Remove lib/ldexpl.c.
89103         (Depends-on): Add ldexpl.
89105 2007-03-29  Bruno Haible  <bruno@clisp.org>
89107         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
89109 2007-03-29  Bruno Haible  <bruno@clisp.org>
89111         * tests/test-striconveh.c (main): Don't assume that a direct conversion
89112         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
89113         and possibly also HP-UX.
89114         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
89115         work on AIX, IRIX, HP-UX, OSF/1.
89116         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
89117         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
89118         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
89119         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
89120         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
89121         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
89123 2007-03-29  Bruno Haible  <bruno@clisp.org>
89125         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
89127 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89129         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
89130         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
89132 2007-03-29  Eric Blake  <ebb9@byu.net>
89134         * lib/acl-internal.h: Remove redundant include.
89135         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
89136         Cygwin when a file is locked.
89138 2007-03-29  Bruno Haible  <bruno@clisp.org>
89140         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
89141         file.
89142         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
89144 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
89146         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
89147         try to remove a parent directory if the child couldn't be removed
89148         (except for the first rmdir, which could fail because the child
89149         doesn't exist).  Problem reported by Jeff Blaine in
89150         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
89152 2007-03-28  Bruno Haible  <bruno@clisp.org>
89154         * lib/striconveh.c (utf8conv_carefully): New function.
89155         (mem_cd_iconveh_internal): Invoke it.
89157 2007-03-28  Bruno Haible  <bruno@clisp.org>
89159         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
89160         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
89161         input.
89162         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
89163         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
89164         unistr/u8-uctomb.
89166 2007-03-28  Bruno Haible  <bruno@clisp.org>
89168         * modules/unistr/u8-mbtoucr: New file.
89169         * lib/unistr/u8-mbtoucr.c: New file.
89170         * modules/unistr/u16-mbtoucr: New file.
89171         * lib/unistr/u16-mbtoucr.c: New file.
89172         * modules/unistr/u16-mbtoucr: New file.
89173         * lib/unistr/u16-mbtoucr.c: New file.
89174         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
89176 2007-03-27  Simon Josefsson  <simon@josefsson.org>
89177             Bruno Haible  <bruno@clisp.org>
89179         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
89180         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
89181         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
89183         * m4/stdio_h.m4: Add stubs for vasprintf too.
89185         * modules/stdio: Support vasprintf in sed command.
89187         * modules/vasprintf: Depend on stdio for prototypes.  Remove
89188         vasprintf.h.  Add stdio module indicator.
89190         * lib/stdio_.h: Declare asprintf and vasprintf, based on
89191         vasprintf.h.
89193         * lib/vasprintf.h: File removed.
89195         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
89196         * lib/vasprintf.c: Ditto.
89197         * lib/xvasprintf.c: Ditto.
89198         * tests/test-vasprintf-posix.c: Ditto.
89199         * tests/test-vasprintf.c: Ditto.
89201 2007-03-27  Bruno Haible  <bruno@clisp.org>
89203         Make vasnprintf multithread-safe.
89204         * lib/vasnprintf.c (decimal_point_char): New function.
89205         (VASNPRINTF): Use it.
89206         Suggested by Simon Josefsson.
89208 2007-03-27  Eric Blake  <ebb9@byu.net>
89210         Support sub-second birthtime on cygwin.
89211         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
89212         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
89213         (get_stat_birthtime): Also work with st_birthtim.
89215 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
89217         * lib/stat-time.h (USE_BIRTHTIME): Remove.
89218         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
89219         (get_stat_birthtime_ns): Do not try to use "spare" fields.
89220         (get_stat_birthtime_ns): Simplify compile-time tests.
89221         (get_stat_birthtime): Change the API to look like
89222         get_stat_mtime etc., except return a negative tv_nsec on error.
89223         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
89224         Don't check for "spare" fields.
89225         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
89226         or for struct stat.st_birthtime, as these tests aren't used.
89227         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
89229 2007-03-27  Bruno Haible  <bruno@clisp.org>
89231         * lib/stat-time.h: Include <sys/stat.h>.
89233 2007-03-27  James Youngman  <jay@gnu.org>
89235         * lib/stat-time.h (get_stat_birthtime): New function for
89236           retrieving st_birthtime as provided by UFS2 (hence *BSD).
89237         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
89238           and its variants.
89239         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
89240         * modules/stat-time-test: New file.
89241         * tests/test-stat-time.c: New test, devised by Bruno Haible.
89243 2007-03-26  Bruno Haible  <bruno@clisp.org>
89245         Better support of signalling NaNs.
89246         * lib/atanl.c: Include isnanl.h.
89247         (atanl): Perform test for NaN at the beginning of the function and
89248         through a call to isnanl.
89249         * lib/cosl.c: Include isnanl.h.
89250         (cosl): Perform test for NaN at the beginning of the function and
89251         through a call to isnanl.
89252         * lib/ldexpl.c: Include isnanl.h.
89253         (ldexpl): Perform test for NaN through a call to isnanl.
89254         * lib/logl.c: Include isnanl.h.
89255         (logl): Perform test for NaN at the beginning of the function and
89256         through a call to isnanl.
89257         * lib/sinl.c: Include isnanl.h.
89258         (sinl): Perform test for NaN at the beginning of the function and
89259         through a call to isnanl.
89260         * lib/sqrtl.c: Include isnanl.h.
89261         (sqrtl): Perform test for NaN at the beginning of the function and
89262         through a call to isnanl.
89263         * lib/tanl.c: Include isnanl.h.
89264         (tanl): Perform test for NaN at the beginning of the function and
89265         through a call to isnanl.
89266         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
89267         * modules/mathl (Depends-on): Add isnanl.
89269 2007-03-26  Eric Blake  <ebb9@byu.net>
89271         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
89272         regression in logic sense of previous patch.
89274 2007-03-26  Bruno Haible  <bruno@clisp.org>
89276         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
89277         unportable shell command "if ! ...".
89278         Reported by Ralf Wildenhues.
89280 2007-03-25  Bruno Haible  <bruno@clisp.org>
89282         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
89283         <sysexits.h> file, and only add EX_CONFIG.
89284         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
89285         absolute file name and whether it is sufficient. Substitute also
89286         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
89287         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
89288         ABSOLUTE_SYSEXITS_H into sysexits.h.
89290 2007-03-25  Bruno Haible  <bruno@clisp.org>
89292         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
89293         hints is NULL.
89295 2007-03-25  Bruno Haible  <bruno@clisp.org>
89297         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
89298         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
89300 2007-03-25  Bruno Haible  <bruno@clisp.org>
89302         * lib/vasnprintf.c: Include langinfo.h.
89303         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
89304         multithread-safe.
89305         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
89306         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
89307         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
89308         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
89309         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
89310         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
89311         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
89312         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
89313         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
89314         Reported by Simon Josefsson.
89316 2007-03-25  Bruno Haible  <bruno@clisp.org>
89318         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
89319         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
89320         * modules/vasnprintf (Depends-on): Add stdint.
89322 2007-03-25  Bruno Haible  <bruno@clisp.org>
89324         * modules/fpieee: New file.
89325         * m4/fpieee.m4: New file.
89326         * modules/isnan-nolibm (Depends-on): Add fpieee.
89327         * modules/isnanl-nolibm (Depends-on): Add fpieee.
89328         * modules/isnanl (Depends-on): Add fpieee.
89330 2007-03-25  Bruno Haible  <bruno@clisp.org>
89332         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
89334 2007-03-25  Bruno Haible  <bruno@clisp.org>
89336         Avoid test failures on IRIX 6.5.
89337         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
89338         (main): Use it.
89339         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
89340         macros.
89341         (main): Use them.
89343 2007-03-25  Bruno Haible  <bruno@clisp.org>
89345         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
89346         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
89347         exists but doesn't work.
89348         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
89349         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
89350         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
89351         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
89352         math.h.
89354 2007-03-25  Bruno Haible  <bruno@clisp.org>
89356         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
89357         returns inf. Needed on IRIX 6.5.
89359 2007-03-25  Bruno Haible  <bruno@clisp.org>
89361         * tests/test-frexpl.c: Include isnanl-nolibm.h.
89362         (main): Use isnanl instead of x != x idiom.
89363         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
89365         * tests/test-frexp.c: Include isnan.h.
89366         (main): Use isnan instead of x != x idiom.
89367         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
89369 2007-03-25  Bruno Haible  <bruno@clisp.org>
89371         * tests/test-frexp.c (NaN): New function/macro.
89372         (main): Use it instead of 0.0 / 0.0.
89373         * tests/test-isnan.c (NaN): New function/macro.
89374         (main): Use it instead of 0.0 / 0.0.
89375         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
89376         (test_function): Use it instead of 0.0 / 0.0.
89377         * tests/test-vasprintf-posix.c (NaN): New function/macro.
89378         (test_function): Use it instead of 0.0 / 0.0.
89379         * tests/test-snprintf-posix.h (NaN): New function/macro.
89380         (test_function): Use it instead of 0.0 / 0.0.
89381         * tests/test-sprintf-posix.h (NaN): New function/macro.
89382         (test_function): Use it instead of 0.0 / 0.0.
89383         * tests/test-fprintf-posix.h (NaN): New function/macro.
89384         (test_function): Use it instead of 0.0 / 0.0.
89385         * tests/test-printf-posix.h (NaN): New function/macro.
89386         (test_function): Use it instead of 0.0 / 0.0.
89388         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
89390 2007-03-25  Bruno Haible  <bruno@clisp.org>
89392         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
89394 2007-03-25  Bruno Haible  <bruno@clisp.org>
89396         * lib/regexec.c (merge_state_with_log): Make static.
89398 2007-03-25  Bruno Haible  <bruno@clisp.org>
89400         * lib/trigl.c (kernel_rem_pio2): Make static.
89402 2007-03-25  Bruno Haible  <bruno@clisp.org>
89404         * lib/sincosl.c (sincosl_table): Make static.
89406 2007-03-25  Bruno Haible  <bruno@clisp.org>
89408         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
89409         if the compiler does not support C99.
89411 2007-03-25  Bruno Haible  <bruno@clisp.org>
89413         * modules/time (Makefile.am): Ensure all rule action lines start with a
89414         tab.
89416 2007-03-24  Bruno Haible  <bruno@clisp.org>
89418         * modules/tsearch-tests: New file.
89419         * tests/test-tsearch.sh: New file.
89420         * tests/test-tsearch.c: New file, mostly copied from glibc.
89422         * modules/search-tests: New file.
89423         * tests/test-search.c: New file.
89425         * modules/search: New file.
89426         * lib/search_.h: New file, incorporating lib/tsearch.h.
89427         * m4/search_h.m4: New file.
89428         * lib/tsearch.h: Remove file.
89429         * lib/tsearch.c: Include search.h instead of tsearch.h.
89430         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
89431         HAVE_TSEARCH.
89432         * modules/tsearch (Files): Remove lib/tsearch.h.
89433         (Depends-on): Add search.
89434         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
89435         (Include): Change tsearch.h into search.h.
89437 2007-03-24  Bruno Haible  <bruno@clisp.org>
89439         * modules/fpucw: New file.
89440         * lib/fpucw.h: New file.
89441         * lib/frexp.c: Include fpucw.h.
89442         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89443         (FUNC): Use them.
89444         * lib/printf-frexp.c: Include fpucw.h.
89445         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
89446         (FUNC): Use them.
89447         * lib/vasnprintf.c: Include fpucw.h.
89448         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
89449         'long double' calculations.
89450         * tests/test-frexpl.c: Include fpucw.h.
89451         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89452         * tests/test-printf-frexpl.c: Include fpucw.h.
89453         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
89454         * modules/frexpl (Depends-on): Add fpucw.
89455         * modules/printf-frexpl (Depends-on): Likewise.
89456         * modules/fprintf-posix (Depends-on): Likewise.
89457         * modules/snprintf-posix (Depends-on): Likewise.
89458         * modules/sprintf-posix (Depends-on): Likewise.
89459         * modules/vasnprintf-posix (Depends-on): Likewise.
89460         * modules/vasprintf-posix (Depends-on): Likewise.
89461         * modules/vfprintf-posix (Depends-on): Likewise.
89462         * modules/vsnprintf-posix (Depends-on): Likewise.
89463         * modules/vsprintf-posix (Depends-on): Likewise.
89464         * modules/frexpl-tests (Depends-on): Likewise.
89465         * modules/printf-frexpl-tests (Depends-on): Likewise.
89467 2007-03-24  Bruno Haible  <bruno@clisp.org>
89469         * lib/float+.h: New file.
89470         * lib/isnan.c: Include float+.h.
89471         (SIZE): New macro.
89472         (FUNC): Compare only SIZE bytes of the value.
89473         * lib/vasnprintf.c: Include float+.h.
89474         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
89475         SIZEOF_LDBL or SIZEOF_DBL bytes.
89476         * modules/isnan-nolibm (Files): Add lib/float+.h.
89477         * modules/isnanl-nolibm (Files): Add lib/float+.h.
89478         * modules/isnanl (Files): Add lib/float+.h.
89479         * modules/vasnprintf (Files): Add lib/float+.h.
89481 2007-03-24  Bruno Haible  <bruno@clisp.org>
89483         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
89484         include isnanl-nolibm.h.
89486 2007-03-24  Bruno Haible  <bruno@clisp.org>
89488         * tests/test-read-file.c (main): Don't produce spurious output for
89489         expected situations. Make the test fail if it encountered unexpected
89490         results.
89492 2007-03-24  Bruno Haible  <bruno@clisp.org>
89494         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
89495         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
89497 2007-03-24  Bruno Haible  <bruno@clisp.org>
89499         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
89501 2007-03-24  Bruno Haible  <bruno@clisp.org>
89503         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
89504         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
89506         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
89507         * modules/utf8-ucs4: Turn into a symbolic link to module
89508         unistr/u8-mbtouc.
89510         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
89511         utf8-ucs4-unsafe.
89512         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
89513         unistr/u8-mbtouc-unsafe.
89515         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
89516         * modules/utf16-ucs4: Turn into a symbolic link to module
89517         unistr/u16-mbtouc.
89519         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
89520         utf16-ucs4-unsafe.
89521         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
89522         unistr/u16-mbtouc-unsafe.
89524         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
89525         * modules/ucs4-utf8: Turn into a symbolic link to module
89526         unistr/u8-ubtomb.
89528         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
89529         * modules/ucs4-utf16: Turn into a symbolic link to module
89530         unistr/u16-ubtomb.
89532 2007-03-24  Bruno Haible  <bruno@clisp.org>
89534         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
89535         Enable the function only if HAVE_INLINE.
89536         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
89537         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89538         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
89539         Enable the function only if HAVE_INLINE.
89540         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
89541         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
89542         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
89543         Enable the function only if HAVE_INLINE.
89544         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
89545         Enable the function only if HAVE_INLINE.
89546         * modules/utf8-ucs4: Update.
89547         * modules/utf8-ucs4-unsafe: Update.
89548         * modules/utf16-ucs4: Update.
89549         * modules/utf16-ucs4-unsafe: Update.
89550         * modules/ucs4-utf8: Update.
89551         * modules/ucs4-utf16: Update.
89553 2007-03-24  Bruno Haible  <bruno@clisp.org>
89555         * lib/utf8-ucs4.h: Remove file.
89556         * lib/utf8-ucs4-unsafe.h: Remove file.
89557         * lib/utf16-ucs4.h: Remove file.
89558         * lib/utf16-ucs4-unsafe.h: Remove file.
89559         * lib/ucs4-utf8.h: Remove file.
89560         * lib/ucs4-utf16.h: Remove file.
89561         * lib/unistr.h: Include their previous contents.
89562         * m4/utf-ucs4.m4: Remove file.
89563         * m4/ucs4-utf.m4: Remove file.
89564         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
89565         (Depends-on): Add unistr/base.
89566         (configure.ac): Remove gl_UTF_UCS4.
89567         (Makefile.am): Update.
89568         (Include): Change to unistr.h.
89569         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
89570         (Depends-on): Add unistr/base.
89571         (configure.ac): Remove gl_UTF_UCS4.
89572         (Makefile.am): Update.
89573         (Include): Change to unistr.h.
89574         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
89575         (Depends-on): Add unistr/base.
89576         (configure.ac): Remove gl_UTF_UCS4.
89577         (Makefile.am): Update.
89578         (Include): Change to unistr.h.
89579         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
89580         (Depends-on): Add unistr/base.
89581         (configure.ac): Remove gl_UTF_UCS4.
89582         (Makefile.am): Update.
89583         (Include): Change to unistr.h.
89584         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
89585         (Depends-on): Add unistr/base.
89586         (configure.ac): Remove gl_UCS4_UTF.
89587         (Makefile.am): Update.
89588         (Include): Change to unistr.h.
89589         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
89590         (Depends-on): Add unistr/base.
89591         (configure.ac): Remove gl_UCS4_UTF.
89592         (Makefile.am): Update.
89593         (Include): Change to unistr.h.
89594         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
89595         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
89596         utf8-ucs4-unsafe.h.
89597         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
89598         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
89599         utf16-ucs4-unsafe.h.
89600         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
89601         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
89602         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
89603         * lib/unistr/u8-strchr.c: Likewise.
89604         * lib/unistr/u8-strrchr.c: Likewise.
89605         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
89606         * lib/unistr/u16-strchr.c: Likewise.
89607         * lib/unistr/u16-strrchr.c: Likewise.
89608         * lib/striconveh.c: Update.
89609         * lib/linebreak.c: Update.
89611 2007-03-24  Bruno Haible  <bruno@clisp.org>
89613         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
89614         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
89616 2007-03-22  Bruno Haible  <bruno@clisp.org>
89618         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
89620 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
89622         * MODULES.html.sh (File system functions): New module write-any-file.
89623         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
89624         * m4/write-any-file.m4: New files.
89626 2007-03-23  Eric Blake  <ebb9@byu.net>
89628         * gnulib-tool: Rearrange space-tab sequences, since some editors
89629         like to eat them.
89631 2007-03-23  Eric Blake  <ebb9@byu.net>
89633         * lib/version-etc.c (version_etc_va): Update license wording to
89634         be more concise.  Recommended by Richard Stallman.
89636 2007-03-22  Bruno Haible  <bruno@clisp.org>
89638         * lib/poll.c (MSG_PEEK): New fallback definition.
89640 2007-03-22  Bruno Haible  <bruno@clisp.org>
89642         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
89643         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
89644         (main): Update.
89645         Fixes a compilation error on BeOS.
89647 2007-03-22  Bruno Haible  <bruno@clisp.org>
89649         * modules/frexpl-tests: New file.
89650         * tests/test-frexpl.c: New file.
89652         * modules/frexpl: New file.
89653         * m4/frexpl.m4: New file.
89654         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
89655         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
89656         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
89657         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
89658         (Depends-on): Add frexpl. Remove isnanl-nolibm.
89659         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
89661 2007-03-22  Bruno Haible  <bruno@clisp.org>
89663         * lib/frexpl.c: Share code with lib/frexp.c.
89664         * modules/mathl (Files): Add lib/frexp.c.
89665         (Depends-on): Add isnanl-nolibm.
89667 2007-03-22  Bruno Haible  <bruno@clisp.org>
89669         * modules/printf-frexp (Files): Add m4/frexp.m4.
89670         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
89671         only if the found frexp function actually works.
89673 2007-03-22  Bruno Haible  <bruno@clisp.org>
89675         * lib/frexp.c: Remove older implementation that uses divisions.
89677 2007-03-21  Bruno Haible  <bruno@clisp.org>
89679         * modules/frexp-tests: New file.
89680         * tests/test-frexp.c: New file.
89682         * modules/frexp: New file.
89683         * lib/frexp.c: New file.
89684         * m4/frexp.m4: New file.
89685         * lib/math_.h (frexp): New declaration.
89686         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
89687         REPLACE_FREXP.
89688         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
89690 2007-03-21  Bruno Haible  <bruno@clisp.org>
89692         * modules/isnanl-tests: New file.
89693         * tests/test-isnanl.c: New file.
89695         * modules/isnanl: New file.
89696         * lib/isnanl.h: New file.
89697         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
89698         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
89699         gl_FUNC_ISNANL_WORKS.
89700         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
89701         New macros.
89703 2007-03-21  Bruno Haible  <bruno@clisp.org>
89705         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
89706         lib/isnanl.h.
89707         (Include): Update.
89708         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
89709         * lib/vasnprintf.c: Update.
89710         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
89711         tests/test-isnanl.h, remove tests/test-isnanl.c.
89712         (Makefile.am): Update.
89713         * tests/test-isnanl-nolibm.c: New file.
89714         * tests/test-isnanl.h: New file.
89715         * tests/test-isnanl.c: Remove file.
89717 2007-03-21  Jim Meyering  <jim@meyering.net>
89719         When trying to open ".", treat ESTALE like EACCES.
89720         * lib/savewd.c (savewd_save): Resort to forking not just upon
89721         failure with EACCES, but also when errno is ESTALE.
89723 2007-03-20  Bruno Haible  <bruno@clisp.org>
89725         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
89726         Needed on AIX 5.1. Reported by Matthew Woehlke.
89728 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89730         Suggestions by Bruno Haible:
89731         * lib/acl-internal.h: Include "gettext.h" rather than rolling
89732         our own.
89733         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
89734         * modules/acl (Depends-on): Add gettext.
89736 2007-03-19  Bruno Haible  <bruno@clisp.org>
89738         * modules/iconvme: Remove file.
89739         * lib/iconvme.h: Remove file.
89740         * lib/iconvme.c: Remove file.
89741         * m4/iconvme.m4: Remove file.
89743 2007-03-19  Bruno Haible  <bruno@clisp.org>
89745         * doc/relocatable-maint.texi: Break long shell script line.
89746         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89748 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89750         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
89751         handle file_has_acl.
89752         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
89753         * lib/acl.c: Move header inclusions and related macro defns into
89754         lib/acl-internal.h.
89755         (S_ISLNK): Remove defn, since that's now done for us.
89756         (file_has_acl): Move to lib/file-has-acl.c.
89757         Call acl_trivial if available.  This is the crucial part of the fix.
89758         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
89759         shared within the library.  Rewrite a bit, partly to make it compatible
89760         with the GNU coding style.
89761         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
89762         Remove unnecessary double-quotes.
89763         Don't test for acl_to_text; the build will catch that.
89764         Replace acl_entries if it doesn't exist and it is needed.
89765         Check for -lsec and acl_trivial (as used on Solaris 10).
89766         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
89767         lib/file-has-acl.c.
89768         (Depends-on): Add sys_stat, for S_ISLNK.
89770 2007-03-19  Ben Pfaff  <blp@gnu.org>
89772         * doc/gnulib.texi: Fix typos.
89773         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
89775 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
89777         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
89778         If size is zero here, buf must be zero.
89780 2007-03-19  Simon Josefsson  <simon@josefsson.org>
89782         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
89783         <bruno@clisp.org>.
89785 2007-03-18  Bruno Haible  <bruno@clisp.org>
89787         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
89788         Suggested by Eric Blake.
89790 2007-03-18  Ben Pfaff  <blp@gnu.org>
89792         * doc/relocatable.texi: Recommend using as prefix a directory
89793         that does not exist and will never be created.  Based on
89794         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
89795         and others.
89797 2007-03-17  Bruno Haible  <bruno@clisp.org>
89799         * lib/fchownat.c: Include lchown.h.
89801 2007-03-17  Bruno Haible  <bruno@clisp.org>
89803         Fix endless loop when the given allocated size was > INT_MAX.
89804         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
89805         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
89806         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
89807         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
89808         * lib/sprintf.c (sprintf): Likewise.
89810 2007-03-17  Bruno Haible  <bruno@clisp.org>
89812         * tests/test-argp-2.sh (func_compare): Output a context diff.
89814 2007-03-17  Bruno Haible  <bruno@clisp.org>
89816         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
89817         locale's decimal-point character.
89819 2007-03-17  Bruno Haible  <bruno@clisp.org>
89821         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
89822         before comparing it. Needed because on some platforms (e.g. x86) a
89823         'long double' occupies less bytes than sizeof (long double).
89825 2007-03-17  Bruno Haible  <bruno@clisp.org>
89827         * tests/test-crc.c (main): Make printf statements 64-bit clean.
89828         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
89829         * tests/test-getaddrinfo.c (simple): Likewise.
89830         * tests/test-read-file.c (main): Likewise.
89832 2007-03-17  Bruno Haible  <bruno@clisp.org>
89834         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
89836 2007-03-17  Bruno Haible  <bruno@clisp.org>
89838         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
89839         unused variable.
89841 2007-03-17  Bruno Haible  <bruno@clisp.org>
89843         * tests/test-c-strcasecmp.c: Include c-strcase.h.
89844         * tests/test-c-strncasecmp.c: Likewise.
89846 2007-03-17  Bruno Haible  <bruno@clisp.org>
89848         * modules/stdlib (Depends-on): Add unistd.
89849         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
89850         Needed for MacOS X 10.3.
89852 2007-03-17  Bruno Haible  <bruno@clisp.org>
89854         * lib/unistr/u-strdup.h: Include <stdlib.h>.
89856 2007-03-17  Bruno Haible  <bruno@clisp.org>
89858         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
89860 2007-03-17  Bruno Haible  <bruno@clisp.org>
89862         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
89863         to reflect files copied from gnulib (with or without modifications).
89864         Suggested by Jim Meyering.
89866 2007-03-17  Eric Blake  <ebb9@byu.net>
89868         * NEWS: Document stdlib change from 2007-02-18.
89870 2007-03-17  Jim Meyering  <jim@meyering.net>
89872         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
89873         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
89874         someone uses a name containing shell meta-characters.
89875         Reported by Alfred M. Szmidt.
89877         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
89879 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89881         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
89882         and copy gettext configuration files only if configure.ac contains
89883         a use of AM_GNU_GETTEXT_VERSION.
89885 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
89887         * build-aux/bootstrap (gnulib_name): New variable.
89888         (gnulib_tool_options): Use it.
89890 2007-03-13  Simon Josefsson  <simon@josefsson.org>
89892         * tests/test-des.c: Use new namespace.
89894 2007-03-15  Bruno Haible  <bruno@clisp.org>
89896         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
89897         Reported by James Youngman <jay@gnu.org>.
89899 2007-03-15  Bruno Haible  <bruno@clisp.org>
89901         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
89902         declared prototype. Needed with cc on OSF/1 5.1.
89904 2007-03-15  Bruno Haible  <bruno@clisp.org>
89906         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
89907         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
89908         (struct gl_list_implementation): Add dispose_fn argument to the
89909         'create_empty', 'create' methods.
89910         (struct gl_list_impl_base): Add field 'dispose_fn'.
89911         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
89912         argument.
89913         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
89914         dispose_fn argument.
89915         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
89916         dispose_fn on the dropped values.
89917         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
89918         dispose_fn argument.
89919         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
89920         dropped values.
89921         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
89922         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89923         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
89924         (gl_tree_remove_node): Call dispose_fn on the dropped value.
89925         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
89926         argument.
89927         (gl_tree_list_free): Call dispose_fn on the dropped values.
89928         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
89929         the dropped values.
89930         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89931         Add dispose_fn argument.
89932         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
89933         Call dispose_fn on the dropped values.
89934         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
89935         Add dispose_fn argument.
89936         (gl_sublist_create): Initialize the 'dispose_fn' field.
89937         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
89938         * tests/test-array_list.c (main): Update.
89939         * tests/test-carray_list.c (main): Update.
89940         * tests/test-avltree_list.c (main): Update.
89941         * tests/test-rbtree_list.c (main): Update.
89942         * tests/test-avltreehash_list.c (main): Update.
89943         * tests/test-rbtreehash_list.c (main): Update.
89944         * tests/test-linked_list.c (main): Update.
89945         * tests/test-linkedhash_list.c (main): Update.
89946         * tests/test-array_oset.c (main): Update.
89948 2007-03-15  Bruno Haible  <bruno@clisp.org>
89950         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
89951         (gl_oset_create_empty): Add dispose_fn argument.
89952         (struct gl_oset_implementation): Add dispose_fn argument to
89953         'create_empty' method.
89954         (struct gl_oset_impl_base): Add dispose_fn field.
89955         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
89956         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
89957         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
89958         values.
89959         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
89960         (gl_tree_oset_free): Call dispose_fn on the dropped values.
89961         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89962         dropped value.
89963         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
89964         dropped value.
89965         * tests/test-array_oset.c (main): Update.
89966         * tests/test-avltree_oset.c (main): Update.
89967         * tests/test-rbtree_oset.c (main): Update.
89968         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
89970 2007-03-13  Bruno Haible  <bruno@clisp.org>
89972         * tests/test-stdbool.c (i): Update after last patch.
89974 2007-03-12  Bruno Haible  <bruno@clisp.org>
89976         * lib/quotearg.c: Include <wctype.h> early, before the definition of
89977         the iswprint macro. Needed on Solaris 2.5.1.
89979 2007-03-12  Bruno Haible  <bruno@clisp.org>
89981         * tests/test-printf-frexp.c (main): Declare x as volatile.
89983 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89985         * doc/gnulib.texi (Build robot for gnulib): New section.
89987 2007-03-12  Jim Meyering  <jim@meyering.net>
89989         * build-aux/bootstrap: New file.
89990         * build-aux/bootstrap.conf: New file, from coreutils.
89992 2007-03-11  Bruno Haible  <bruno@clisp.org>
89994         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
89996 2007-03-12  Simon Josefsson  <simon@josefsson.org>
89998         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
89999         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
90000         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
90002 2007-03-11  Bruno Haible  <bruno@clisp.org>
90004         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
90005         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
90007 2007-03-11  Bruno Haible  <bruno@clisp.org>
90009         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
90010         formula. Needed for SunPRO C 5.0.
90012 2007-03-11  Bruno Haible  <bruno@clisp.org>
90014         * modules/long-options (Depends-on): Add getopt.
90016 2007-03-11  Bruno Haible  <bruno@clisp.org>
90018         * modules/modechange (Depends-on): Add stdbool.
90020 2007-03-11  Bruno Haible  <bruno@clisp.org>
90022         * modules/i-ring (Depends-on): Add stdbool.
90024 2007-03-11  Bruno Haible  <bruno@clisp.org>
90026         * modules/gc-des (Depends-on): Add stdbool.
90028 2007-03-11  Bruno Haible  <bruno@clisp.org>
90030         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
90032 2007-03-11  Bruno Haible  <bruno@clisp.org>
90034         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
90036 2007-03-11  Bruno Haible  <bruno@clisp.org>
90038         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
90040 2007-03-11  Bruno Haible  <bruno@clisp.org>
90042         * lib/vasnprintf.c (sprintf): Undefine.
90044 2007-03-11  Bruno Haible  <bruno@clisp.org>
90046         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
90047         initializers in SunPRO C and Compaq C compilers.
90049 2007-03-11  Bruno Haible  <bruno@clisp.org>
90051         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
90052         decrementing code ANSI C compliant.
90054 2007-03-11  Bruno Haible  <bruno@clisp.org>
90056         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
90057         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
90059 2007-03-11  Bruno Haible  <bruno@clisp.org>
90061         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
90062         <stdbool.h> substitute doesn't pass.
90064 2007-03-11  Bruno Haible  <bruno@clisp.org>
90066         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
90068 2007-03-11  Bruno Haible  <bruno@clisp.org>
90070         * gnulib-tool (func_create_megatestdir): Create also an autobuild
90071         script, for submission to autobuild.josefsson.org.
90073 2007-03-10  Bruno Haible  <bruno@clisp.org>
90075         * modules/canonicalize-lgpl-tests: New file.
90076         * tests/test-canonicalize-lgpl.sh: New file.
90077         * tests/test-canonicalize-lgpl.c: New file.
90079         * modules/c-strcase-tests: New file.
90080         * tests/test-c-strcase.sh: New file.
90081         * tests/test-c-strcasecmp.c: New file.
90082         * tests/test-c-strncasecmp.c: New file.
90084         * modules/atexit-tests: New file.
90085         * tests/test-atexit.sh: New file.
90086         * tests/test-atexit.c: New file.
90088 2007-03-10  Bruno Haible  <bruno@clisp.org>
90090         * tests/test-binary-io.sh: Use temporary filenames that are not so
90091         likely to clash with those of other tests (in a parallel make).
90092         * tests/test-binary-io.c: Likewise.
90094 2007-03-10  Bruno Haible  <bruno@clisp.org>
90096         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
90097         fallback; use #error instead.
90098         Suggested by Simon Josefsson.
90100 2007-03-10  Bruno Haible  <bruno@clisp.org>
90102         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
90103         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
90104         first and the last.
90106 2007-03-10  Bruno Haible  <bruno@clisp.org>
90108         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
90110 2007-03-10  Bruno Haible  <bruno@clisp.org>
90112         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
90113         "make distcheck".
90114         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
90115         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
90116         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
90118 2007-03-10  Bruno Haible  <bruno@clisp.org>
90120         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
90121         variable.
90122         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
90123         variable.
90125 2007-03-09  Eric Blake  <ebb9@byu.net>
90126         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
90128         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
90129         types are not being provided by gnulib.
90130         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
90131         types are supported.
90133 2007-03-10  Bruno Haible  <bruno@clisp.org>
90135         * lib/stdio_.h (__attribute__): New macro.
90136         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
90137         vsprintf): Specify __attribute__ __format__ for GCC.
90138         Suggested by Eric Blake.
90140 2007-03-09  Bruno Haible  <bruno@clisp.org>
90142         * modules/printf-posix-tests: New file.
90143         * tests/test-printf-posix.sh: New file.
90144         * tests/test-printf-posix.c: New file.
90146         * modules/printf-posix: New file.
90147         * lib/printf.c: New file.
90148         * m4/printf-posix-rpl.m4: New file.
90149         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
90150         REPLACE_PRINTF.
90151         * lib/stdio_.h (printf): New declaration.
90152         (format, __format__, ____printf____, ____scanf____, ____strftime____,
90153         ____strfmon____): New macros.
90154         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
90155         REPLACE_PRINTF.
90157 2007-03-09  Bruno Haible  <bruno@clisp.org>
90159         * tests/test-vasnprintf-posix2.sh: New file.
90160         * tests/test-vasnprintf-posix2.c: New file.
90161         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
90162         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
90163         (Makefile.am): Activate test-vasnprintf-posix2.sh.
90165         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
90166         a locale dependent decimal point, rather than always '.'.
90168 2007-03-09  Eric Blake  <ebb9@byu.net>
90170         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
90171         spite of platforms like Tandem/NSK that define it to -1.
90173 2007-03-08  Bruno Haible  <bruno@clisp.org>
90175         * modules/vprintf-posix-tests: New file.
90176         * tests/test-vprintf-posix.sh: New file.
90177         * tests/test-vprintf-posix.c: New file.
90178         * tests/test-printf-posix.h: New file.
90180         * modules/vprintf-posix: New file.
90181         * lib/vprintf.c: New file.
90182         * m4/vprintf-posix.m4: New file.
90183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
90184         REPLACE_VPRINTF.
90185         * lib/stdio_.h (vprintf): New declaration.
90186         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
90187         REPLACE_VPRINTF.
90189 2007-03-08  Bruno Haible  <bruno@clisp.org>
90191         * modules/fprintf-posix-tests: New file.
90192         * tests/test-fprintf-posix.sh: New file.
90193         * tests/test-fprintf-posix.c: New file.
90195         * modules/fprintf-posix: New file.
90196         * lib/fprintf.c: New file.
90197         * m4/fprintf-posix.m4: New file.
90198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
90199         REPLACE_FPRINTF.
90200         * lib/stdio_.h (fprintf): New declaration.
90201         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
90202         REPLACE_FPRINTF.
90204 2007-03-08  Bruno Haible  <bruno@clisp.org>
90206         * modules/vfprintf-posix-tests: New file.
90207         * tests/test-vfprintf-posix.sh: New file.
90208         * tests/test-vfprintf-posix.c: New file.
90209         * tests/test-fprintf-posix.h: New file.
90210         * tests/test-fprintf-posix.out: New file.
90212         * modules/vfprintf-posix: New file.
90213         * lib/vfprintf.c: New file.
90214         * m4/vfprintf-posix.m4: New file.
90215         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
90216         REPLACE_VFPRINTF.
90217         * lib/stdio_.h (vfprintf): New declaration.
90218         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
90219         REPLACE_VFPRINTF.
90221 2007-03-08  Bruno Haible  <bruno@clisp.org>
90223         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
90225 2007-03-08  Bruno Haible  <bruno@clisp.org>
90227         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
90228         instead of 'expr' invocations.
90229         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
90230         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
90231         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
90232         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
90233         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
90234         Suggested by Paul Eggert.
90236 2007-03-08  Bruno Haible  <bruno@clisp.org>
90238         * modules/fseterr-tests: New file.
90239         * tests/test-fseterr.c: New file.
90241         * modules/fseterr: New file.
90242         * lib/fseterr.h: New file.
90243         * lib/fseterr.c: New file.
90245 2007-03-08  Bruno Haible  <bruno@clisp.org>
90247         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
90248         * lib/getopt_.h: Likewise.
90249         * lib/mbswidth.h: Likewise.
90250         * lib/setenv.h: Likewise.
90251         * lib/vasnprintf.h: Likewise.
90252         * lib/vasprintf.h: Likewise.
90253         * lib/verror.h: Likewise.
90254         * lib/xsetenv.h: Likewise.
90255         * lib/xvasprintf.h: Likewise.
90257 2007-03-08  Jim Meyering  <jim@meyering.net>
90259         * users.txt: Add parted.
90261         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
90263 2007-03-07  Bruno Haible  <bruno@clisp.org>
90265         * m4/printf.m4: Make the shell script snippets copy&pastable.
90267 2007-03-02  Bruno Haible  <bruno@clisp.org>
90269         * lib/netinet_in_.h: New file.
90270         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
90271         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
90272         * modules/netinet_in (Files): Add lib/netinet_in_.h.
90273         (Depends-on): Add absolute-header.
90274         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
90275         into netinet/in.h.
90277 2007-03-03  Bruno Haible  <bruno@clisp.org>
90279         * lib/sys_select_.h: New file.
90280         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
90281         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
90282         * modules/sys_select (Files): Add lib/sys_select_.h.
90283         (Depends-on): Add absolute-header.
90284         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
90285         into sys/select.h.
90287 2007-03-02  Bruno Haible  <bruno@clisp.org>
90289         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
90290         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
90291         values.
90292         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
90293         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
90294         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
90295         * modules/sys_socket (Depends-on): Add absolute-header.
90296         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
90297         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
90298         (Include): Remove requirement of inclusion of <sys/types.h>.
90300 2007-03-02  Bruno Haible  <bruno@clisp.org>
90302         * lib/byteswap_.h (bswap_32): Fix formula.
90304 2007-03-06  Bruno Haible  <bruno@clisp.org>
90306         * modules/sprintf-posix-tests: New file.
90307         * tests/test-sprintf-posix.c: New file.
90309         * modules/sprintf-posix: New file.
90310         * lib/sprintf.c: New file.
90311         * m4/sprintf-posix.m4: New file.
90312         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
90313         REPLACE_SPRINTF.
90314         * lib/stdio_.h (sprintf): New declaration.
90315         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
90316         REPLACE_SPRINTF.
90318 2007-03-06  Bruno Haible  <bruno@clisp.org>
90320         * modules/vsprintf-posix-tests: New file.
90321         * tests/test-vsprintf-posix.c: New file.
90322         * tests/test-sprintf-posix.h: New file.
90324         * modules/vsprintf-posix: New file.
90325         * lib/vsprintf.c: New file.
90326         * m4/vsprintf-posix.m4: New file.
90327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
90328         REPLACE_VSPRINTF.
90329         * lib/stdio_.h (vsprintf): New declaration.
90330         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
90331         REPLACE_VSPRINTF.
90333 2007-03-06  Bruno Haible  <bruno@clisp.org>
90335         * modules/vsnprintf (Depend-on): Remove minmax.
90337 2007-03-06  Bruno Haible  <bruno@clisp.org>
90339         * modules/snprintf-posix-tests: New file.
90340         * tests/test-snprintf-posix.c: New file.
90342         * modules/snprintf-posix: New file.
90343         * m4/snprintf-posix.m4: New file.
90344         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
90345         gl_FUNC_SNPRINTF.
90346         (gl_FUNC_SNPRINTF): Invoke it.
90347         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
90348         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
90349         is set.
90350         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
90352 2007-03-06  Bruno Haible  <bruno@clisp.org>
90354         * modules/vsnprintf-posix-tests: New file.
90355         * tests/test-vsnprintf-posix.c: New file.
90356         * tests/test-snprintf-posix.h: New file.
90358         * modules/vsnprintf-posix: New file.
90359         * m4/vsnprintf-posix.m4: New file.
90360         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
90361         gl_FUNC_VSNPRINTF.
90362         (gl_FUNC_VSNPRINTF): Invoke it.
90363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
90364         * lib/stdio_.h (vsnprintf): Define as a replacement if
90365         REPLACE_VSNPRINTF is set.
90366         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
90368 2007-03-06  Bruno Haible  <bruno@clisp.org>
90370         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
90371         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
90373 2007-03-06  Bruno Haible  <bruno@clisp.org>
90375         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
90376         (asinl): Declare also if HAVE_DECL_ASINL is set.
90377         (atanl): Declare also if HAVE_DECL_ATANL is set.
90378         (ceill): Declare also if HAVE_DECL_CEILL is set.
90379         (cosl): Declare also if HAVE_DECL_COSL is set.
90380         (expl): Declare also if HAVE_DECL_EXPL is set.
90381         (floorl): Declare also if HAVE_DECL_FLOORL is set.
90382         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
90383         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
90384         (logl): Declare also if HAVE_DECL_LOGL is set.
90385         (sinl): Declare also if HAVE_DECL_SINL is set.
90386         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
90387         (tanl): Declare also if HAVE_DECL_TANL is set.
90388         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
90389         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
90390         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
90391         declaration of frexpl, ldexpl.
90392         * modules/printf-frexpl (Depends-on): Add math.
90393         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
90395 2007-03-05  Bruno Haible  <bruno@clisp.org>
90397         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
90398         frexpl and ldexpl are declared.
90399         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
90401 2007-03-05  Bruno Haible  <bruno@clisp.org>
90403         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
90404         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
90406 2007-03-05  Bruno Haible  <bruno@clisp.org>
90408         * lib/stdio_.h: Include <stddef.h>.
90410 2007-03-05  Bruno Haible  <bruno@clisp.org>
90412         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
90414 2007-03-05  Bruno Haible  <bruno@clisp.org>
90416         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
90417         NetBSD 4, from Ralf Wildenhues.
90419 2007-03-04  Bruno Haible  <bruno@clisp.org>
90421         * lib/vasprintf.h: Update #if logic for the case when the functions
90422         exist but are overridden.
90424 2007-03-04  Bruno Haible  <bruno@clisp.org>
90426         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
90427         implementations: glibc-2.4 and MacOS X 10.3.
90428         * tests/test-vasnprintf-posix.c (test_function): Test also the case
90429         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
90430         * tests/test-vasprintf-posix.c (test_function): Likewise.
90432 2007-03-04  Bruno Haible  <bruno@clisp.org>
90434         * modules/vasprintf-posix-tests: New file.
90435         * tests/test-vasprintf-posix.c: New file.
90437         * modules/vasprintf-posix: New file.
90438         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
90439         defined.
90440         * m4/vasprintf-posix.m4: New file.
90441         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
90442         gl_FUNC_VASPRINTF.
90443         (gl_FUNC_VASPRINTF): Invoke it.
90444         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
90445         here.
90446         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
90448 2007-03-04  Bruno Haible  <bruno@clisp.org>
90450         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
90451         REPLACE_GETTIMEOFDAY.
90452         * modules/sys_time (Makefile.am): Likewise.
90453         * m4/sys_time_h.m4: Likewise.
90454         * m4/gettimeofday.m4: Likewise.
90456 2007-03-04  Bruno Haible  <bruno@clisp.org>
90458         * modules/vasnprintf-posix-tests: New file.
90459         * tests/test-vasnprintf-posix.c: New file.
90461         * modules/vasnprintf-posix: New file.
90462         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
90463         printf-frexpl.h.
90464         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
90465         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
90466         REPLACE_VASNPRINTF is defined.
90467         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
90468         gl_FUNC_VASNPRINTF.
90469         (gl_FUNC_VASNPRINTF): Invoke it.
90470         * m4/vasnprintf-posix.m4: New file.
90471         * m4/printf.m4: New file.
90473 2007-03-04  Bruno Haible  <bruno@clisp.org>
90475         Compile progreloc.c only if --enable-relocatable is specified.
90476         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
90477         if --enable-relocatable was specified.
90478         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
90479         lib_SOURCES.
90481 2007-03-04  Jim Meyering  <jim@meyering.net>
90483         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
90484         Use it consistently, rather than enumerating errno constants.
90486 2007-03-04  Bruno Haible  <bruno@clisp.org>
90488         * modules/xvasprintf-tests: New file.
90489         * tests/test-xvasprintf.c: New file.
90491         * modules/vasprintf-tests: New file.
90492         * tests/test-vasprintf.c: New file.
90494         * modules/vasnprintf-tests: New file.
90495         * tests/test-vasnprintf.c: New file.
90497         * modules/vsnprintf-tests: New file.
90498         * tests/test-vsnprintf.c: New file.
90500         * modules/snprintf-tests: New file.
90501         * tests/test-snprintf.c: New file.
90503 2007-03-04  Bruno Haible  <bruno@clisp.org>
90505         Compile relocatable.c only if --enable-relocatable is specified.
90506         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
90507         gl_RELOCATABLE_LIBRARY.
90508         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
90509         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
90510         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
90511         gl_RELOCATABLE_LIBRARY.
90512         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
90513         (Makefile.am): Remove lib_SOURCES.
90514         * modules/relocatable-lib-lgpl (configure.ac): Invoke
90515         gl_RELOCATABLE_LIBRARY.
90516         (Makefile.am): Remove lib_SOURCES.
90517         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
90518         always.
90519         * modules/relocatable-prog-wrapper (configure.ac): Invoke
90520         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
90522 2007-03-04  Bruno Haible  <bruno@clisp.org>
90524         * modules/argmatch-tests: New file.
90525         * tests/test-argmatch.c: New file.
90527         * tests/test-allocsa.c (main): Halve the number of loop runs.
90529         * modules/alloca-opt-tests: New file.
90530         * tests/test-alloca-opt.c: New file.
90532 2007-03-04  Jim Meyering  <jim@meyering.net>
90534         Work around difference between Linux ACLs and Solaris 10 ZFS.
90535         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
90536         for EINVAL.
90538 2007-03-03  Bruno Haible  <bruno@clisp.org>
90540         * modules/relocatable-prog (Depends-on): Add back progreloc's
90541         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
90543 2007-03-03  Bruno Haible  <bruno@clisp.org>
90545         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
90546         * modules/relocatable-lib: New file.
90548 2007-03-03  Bruno Haible  <bruno@clisp.org>
90550         * modules/relocatable-prog: Renamed from modules/relocatable.
90551         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
90553 2007-03-03  Bruno Haible  <bruno@clisp.org>
90555         * modules/relocatable-script (Files): Add doc/relocatable.texi,
90556         m4/relocatable-lib.m4.
90557         (Depends-on): Remove 'relocatable'.
90558         (configure.ac): Add gl_RELOCATABLE_NOP.
90560 2007-03-03  Bruno Haible  <bruno@clisp.org>
90562         * modules/relocatable-prog-wrapper: New file.
90563         * modules/relocatable (Depends-on): Add it. Remove all other
90564         dependencies except progname.
90565         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
90567         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
90568         (gl_FUNC_STRERROR): Nop.
90569         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
90571         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
90572         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
90574         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
90575         (gl_FUNC_READLINK): Update.
90577         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
90579 2007-03-03  Bruno Haible  <bruno@clisp.org>
90581         * lib/xreadlink.c: Include <unistd.h> unconditionally.
90582         * modules/xreadlink (Depends-on): Add unistd.
90583         * modules/xreadlink-with-size (Depends-on): Likewise.
90585 2007-03-03  Bruno Haible  <bruno@clisp.org>
90587         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
90588         extracted from gt_FUNC_SETENV.
90589         (gt_FUNC_SETENV): Remove macro.
90590         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
90591         remove gt_FUNC_SETENV.
90593 2007-03-03  Bruno Haible  <bruno@clisp.org>
90595         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
90596         ENABLE_RELOCATABLE here.
90597         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
90599 2007-03-03  Bruno Haible  <bruno@clisp.org>
90601         * modules/rbtreehash-list-tests (Depends-on): Add progname.
90602         * tests/test-rbtreehash_list.c: Include progname.h.
90603         (main): Call set_program_name.
90605         * modules/rbtree-oset-tests (Depends-on): Add progname.
90606         * tests/test-rbtree_oset.c: Include progname.h.
90607         (main): Call set_program_name.
90609         * modules/rbtree-list-tests (Depends-on): Add progname.
90610         * tests/test-rbtree_list.c: Include progname.h.
90611         (main): Call set_program_name.
90613         * modules/linked-list-tests (Depends-on): Add progname.
90614         * tests/test-linked_list.c: Include progname.h.
90615         (main): Call set_program_name.
90617 2007-03-03  Bruno Haible  <bruno@clisp.org>
90619         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
90620         All uses of __restrict changed to _Restrict_.
90621         * lib/glob_.h (__restrict): Remove macro.
90623 2007-03-02  Bruno Haible  <bruno@clisp.org>
90625         * modules/gettext (configure.ac): Require gettext infrastructure
90626         from version 0.16.1.
90628 2007-03-02  Bruno Haible  <bruno@clisp.org>
90630         * modules/linkedhash-list-tests (Depends-on): Add progname.
90631         * tests/test-linkedhash_list.c: Include progname.h.
90632         (main): Call set_program_name.
90634         * modules/carray-list-tests (Depends-on): Add progname.
90635         * tests/test-carray_list.c: Include progname.h.
90636         (main): Call set_program_name.
90638         * modules/avltreehash-list-tests (Depends-on): Add progname.
90639         * tests/test-avltreehash_list.c: Include progname.h.
90640         (main): Call set_program_name.
90642         * modules/avltree-oset-tests (Depends-on): Add progname.
90643         * tests/test-avltree_oset.c: Include progname.h.
90644         (main): Call set_program_name.
90646         * modules/avltree-list-tests (Depends-on): Add progname.
90647         * tests/test-avltree_list.c: Include progname.h.
90648         (main): Call set_program_name.
90650         * modules/array-oset-tests (Depends-on): Add progname.
90651         * tests/test-array_oset.c: Include progname.h.
90652         (main): Call set_program_name.
90654         * modules/array-list-tests (Depends-on): Add progname.
90655         * tests/test-array_list.c: Include progname.h.
90656         (main): Call set_program_name.
90658         * modules/argp-tests (Depends-on): Add progname.
90659         * tests/test-argp.c: Include argp.h first. Include progname.h.
90660         (main): Call set_program_name.
90662 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
90664         * doc/gnulib-tool.texi (Initial import): Reword description of
90665         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
90666         limited effect even if defined after the first system include.
90668 2007-03-01  Bruno Haible  <bruno@clisp.org>
90670         * build-aux/config.libpath: Update to libtool-1.5.22.
90671         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
90673 2007-03-01  Bruno Haible  <bruno@clisp.org>
90675         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
90676         foo_CFLAGS.
90677         Reported by Ralf Wildenhues.
90679 2007-03-01  Bruno Haible  <bruno@clisp.org>
90681         * build-aux/install-reloc: Remove object files left over by some
90682         compilers.
90683         Reported by Ralf Wildenhues.
90685 2007-03-01  Bruno Haible  <bruno@clisp.org>
90687         * build-aux/install-reloc: Break long lines.
90689 2007-03-01  Bruno Haible  <bruno@clisp.org>
90691         * doc/relocatable.texi: Document that it may not work on OpenBSD.
90692         Reported by Ralf Wildenhues.
90694 2007-03-01  Bruno Haible  <bruno@clisp.org>
90696         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
90697         include ordering constraints.
90699 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
90701         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
90702         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
90703         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
90704         as another example.
90705         * lib/time_.h: Fix misspelling.
90706         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
90707         Require gl_HEADER_TIME_H_DEFAULTS.
90708         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
90709         * m4/time_r.m4 (gl_TIME_R): Likewise.
90710         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
90712 2007-03-01  Bruno Haible  <bruno@clisp.org>
90714         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
90715         * m4/utimens.m4 (gl_UTIMENS): Likewise.
90717 2007-03-01  Jim Meyering  <jim@meyering.net>
90719         * modules/xreadlink (Maintainer): Add my name.
90720         * modules/xreadlink-with-size (Depends-on): Alphabetize.
90722 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
90723             Bruno Haible  <bruno@clisp.org>
90725         * build-aux/install-reloc: Compile also c-ctype.c.
90726         * build-aux/relocatable.sh.in: New file.
90727         * doc/relocatable.texi: New file.
90728         * doc/relocatable-maint.texi: New file.
90729         * doc/gnulib.texi: Include relocatable-maint.texi.
90730         * lib/progreloc.c: Include unistd.h unconditionally.
90731         * lib/relocwrapper.c: Include unistd.h unconditionally.
90732         Include c-ctype.h.
90733         (add_dotbin): Use c_tolower.
90734         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
90735         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
90736         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
90737         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
90738         to m4/relocatable-lib.m4.
90739         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
90740         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
90741         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
90742         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
90743         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
90744         * modules/relocatable: New file.
90745         * modules/relocatable-lib: New file.
90746         * modules/relocatable-script: New file.
90748 2007-02-28  Bruno Haible  <bruno@clisp.org>
90750         Import --enable-relocatable infrastructure.
90751         * build-aux/config.libpath: New file, from GNU gettext.
90752         * build-aux/install-reloc: New file, from GNU gettext.
90753         * build-aux/reloc-ldflags: New file, from GNU gettext.
90754         * lib/relocatable.h: New file, from GNU gettext.
90755         * lib/relocatable.c: New file, from GNU gettext.
90756         * lib/relocwrapper.c: New file, from GNU gettext.
90757         * m4/relocatable.m4: New file, from GNU gettext.
90759 2007-02-28  Bruno Haible  <bruno@clisp.org>
90761         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
90763         * modules/xreadlink: New file, from GNU gettext with modifications.
90764         * lib/xreadlink.c: New file, from GNU gettext.
90765         * lib/xreadlink.h: Add comments.
90766         (xreadlink): New declaration.
90768         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
90769         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
90770         lib/xreadlink-with-size.c.
90771         (configure.ac): Remove gl_XREADLINK invocation.
90772         (Makefile.am): Augment lib_SOURCES.
90773         * m4/xreadlink.m4: Remove file.
90774         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
90775         (xreadlink_with_size): Renamed from xreadink.
90776         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
90777         * modules/canonicalize (Depends-on): Replace xreadlink with
90778         xreadlink-with-size.
90779         * lib/canonicalize.c (canonicalize_filename_mode): Update.
90781 2007-02-25  Jim Meyering  <jim@meyering.net>
90783         * build-aux/announce-gen: When complaining about excess arguments,
90784         list them.
90786 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
90788         * README: Document signed integer overflow situation more
90789         accurately.
90791 2007-02-25  Bruno Haible  <bruno@clisp.org>
90793         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
90794         'a' or 'A' conversion.
90796 2007-02-25  Bruno Haible  <bruno@clisp.org>
90798         * modules/filename: Renamed from modules/pathname.
90799         (Files): Replace lib/pathname.h with lib/filename.h. Replace
90800         lib/concatpath.c with lib/concat-filename.c.
90801         (Makefile.am): Update.
90802         (Include): Replace pathname.h with filename.h.
90803         * lib/filename.h: Renamed from lib/pathname.h.
90804         (concatenated_filename): Renamed from concatenated_pathname.
90805         * lib/concat-filename.c: Renamed from lib/concatpath.c.
90806         (concatenated_filename): Renamed from concatenated_pathname.
90807         * lib/findprog.c: Include filename.h instead of pathname.h.
90808         (find_in_path): Update.
90809         * lib/javacomp.c: Include filename.h instead of pathname.h.
90810         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
90811         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
90812         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
90813         is_oldgcj_14_13_usable, is_javac_usable): Update.
90814         * lib/javaexec.c: Include filename.h instead of pathname.h.
90815         (execute_java_class): Update.
90816         * modules/findprog: Update.
90817         * modules/javacomp: Update.
90818         * modules/javaexec: Update.
90819         * MODULES.html.sh (File system functions): Add 'filename', remove
90820         'pathname'.
90822 2007-02-25  Bruno Haible  <bruno@clisp.org>
90824         * modules/printf-frexpl-tests: New file.
90825         * tests/test-printf-frexpl.c: New file.
90827         * modules/printf-frexpl: New file.
90828         * lib/printf-frexpl.h: New file.
90829         * lib/printf-frexpl.c: New file.
90830         * m4/printf-frexpl.m4: New file.
90832 2007-02-25  Bruno Haible  <bruno@clisp.org>
90834         * modules/printf-frexp-tests: New file.
90835         * tests/test-printf-frexp.c: New file.
90837         * modules/printf-frexp: New file.
90838         * lib/printf-frexp.h: New file.
90839         * lib/printf-frexp.c: New file.
90840         * m4/printf-frexp.m4: New file.
90842 2007-02-25  Bruno Haible  <bruno@clisp.org>
90844         Assume automake >= 1.10 for the tests.
90845         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
90846         * modules/arctwo-tests: Likewise.
90847         * modules/argp-tests: Likewise.
90848         * modules/avltree-list-tests: Likewise.
90849         * modules/avltree-oset-tests: Likewise.
90850         * modules/avltreehash-list-tests: Likewise.
90851         * modules/carray-list-tests: Likewise.
90852         * modules/crc-tests: Likewise.
90853         * modules/des-tests: Likewise.
90854         * modules/gc-arcfour-tests: Likewise.
90855         * modules/gc-arctwo-tests: Likewise.
90856         * modules/gc-des-tests: Likewise.
90857         * modules/gc-hmac-md5-tests: Likewise.
90858         * modules/gc-hmac-sha1-tests: Likewise.
90859         * modules/gc-md2-tests: Likewise.
90860         * modules/gc-md4-tests: Likewise.
90861         * modules/gc-md5-tests: Likewise.
90862         * modules/gc-pbkdf2-sha1-tests: Likewise.
90863         * modules/gc-rijndael-tests: Likewise.
90864         * modules/gc-sha1-tests: Likewise.
90865         * modules/gc-tests: Likewise.
90866         * modules/getaddrinfo-tests: Likewise.
90867         * modules/hmac-md5-tests: Likewise.
90868         * modules/hmac-sha1-tests: Likewise.
90869         * modules/linked-list-tests: Likewise.
90870         * modules/linkedhash-list-tests: Likewise.
90871         * modules/lock-tests: Likewise.
90872         * modules/md2-tests: Likewise.
90873         * modules/md4-tests: Likewise.
90874         * modules/md5-tests: Likewise.
90875         * modules/rbtree-list-tests: Likewise.
90876         * modules/rbtree-oset-tests: Likewise.
90877         * modules/rbtreehash-list-tests: Likewise.
90878         * modules/read-file-tests: Likewise.
90879         * modules/rijndael-tests: Likewise.
90880         * modules/stdint-tests: Likewise.
90881         * modules/tls-tests: Likewise.
90883 2007-02-24  Bruno Haible  <bruno@clisp.org>
90885         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
90886         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
90887         function; instead check whether isnan with a double argument links.
90888         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
90889         function; instead check whether isnan with a 'long double' argument
90890         links.
90891         Reported by Eric Blake <ebb9@byu.net>.
90893 2007-02-24  Bruno Haible  <bruno@clisp.org>
90895         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
90896         defined.
90897         * lib/isnanl.c: Remove all code. Just include isnan.c.
90898         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
90900 2007-02-25  Jim Meyering  <jim@meyering.net>
90902         Avoid conflicting types for 'unsetenv' on FreeBSD.
90903         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
90904         conflicting with FreeBSD's (5.0 and 6.1) function declaration
90905         in stdlib.h.
90907 2007-02-24  Bruno Haible  <bruno@clisp.org>
90909         * modules/isnanl-nolibm-tests: New file.
90910         * tests/test-isnanl.c: New file.
90912         * modules/isnanl-nolibm: New file.
90913         * lib/isnanl.h: New file.
90914         * lib/isnanl.c: New file.
90915         * m4/isnanl.m4: New file.
90917 2007-02-24  Bruno Haible  <bruno@clisp.org>
90919         * modules/isnan-nolibm-tests: New file.
90920         * tests/test-isnan.c: New file.
90922         * modules/isnan-nolibm: New file.
90923         * lib/isnan.h: New file.
90924         * lib/isnan.c: New file.
90925         * m4/isnan.m4: New file.
90927 2007-02-24  Bruno Haible  <bruno@clisp.org>
90929         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
90930         assume that an exponent fits in 20 bits.
90932 2007-02-24  Jim Meyering  <jim@meyering.net>
90934         * m4/regex.m4: Update the description of the configure-time option,
90935         --without-included-regex, to state accurately what the defaults are,
90936         and perhaps to give people an idea why using this option is risky.
90938 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
90940         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
90941         loops on small arguments.  This attempts to avoid the problem
90942         Bruno Haible reported for AIX 4.3.2 in
90943         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
90945 2007-02-23  Bruno Haible  <bruno@clisp.org>
90947         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
90948         Needed for help2man.
90950 2007-02-23  Karl Berry  <karl@gnu.org>
90952         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
90953         exists, foo.h should be cvs-ignored, not committed.
90955 2007-02-23  Eric Blake  <ebb9@byu.net>
90957         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
90958         * lib/stat-time.h (includes): Likewise.
90959         * lib/utimecmp.c (includes): Likewise.
90960         * lib/utimens.h (includes): Likewise.
90961         * lib/getdate.y (includes): Also include "timespec.h" for use
90962         internal to the module.
90963         * modules/utimens (Depends-on): Revert yesterday's patch.
90964         * modules/nanosleep (Depends-on): Add missing dependency.
90966 2007-02-22  Bruno Haible  <bruno@clisp.org>
90968         * lib/glob.c: Don't include getlogin_r.h.
90970 2007-02-22  Jim Meyering  <jim@meyering.net>
90972         * modules/utimens (Depends-on): Add timespec, required for
90973         utimens.h's inclusion of timespec.h.
90975 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
90977         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
90978         long unreadable paths in GNU/Linux.  Problem reported by Andreas
90979         Schwab in
90980         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
90981         I'll try to think of a better way to fix the Solaris problem.
90983         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
90984         like glibc; on Solaris 10, it fails with errno == EINVAL.
90985         POSIX says the behavior is unspecified if the first argument is NULL,
90986         so play it safe and never pass NULL to the system getcwd.
90988 2007-02-21  Jim Meyering  <jim@meyering.net>
90990         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
90991         of gettimeofday.  It would conflict with the one now always
90992         provided via sys_time_.h.  Reported by Matthew Woehlke, as
90993         an IRIX 6.5 build failure.
90995 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
90997         Minor fixups to port to Solaris 10 with Sun C 5.8.
90998         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
90999         * modules/getcwd (Depends-on): Add dirfd.
91000         * lib/putenv.c (putenv): #undef it.
91001         (rpl_putenv): New decl.
91002         (malloc, free): Include <stdlib.h> rather than prototyping separately.
91004 2007-02-20  Bruno Haible  <bruno@clisp.org>
91006         * modules/stdio-tests: New file.
91007         * tests/test-stdio.c: New file.
91009         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
91010         (Depends-on): Add stdio.
91011         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
91012         (Include): Use <stdio.h> instead of vsnprintf.h.
91013         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
91014         HAVE_DECL_VSNPRINTF.
91015         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
91017         * modules/snprintf (Files): Remove lib/snprintf.h.
91018         (Depends-on): Add stdio.
91019         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
91020         (Include): Use <stdio.h> instead of snprintf.h.
91021         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
91022         HAVE_DECL_SNPRINTF.
91023         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
91024         * lib/getaddrinfo.c: Likewise.
91026         * modules/stdio: New file.
91027         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
91028         * lib/snprintf.h: Remove file.
91029         * lib/vsnprintf.h: Remove file.
91030         * lib/.cppi-disable: Remove snprintf.h.
91031         * m4/stdio_h.m4: New file.
91032         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
91034 2007-02-20  Jim Meyering  <jim@meyering.net>
91036         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
91037         used by e.g., mingw.  From Bruno Haible.
91039 2007-02-19  Bruno Haible  <bruno@clisp.org>
91041         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
91042         warnings.
91043         Reported by Ben Pfaff <blp@cs.stanford.edu>.
91045 2007-02-19  Bruno Haible  <bruno@clisp.org>
91047         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
91048         from mingw users.
91050 2007-02-19  Bruno Haible  <bruno@clisp.org>
91052         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
91053         warnings.
91054         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
91056 2007-02-19  Jim Meyering  <jim@meyering.net>
91058         Don't use FD after a successful "fdopendir (fd)".
91059         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
91060         Reset it by calling dirfd on the just-obtained DIR*.
91062         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
91063         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
91065 2007-02-18  Bruno Haible  <bruno@clisp.org>
91067         * lib/readlink.c: Include <unistd.h>.
91068         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
91069         HAVE_READLINK.
91070         * modules/readlink (Depends-on): Add unistd.
91071         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91072         (Include): Add <unistd.h>.
91074         * lib/getlogin_r.h: Remove file.
91075         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
91076         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
91077         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
91078         HAVE_DECL_GETLOGIN_R.
91079         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
91080         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91081         (Include): Use <unistd.h> instead of getlogin_r.h.
91083         * lib/getcwd.h: Remove file.
91084         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
91085         * lib/xgetcwd.c: Likewise.
91086         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
91087         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
91088         * modules/getcwd (Files): Remove lib/getcwd.h.
91089         (Depends-on): Add unistd.
91090         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91091         (Include): Use <unistd.h> instad of getcwd.h.
91093         * lib/ftruncate.c: Include <unistd.h> first.
91094         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
91095         Set HAVE_FTRUNCATE.
91096         * modules/ftruncate (Depends-on): Add unistd.
91097         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91099         * lib/fchdir.c: Include <unistd.h> first.
91100         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
91101         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
91102         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
91103         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91104         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
91106         * lib/dup2.c: Include <unistd.h> first.
91107         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
91108         HAVE_DUP2.
91109         * modules/dup2 (Depends-on): Add unistd.
91110         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91112         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
91113         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
91114         REPLACE_CHOWN. Don't define chown as a macro here.
91115         * modules/chown (Depends-on): Add unistd.
91116         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
91118         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
91119         Add definition for GL_LINK_WARNING.
91120         (chown, dup2): New declarations.
91121         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
91122         link warning.
91123         (ftruncate): New declaration.
91124         (getcwd): New declaration, taken from old getcwd.h.
91125         (getlogin_r): New declaration, taken from old getlogin_r.h.
91126         (readlink): New declaration.
91127         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
91128         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
91129         (gl_PREREQ_UNISTD): Remove macro.
91130         (gl_UNISTD_MODULE_INDICATOR): New macro.
91131         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
91132         many new variables. Don't set UNISTD_H.
91133         * modules/unistd (Description): Change.
91134         (Depends-on): Add link-warning.
91135         (configure.ac): Update.
91136         (Makefile.am): Create unistd.h always. Substitute many new variables
91137         into it.
91139 2007-02-18  Bruno Haible  <bruno@clisp.org>
91141         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
91142         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
91143         HAVE_GETSUBOPT.
91144         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
91145         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
91146         * lib/getsubopt.h: Remove file.
91147         * modules/getsubopt (Files): Remove lib/getsubopt.h.
91148         (Depends-on): Add stdlib.
91149         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91150         (Includes): Use <stdlib.h> instead of getsubopt.h.
91151         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
91152         Set HAVE_GETSUBOPT.
91153         * lib/getsubopt.c: Don't include getsubopt.h.
91155 2007-02-18  Bruno Haible  <bruno@clisp.org>
91157         * modules/fchdir (Depends-on): Add dup2.
91159 2007-02-18  Bruno Haible  <bruno@clisp.org>
91161         * lib/stdlib_.h: Handle glibc's special invocation convention
91162         specially.
91164 2007-02-18  Bruno Haible  <bruno@clisp.org>
91166         * modules/stdlib-tests: New file.
91167         * tests/test-stdlib.c: New file.
91169         * modules/mkstemp (Files): Remove lib/mkstemp.h.
91170         (Depends-on): Add stdlib.
91171         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91172         (Includes): Use <stdlib.h> instead of mkstemp.h.
91173         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91174         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
91175         * lib/mkstemp.c: Don't include mkstemp.h.
91176         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
91177         * lib/stdlib--.h: Don't include mkstemp.h.
91179         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
91180         (Depends-on): Add stdlib.
91181         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
91182         (Includes): Use <stdlib.h> instead of mkdtemp.h.
91183         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
91184         HAVE_MKDTEMP.
91185         * lib/mkdtemp.c: Don't include mkdtemp.h.
91186         * lib/clean-temp.c: Don't include mkdtemp.h.
91188         * modules/exit (Files): Remove lib/exit.h.
91189         (Depends-on): Add stdlib.
91190         (Makefile.am): Remove lib_SOURCES.
91191         (Include): Use <stdlib.h> instead of exit.h.
91192         * lib/argmatch.c: Don't include exit.h.
91193         * lib/execute.c: Likewise.
91194         * lib/pagealign_alloc.c: Likewise.
91195         * lib/pipe.c: Likewise.
91196         * lib/wait-process.c: Likewise.
91197         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
91198         * lib/exitfail.c: Likewise.
91199         * lib/savewd.c: Likewise.
91200         * lib/xsetenv.c: Likewise.
91202         * modules/stdlib: New file.
91203         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
91204         and extra comments about mkstemp().
91205         * lib/exit.h: Remove file.
91206         * lib/mkdtemp.h: Remove file.
91207         * lib/mkstemp.h: Remove file.
91208         * m4/stdlib_h.m4: New file.
91209         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
91211 2007-02-18  Bruno Haible  <bruno@clisp.org>
91213         * modules/math-tests: New file.
91214         * tests/test-math.c: New file.
91216         * modules/math: New file.
91217         * modules/mathl (Files): Remove lib/mathl.h.
91218         (Depends-on): Add math.
91219         (Makefile.am): Don't mention mathl.h.
91220         (Include): Use <math.h> instead of mathl.h.
91221         * lib/math_.h: New file.
91222         * lib/mathl.h: Remove file.
91223         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
91224         mathl.h.
91225         * lib/asinl.c: Likewise.
91226         * lib/atanl.c: Likewise.
91227         * lib/ceill.c: Likewise.
91228         * lib/cosl.c: Likewise.
91229         * lib/expl.c: Likewise.
91230         * lib/floorl.c: Likewise.
91231         * lib/frexpl.c: Likewise.
91232         * lib/ldexpl.c: Likewise.
91233         * lib/logl.c: Likewise.
91234         * lib/sincosl.c: Likewise.
91235         * lib/sinl.c: Likewise.
91236         * lib/sqrtl.c: Likewise.
91237         * lib/tanl.c: Likewise.
91238         * lib/trigl.c: Likewise.
91239         * m4/math_h.m4: New file.
91240         * MODULES.html.sh (Mathematics): Add math.
91242 2007-02-17  Bruno Haible  <bruno@clisp.org>
91244         * modules/wctype-tests: New file.
91245         * tests/test-wctype.c: New file.
91247         * modules/wchar-tests: New file.
91248         * tests/test-wchar.c: New file.
91250         * modules/unistd-tests: New file.
91251         * tests/test-unistd.c: New file.
91253         * modules/time-tests: New file.
91254         * tests/test-time.c: New file.
91256         * modules/sysexits-tests: New file.
91257         * tests/test-sysexits.c: New file.
91259         * modules/sys_time-tests: New file.
91260         * tests/test-sys_time.c: New file.
91262         * modules/sys_stat-tests: New file.
91263         * tests/test-sys_stat.c: New file.
91265         * modules/sys_socket-tests: New file.
91266         * tests/test-sys_socket.c: New file.
91268         * modules/sys_select-tests: New file.
91269         * tests/test-sys_select.c: New file.
91271         * modules/string-tests: New file.
91272         * tests/test-string.c: New file.
91274         * modules/stdbool-tests: New file.
91275         * tests/test-stdbool.c: New file.
91277         * modules/netinet_in-tests: New file.
91278         * tests/test-netinet_in.c: New file.
91280         * modules/inttypes-tests: New file.
91281         * tests/test-inttypes.c: New file.
91283         * modules/fcntl-tests: New file.
91284         * tests/test-fcntl.c: New file.
91286         * modules/byteswap-tests: New file.
91287         * tests/test-byteswap.c: New file.
91289         * modules/arpa_inet-tests: New file.
91290         * tests/test-arpa_inet.c: New file.
91292 2007-02-17  Bruno Haible  <bruno@clisp.org>
91294         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
91295         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
91296         if the corresponding module is not enabled. Emit link warnings if
91297         the function is used nevertheless.
91298         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
91299         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
91300         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
91301         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
91302         * modules/inttypes (Depends-on): Add link-warning.
91303         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91304         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
91305         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
91306         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
91307         * modules/imaxdiv (configure.ac): Likewise.
91308         * modules/strtoimax (configure.ac): Likewise.
91309         * modules/strtoumax (configure.ac): Likewise.
91311 2007-02-17  Bruno Haible  <bruno@clisp.org>
91313         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
91314         gl_STRING_MODULE_INDICATOR_DEFAULTS.
91315         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
91316         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
91318 2007-02-17  Bruno Haible  <bruno@clisp.org>
91320         * modules/link-warning: New file.
91321         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
91322         * lib/string_.h (GL_LINK_WARNING): Remove definition.
91323         * modules/string (Depends-on): Add link-warning.
91324         (Makefile.am): Copy the contents of build-aux/link-warning.h into
91325         string.h.
91326         * MODULES.html.sh (Support for building libraries and executables): Add
91327         link-warning.
91329 2007-02-17  Bruno Haible  <bruno@clisp.org>
91331         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
91332         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
91333         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
91334         long lines.
91336 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
91337             Bruno Haible  <bruno@clisp.org>
91339         * modules/tmpfile: New file.
91340         * lib/tmpfile.c: New file.
91341         * m4/tmpfile.m4: New file.
91342         * MODULES.html.sh (func_all_modules): New section "Input/output".
91344 2007-02-15  Bruno Haible  <bruno@clisp.org>
91346         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
91347         (supports_delete_on_close): New function.
91348         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
91350 2007-02-14  Bruno Haible  <bruno@clisp.org>
91352         * modules/mbspcasecmp-tests: New file.
91353         * tests/test-mbspcasecmp.sh: New file.
91354         * tests/test-mbspcasecmp.c: New file.
91356         New module mbspcasecmp.
91357         * modules/mbspcasecmp: New file.
91358         * lib/mbspcasecmp.c: New file.
91359         * lib/string_.h (strncasecmp): Change warning message.
91360         (mbspcasecmp): New declaration.
91361         * m4/mbspcasecmp.m4: New file.
91362         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91363         GNULIB_MBSPCASECMP.
91364         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
91365         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
91367 2007-02-14  Bruno Haible  <bruno@clisp.org>
91369         * modules/mbsncasecmp-tests: New file.
91370         * tests/test-mbsncasecmp.sh: New file.
91371         * tests/test-mbsncasecmp.c: New file.
91373         New module mbsncasecmp.
91374         * modules/mbsncasecmp: New file.
91375         * lib/mbsncasecmp.c: New file.
91376         * lib/string_.h (mbsncasecmp): New declaration.
91377         * m4/mbsncasecmp.m4: New file.
91378         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91379         GNULIB_MBSNCASECMP.
91380         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
91381         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
91383 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
91385         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
91386         Verify that it doesn't overlap with our flags.
91387         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
91388         do not have the desired effect in multibyte locales; instead, use
91389         mbscasecmp.
91390         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
91391         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
91392         we don't require GNU fnmatch ourselves (if our users require it, they
91393         should do so explicitly).
91395         Fix regex code so it doesn't rely on strcasecmp.
91396         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
91397         Otherwise, include gnulib's langinfo.h.
91398         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
91399         undesirable behavior in non-C locales.  Instead, rely on localecharset.
91400         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
91401         * modules/regex (FILES): Remove m4/codeset.m4.
91402         (Depends-on): Add localcharset.  Remove strcase.
91404 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91406         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
91407         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
91409 2007-02-13  Bruno Haible  <bruno@clisp.org>
91411         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
91412         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91414 2007-02-12  Bruno Haible  <bruno@clisp.org>
91416         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91417         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
91418         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
91419         time warning rather than a link error.
91421 2007-02-12  Bruno Haible  <bruno@clisp.org>
91423         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
91424         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
91425         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91427 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91429         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
91430         args, not 2.
91432 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
91434         New module 'time', so that apps can include <time.h> as per
91435         POSIX and GNU instead of separate include files like time_r.h
91436         and timegm.h.  This implementation tries out a simpler approach
91437         for replacing decls in standard include files (as compared to
91438         the string module), somewhat as an experiment.
91440         * config/srclist.txt: Comment out mktime.c for now.
91441         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
91442         since it doesn't apply any more.  Use generic wording instead.
91443         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
91444         'time'.
91445         * lib/time_.h, m4/time_h.m4, modules/time: New files.
91446         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
91447         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
91448         Don't include <sys/types.h>; no longer needed since we assume C89.
91449         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
91450         * lib/strftime.c: Likewise.
91451         * lib/time_r.c: Likewise.
91452         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
91453         * lib/nanosleep.c: Include <time.h> first, to check interface.
91454         * lib/strptime.c: Likewise.
91455         * lib/time_r.c: Likewise.
91456         * lib/timegm.c: Likewise.
91457         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
91458         needed.
91459         * lib/timegm.c: Don't include timegm.h; no longer needed.
91460         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
91461         time.h now handles any problems in that area.
91462         (struct timespec, nanosleep): Remove; time.h now arranges for these.
91463         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
91464         that time.h defines struct timespec.
91465         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
91466         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
91467         handles that.
91468         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
91469         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
91470         needed.  Set REPLACE_LOCALTIME.
91471         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
91472         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
91473         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
91474         nanosleep; time_h.m4 now does that.  Don't require
91475         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
91476         module handles this now.
91477         * modules/getdate (Depends-on): Remove timespec.  Add time.
91478         * modules/nanosleep (Depends-on): Likewise.
91479         * modules/stat-time (Depends-on): Likewise.
91480         * modules/nanosleep (Include): Include time.h, not timespec.h.
91481         * modules/strptime (Files): Remove lib/strptime.h.
91482         (Depends-on): Add extensions, time.
91483         (Include): Include time.h, not strptime.h.
91484         * modules/time_r (Files): Remove lib/time_r.h.
91485         (Depends-on): Add time.
91486         (Include): Include time.h, not time_r.h.
91487         * modules/timegm: Likewise.
91488         * modules/timespec (Description): Now does timespec-related decls
91489         of our own, instead of struct timespec itself.
91490         (Depends-on): Add time; remove extensions.
91491         (Maintainer): Add self.
91492         * modules/utimecmp (Depends-on): Add time; remove timespec.
91493         * modules/utimens (Depends-on): Likewise.
91494         * modules/xnanosleep (Depends-on): Likewise.
91496 2007-02-11  Bruno Haible  <bruno@clisp.org>
91498         * lib/c-strstr.c: Include allocsa.h.
91499         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91500         * lib/c-strcasestr.c: Include allocsa.h.
91501         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91502         * lib/strcasestr.c: Include allocsa.h.
91503         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
91504         * lib/mbsstr.c: Include allocsa.h.
91505         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91506         allocsa/freesa instead of malloc/free.
91507         * lib/mbscasestr.c: Include allocsa.h.
91508         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
91509         allocsa/freesa instead of malloc/free.
91510         * modules/c-strstr (Depends-on): Add allocsa.
91511         * modules/c-strcasestr (Depends-on): Likewise.
91512         * modules/strcasestr (Depends-on): Likewise.
91513         * modules/mbsstr (Depends-on): Likewise.
91514         * modules/mbscasestr (Depends-on): Likewise.
91516 2007-02-11  Bruno Haible  <bruno@clisp.org>
91518         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
91520         * modules/mbsspn-tests: New file.
91521         * tests/test-mbsspn.sh: New file.
91522         * tests/test-mbsspn.c: New file.
91524 2007-02-11  Bruno Haible  <bruno@clisp.org>
91526         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
91528         * modules/mbspbrk-tests: New file.
91529         * tests/test-mbspbrk.sh: New file.
91530         * tests/test-mbspbrk.c: New file.
91532 2007-02-11  Bruno Haible  <bruno@clisp.org>
91534         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
91535         unneeded cast.
91537         * modules/mbscspn-tests: New file.
91538         * tests/test-mbscspn.sh: New file.
91539         * tests/test-mbscspn.c: New file.
91541 2007-02-11  Bruno Haible  <bruno@clisp.org>
91543         * modules/mbscasecmp-tests: New file.
91544         * tests/test-mbscasecmp.sh: New file.
91545         * tests/test-mbscasecmp.c: New file.
91547 2007-02-11  Bruno Haible  <bruno@clisp.org>
91549         Ensure O(n) worst-case complexity of mbscasestr.
91550         * lib/mbscasestr.c: Include stdbool.h.
91551         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91552         functions.
91553         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
91554         the bookkeeping indicates that it's worth it.
91555         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
91557         * modules/mbscasestr-tests: New file.
91558         * tests/test-mbscasestr1.c: New file.
91559         * tests/test-mbscasestr2.sh: New file.
91560         * tests/test-mbscasestr2.c: New file.
91561         * tests/test-mbscasestr3.sh: New file.
91562         * tests/test-mbscasestr3.c: New file.
91563         * tests/test-mbscasestr4.sh: New file.
91564         * tests/test-mbscasestr4.c: New file.
91565         * m4/locale-tr.m4: New file.
91567 2007-02-11  Bruno Haible  <bruno@clisp.org>
91569         Ensure O(n) worst-case complexity of mbsstr.
91570         * lib/mbsstr.c: Include stdbool.h.
91571         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
91572         functions.
91573         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
91574         bookkeeping indicates that it's worth it.
91575         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
91577         * modules/mbsstr-tests: New file.
91578         * tests/test-mbsstr1.c: New file.
91579         * tests/test-mbsstr2.sh: New file.
91580         * tests/test-mbsstr2.c: New file.
91581         * tests/test-mbsstr3.sh: New file.
91582         * tests/test-mbsstr3.c: New file.
91583         * m4/locale-fr.m4: New file.
91585 2007-02-11  Bruno Haible  <bruno@clisp.org>
91587         * lib/mbsrchr.c (mbsrchr): Fix bug.
91589         * modules/mbsrchr-tests: New file.
91590         * tests/test-mbsrchr.sh: New file.
91591         * tests/test-mbsrchr.c: New file.
91593 2007-02-11  Bruno Haible  <bruno@clisp.org>
91595         * lib/mbschr.c (mbschr): Fix bug.
91597         * modules/mbschr-tests: New file.
91598         * tests/test-mbschr.sh: New file.
91599         * tests/test-mbschr.c: New file.
91600         * m4/locale-zh.m4: New file.
91602 2007-02-11  Bruno Haible  <bruno@clisp.org>
91604         Support for copying multibyte string iterators.
91605         * lib/mbiter.h: Include <string.h>.
91606         (mbiter_multi_copy): New function.
91607         (mbi_copy): New macro.
91608         * lib/mbuiter.h: Include <string.h>.
91609         (mbuiter_multi_copy): New function.
91610         (mbui_copy): New macro.
91612 2007-02-11  Bruno Haible  <bruno@clisp.org>
91614         New module mbslen.
91615         * modules/mbslen: New file.
91616         * lib/mbslen.c: New file.
91617         * lib/string_.h (mbslen): New declaration.
91618         * m4/mbslen.m4: New file.
91619         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91620         GNULIB_MBSLEN.
91621         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
91622         * MODULES.html.sh (Internationalization functions): Add mbslen.
91624 2007-02-11  Bruno Haible  <bruno@clisp.org>
91626         Ensure O(n) worst-case complexity of strcasestr substitute.
91627         * lib/strcasestr.c: Include stdbool.h.
91628         (knuth_morris_pratt): New function.
91629         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91630         bookkeeping indicates that it's worth it.
91631         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
91633         * modules/strcasestr-tests: New file.
91634         * tests/test-strcasestr.c: New file.
91636 2007-02-11  Bruno Haible  <bruno@clisp.org>
91638         Ensure O(n) worst-case complexity of c_strcasestr.
91639         * lib/c-strcasestr.c: Include stdbool.h, string.h.
91640         (knuth_morris_pratt): New function.
91641         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
91642         the bookkeeping indicates that it's worth it.
91643         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
91645         * modules/c-strcasestr-tests: New file.
91646         * tests/test-c-strcasestr.c: New file.
91648 2007-02-11  Bruno Haible  <bruno@clisp.org>
91650         Ensure O(n) worst-case complexity of c_strstr.
91651         * lib/c-strstr.c: Include stdbool.h, string.h.
91652         (knuth_morris_pratt): New function.
91653         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
91654         bookkeeping indicates that it's worth it.
91655         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
91657         * lib/c-strstr.c: Complete rewrite for maintainability.
91659         * modules/c-strstr-tests: New file.
91660         * tests/test-c-strstr.c: New file.
91662 2007-02-11  Bruno Haible  <bruno@clisp.org>
91664         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
91665         5.2.1 and earlier, whereby \055 was treated just like the range
91666         delimiter '-'.
91667         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
91669 2007-02-08  Bruno Haible  <bruno@clisp.org>
91671         * modules/regex (Depends-on): Add stdbool.
91672         Reported by Dalibor Topic <robilad@kaffe.org>.
91674 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
91676         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
91677         Prefer returning from main to exiting from it.
91678         Remove unnecessary parens after sizeof.
91680 2007-02-05  Bruno Haible  <bruno@clisp.org>
91682         New module mbssep.
91683         * modules/mbssep: New file.
91684         * lib/mbssep.c: New file.
91685         * lib/string_.h (strsep): Add a conditional link warning.
91686         (mbssep): New declaration.
91687         * m4/mbssep.m4: New file.
91688         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91689         GNULIB_MBSSEP.
91690         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
91691         * MODULES.html.sh (Internationalization functions): Add mbssep.
91693 2007-02-05  Bruno Haible  <bruno@clisp.org>
91695         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
91696         Optimize search in case of 1 delimiter.
91698 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91700         * lib/acl.h: Include sys/types.h before sys/acl.h.
91702 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
91704         Merge upstream fix for glibc bugzilla #3957:
91706         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
91708         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
91709         bit for RE_HAT_LISTS_NOT_NEWLINE.
91710         (build_charclass_op): Remove bogus comment.
91712 2007-02-05  Simon Josefsson  <simon@josefsson.org>
91714         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
91716 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91718         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
91719         * lib/memmem.c [!defined _LIBC]: Include config.h.
91721 2007-02-04  Bruno Haible  <bruno@clisp.org>
91723         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
91724         warning message.
91726 2007-02-04  Bruno Haible  <bruno@clisp.org>
91728         New module mbstok_r.
91729         * modules/mbstok_r: New file.
91730         * lib/mbstok_r.c: New file.
91731         * lib/string_.h (strtok_r): Change argument names to match the
91732         comments. Add a conditional link warning.
91733         (mbstok_r): New declaration.
91734         * m4/mbstok_r.m4: New file.
91735         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91736         GNULIB_MBSTOK_R.
91737         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
91738         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
91740 2007-02-04  Bruno Haible  <bruno@clisp.org>
91742         New module mbsspn.
91743         * modules/mbsspn: New file.
91744         * lib/mbsspn.c: New file.
91745         * lib/string_.h (strspn): Add a conditional link warning.
91746         (mbsspn): New declaration.
91747         * m4/mbsspn.m4: New file.
91748         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91749         GNULIB_MBSSPN.
91750         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
91751         * MODULES.html.sh (Internationalization functions): Add mbsspn.
91753 2007-02-04  Bruno Haible  <bruno@clisp.org>
91755         New module mbspbrk.
91756         * modules/mbspbrk: New file.
91757         * lib/mbspbrk.c: New file.
91758         * lib/string_.h (strpbrk): Add a conditional link warning.
91759         (mbspbrk): New declaration.
91760         * m4/mbspbrk.m4: New file.
91761         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91762         GNULIB_MBSPBRK.
91763         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
91764         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
91766 2007-02-04  Bruno Haible  <bruno@clisp.org>
91768         New module mbscspn.
91769         * modules/mbscspn: New file.
91770         * lib/mbscspn.c: New file.
91771         * lib/string_.h (strcspn): Add a conditional link warning.
91772         (mbscspn): New declaration.
91773         * m4/mbscspn.m4: New file.
91774         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91775         GNULIB_MBSCSPN.
91776         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
91777         * MODULES.html.sh (Internationalization functions): Add mbscspn.
91779 2007-02-04  Bruno Haible  <bruno@clisp.org>
91781         New module mbscasestr, reduced goal of strcasestr.
91782         * modules/mbscasestr: New file.
91783         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
91784         (mbscasestr): Renamed from strcasestr.
91785         * lib/strcasestr.c: Don't include mbuiter.h.
91786         (strcasestr): Remove support for multibyte locales.
91787         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
91788         Change the conditional link warning.
91789         (mbscasestr): New declaration.
91790         * m4/mbscasestr.m4: New file.
91791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
91792         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
91793         REPLACE_STRCASESTR.
91794         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
91795         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91796         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91797         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
91798         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
91799         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
91800         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
91801         (Depends-on): Remove mbuiter.
91802         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
91804 2007-02-04  Bruno Haible  <bruno@clisp.org>
91806         Simplify handling of strncasecmp.
91807         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
91808         the conditional link warning.
91809         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91810         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
91811         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
91812         * modules/strcase (configure.ac): Don't invoke
91813         gl_STRING_MODULE_INDICATOR.
91814         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
91816 2007-02-04  Bruno Haible  <bruno@clisp.org>
91818         New module mbscasecmp, reduced goal of strcasecmp.
91819         * modules/mbscasecmp: New file.
91820         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
91821         (mbscasecmp): Renamed from strcasecmp.
91822         * lib/strcasecmp.c: Don't include mbuiter.h.
91823         (strcasecmp): Remove support for multibyte locales.
91824         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
91825         Change the conditional link warning.
91826         (mbscasecmp): New declaration.
91827         * m4/mbscasecmp.m4: New file.
91828         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
91829         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
91830         REPLACE_STRCASECMP.
91831         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
91832         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91833         GNULIB_MBSCASECMP.
91834         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
91835         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
91836         * modules/strcase (Files): Remove m4/mbrtowc.m4.
91837         (Depends-on): Remove mbuiter.
91838         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
91840 2007-02-04  Bruno Haible  <bruno@clisp.org>
91842         New module mbsstr. Remove module strstr.
91843         * modules/mbsstr: New file.
91844         * modules/strstr: Remove file.
91845         * lib/mbsstr.c: Renamed from lib/strstr.c.
91846         (mbsstr): Renamed from strstr.
91847         * lib/string_.h (strstr): Remove declaration. Change the conditional
91848         link warning.
91849         (mbsstr): New declaration.
91850         * m4/mbsstr.m4: New file.
91851         * m4/strstr.m4: Remove file.
91852         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
91853         REPLACE_STRSTR.
91854         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
91855         Don't initialize GNULIB_STRSTR.
91856         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
91857         substitute GNULIB_STRSTR and REPLACE_STRSTR.
91858         * MODULES.html.sh (Internationalization functions): Add mbsstr.
91859         (Support for systems lacking ANSI C 89): Remove strstr.
91861 2007-02-04  Bruno Haible  <bruno@clisp.org>
91863         New module mbsrchr.
91864         * modules/mbsrchr: New file.
91865         * lib/mbsrchr.c: New file.
91866         * lib/string_.h (strrchr): Add a conditional link warning.
91867         (mbsrchr): New declaration.
91868         * m4/mbsrchr.m4: New file.
91869         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91870         GNULIB_MBSRCHR.
91871         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
91872         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
91874 2007-02-04  Bruno Haible  <bruno@clisp.org>
91876         New module mbschr.
91877         * modules/mbschr: New file.
91878         * lib/mbschr.c: New file.
91879         * lib/string_.h (strchr): Add a conditional link warning.
91880         (mbschr): New declaration.
91881         * m4/mbschr.m4: New file.
91882         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
91883         GNULIB_MBSCHR.
91884         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
91885         * MODULES.html.sh (Internationalization functions): Add mbschr.
91887 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
91889         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
91891         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
91893 2007-02-04  Bruno Haible  <bruno@clisp.org>
91895         New module description section 'configure.ac-early'.
91896         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
91897         (func_get_autoconf_early_snippet): New function.
91898         (func_import, func_create_testdir): Use it. Remove special cases for
91899         modules 'extensions' and 'lock'.
91900         * modules/extensions (configure.ac-early): Require
91901         gl_USE_SYSTEM_EXTENSIONS.
91902         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
91904 2007-02-04  Bruno Haible  <bruno@clisp.org>
91906         Make use of gcj-4.3's -fsource and -ftarget option.
91907         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
91908         and if so try the options -fsource and -ftarget.
91909         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
91910         source_version, ftarget_option, target_version arguments.
91911         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
91912         (is_envjavac_oldgcj_14_14_usable): Renamed from
91913         is_envjavac_gcj_14_14_usable.
91914         (is_envjavac_oldgcj_14_13_usable): Renamed from
91915         is_envjavac_gcj_14_13_usable.
91916         (is_gcj_present): Update.
91917         (is_gcj_43, is_gcj43_usable): New functions.
91918         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
91919         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
91920         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
91921         try the options -fsource and -ftarget.
91923 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
91925         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
91926         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
91927         larger value.
91929 2007-02-03  Jim Meyering  <jim@meyering.net>
91931         Give tools a better chance to allocate space for very large buffers.
91932         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
91934         Make pwd and readlink work also when run with an unreadable parent dir
91935         on systems with openat support.
91936         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
91937         provided getcwd function, even when we have openat support.
91938         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
91940 2007-02-02  Bruno Haible  <bruno@clisp.org>
91942         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
91943         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
91944         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
91945         portability problems if one of these functions is only used on specific
91946         platforms.
91947         Reported by Paul Eggert.
91949 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
91951         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
91952         is causing more trouble than it's curing.
91953         * lib/regex_internal.h (__mempcpy): Remove.
91954         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
91955         (and make the code a tad smaller to boot).
91956         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
91958 2007-02-02  Jim Meyering  <jim@meyering.net>
91960         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
91961         section, not in the Makefile.am: one.
91963 2007-02-02  Eric Blake  <ebb9@byu.net>
91965         * lib/strchrnul.c: Always include config.h first.
91967         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
91968         gnulib strstr is not necessary here.
91970 2007-02-02  Simon Josefsson  <simon@josefsson.org>
91972         * m4/socklen.m4: Fix typo.
91974 2007-02-02  Eric Blake  <ebb9@byu.net>
91976         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
91977         * modules/netinet_in (Makefile.am): Likewise.
91979 2007-02-01  Bruno Haible  <bruno@clisp.org>
91981         * lib/string_.h (GL_LINK_WARNING): New macro.
91982         (strcasecmp, strstr, strcasestr): If provided by the system,
91983         conditionally define as a macro that leads to a warning instead of to
91984         an error.
91985         (strncasecmp): Conditionally define as a macro that leads to a warning.
91987 2007-02-01  Karl Berry  <karl@gnu.org>
91989         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
91991 2007-02-01  Bruno Haible  <bruno@clisp.org>
91993         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
91994         renamings.
91996 2007-02-01  Eric Blake  <ebb9@byu.net>
91998         * modules/regex (Depends-on): Revert dependence on mempcpy.
91999         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
92000         module's definition of mempcpy.
92001         Reported by Paul Eggert.
92003 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
92005         * lib/string_.h: If the gnulib module XYZ is not present, undefine
92006         the symbol XYZ before redefining it.  This fixes a problem with
92007         programs that don't use XYZ, when compiled on systems that define
92008         XYZ to something else.
92010 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
92012         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
92013         occurs when "mkdir -m foo" creates a setgid directory that is (1)
92014         writeable to group or other and (2) is intended to have a special
92015         mode bit that is set or cleared.  In such a case, the directory
92016         should be neither group- nor other-writeable until the special
92017         mode bits are right.
92019 2007-01-31  Eric Blake  <ebb9@byu.net>
92021         * modules/mountlist (Depends-on): Add strstr.
92023         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
92024         bug.
92025         * modules/string (Makefile.am): Remove redundant replacement.
92026         * modules/regex (Depends-on): Add mempcpy.
92028 2007-01-31  Bruno Haible  <bruno@clisp.org>
92030         New module description field 'Link'.
92031         * gnulib-tool (func_usage): Document --extract-link-directive.
92032         (sed_extract_prog): Recognize 'Link' directive.
92033         (func_get_link_directive): New function.
92034         (func_import): Show summary of link directives.
92035         Handle --extract-link-directive option.
92036         * modules/acl (Link): New section.
92037         * modules/clock-time (Link): New section.
92038         * modules/euidaccess (Link): New section.
92039         * modules/gettext (Link): New section.
92040         * modules/iconv (Link): New section.
92041         * modules/lock (Link): New section.
92042         * modules/nanosleep (Link): New section.
92043         * modules/readline (Link): New section.
92045 2007-01-27  Bruno Haible  <bruno@clisp.org>
92047         Enforce the use of gnulib modules for unportable <string.h> functions.
92048         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
92049         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
92050         (gl_HEADER_STRING_H_BODY): Require it.
92051         * lib/string_.h: If the gnulib module XYZ is not present, redefine
92052         the symbol XYZ to one that gives a link error.
92053         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
92054         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
92055         * modules/mempcpy (configure.ac): Likewise.
92056         * modules/memrchr (configure.ac): Likewise.
92057         * modules/stpcpy (configure.ac): Likewise.
92058         * modules/stpncpy (configure.ac): Likewise.
92059         * modules/strcase (configure.ac): Likewise.
92060         * modules/strcasestr (configure.ac): Likewise.
92061         * modules/strchrnul (configure.ac): Likewise.
92062         * modules/strdup (configure.ac): Likewise.
92063         * modules/strndup (configure.ac): Likewise.
92064         * modules/strnlen (configure.ac): Likewise.
92065         * modules/strpbrk (configure.ac): Likewise.
92066         * modules/strsep (configure.ac): Likewise.
92067         * modules/strstr (configure.ac): Likewise.
92068         * modules/strtok_r (configure.ac): Likewise.
92070 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
92072         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
92074 2007-01-30  Jim Meyering  <jim@meyering.net>
92076         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
92078 2007-01-29  Bruno Haible  <bruno@clisp.org>
92080         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
92081         * lib/execute.c: Likewise.
92082         * lib/pipe.c: Likewise.
92083         * lib/printf-args.h: Likewise.
92084         * lib/printf-args.c: Likewise.
92085         * lib/printf-parse.c: Likewise.
92086         * lib/vasnprintf.c: Likewise.
92088 2007-01-29  Eric Blake  <ebb9@byu.net>
92090         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
92091         declaration.
92093 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
92095         * lib/strptime.h (strptime): Use 'restrict' for args where
92096         POSIX requires this.
92097         * lib/strptime.c (strptime): Likewise.
92098         Change license notice from LGPL to GPL, since gnulib-tool will
92099         change this as needed.
92100         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
92101         defined.
92102         Include "strptime.h" first, to check interface.
92103         Do not #undef _LIBC and _NL_CURRENT.
92104         Do not include <stdlib.h>; no longer needed.
92105         Include "time_r.h" and declare ptime_locale_status
92106         only if _LIBC is not defined.
92107         (__P): Remove unused macro.
92108         (match_string): Bring back glibc version, but use it only if _LIBC
92109         is defined.
92110         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
92111         Remove unnecessary assertion and abort() call.
92112         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
92113         * m4/strptime.m4: Fix serial number comment.
92114         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
92115         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
92116         (Depends-on): Add time_r.
92118 2007-01-29  Bruno Haible  <bruno@clisp.org>
92120         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
92121         strptime.
92122         * modules/strptime (Depends-on): Add stdbool.
92123         * lib/strptime.h: Include <time.h> always. Add comments.
92125 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
92127         * modules/strptime: New file.
92128         * lib/strptime.h: New file.
92129         * lib/strptime.c: New file.
92130         * m4/strptime.m4: New file.
92132 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
92134         * MODULES.html.sh: New module mpsort.
92135         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
92137         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
92138         a circularity problem with HP-UX ia64 reported by Bob Proulx in
92139         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
92140         All uses changed.
92141         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
92142         All uses changed.
92143         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
92144         to _Restrict_.
92145         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
92146         the parameter matches the prototype.
92148 2007-01-28  Jim Meyering  <jim@meyering.net>
92150         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
92151         sys/time.h here, reverting that part of the previous patch:
92152         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
92154 2007-01-28  Bruno Haible  <bruno@clisp.org>
92156         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
92157         value of $(SYS_TIME_H).
92158         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
92159         remove it conditionally, too. [added by Jim Meyering]
92160         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
92161         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92162         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
92163         GETTIMEOFDAY_REPLACEMENT to 1.
92165 2007-01-28  Bruno Haible  <bruno@clisp.org>
92167         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
92168         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
92169         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
92170         Set UNISTD_H instead of UNISTD_H2.
92171         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
92173 2007-01-28  Bruno Haible  <bruno@clisp.org>
92175         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
92176         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
92178 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92180         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
92181         (func_create_testdir): Ensure C locale for `grep' and `tr'
92182         character ranges.
92183         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
92184         ACLOCAL_AMFLAGS parsing state machine.
92186 2007-01-27  Bruno Haible  <bruno@clisp.org>
92188         * modules/unistr/base: Update.
92190 2007-01-27  Bruno Haible  <bruno@clisp.org>
92192         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
92193         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
92194         * modules/unistr/u32-mbtouc-unsafe: Renamed from
92195         modules/unistr/u32-mbtouc.
92196         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
92197         * lib/unistr.h: Update.
92198         * lib/linebreak.c: Update.
92199         * modules/unistr/u32-mbtouc: Renamed from
92200         modules/unistr/u32-mbtouc-safe.
92201         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
92202         * lib/unistr.h: Update.
92203         * lib/unistr/u32-to-u8.c: Update.
92204         * lib/unistr/u32-to-u16.c: Update.
92206 2007-01-27  Bruno Haible  <bruno@clisp.org>
92208         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
92209         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
92210         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
92211         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
92212         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
92213         * modules/unistr/u16-mbtouc-unsafe: Renamed from
92214         modules/unistr/u16-mbtouc.
92215         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
92216         * lib/unistr.h: Update.
92217         * lib/linebreak.c: Update.
92218         * modules/linebreak: Update.
92219         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
92220         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
92221         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
92222         * modules/unistr/u16-mbtouc: Renamed from
92223         modules/unistr/u16-mbtouc-safe.
92224         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
92225         * lib/unistr.h: Update.
92226         * lib/unistr/u16-to-u8.c: Update.
92227         * modules/unistr/u16-to-u8: Update.
92228         * lib/unistr/u16-to-u32.c: Update.
92229         * modules/unistr/u16-to-u32: Update.
92231 2007-01-27  Bruno Haible  <bruno@clisp.org>
92233         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
92234         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
92235         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
92236         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
92237         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
92238         * modules/unistr/u8-mbtouc-unsafe: Renamed from
92239         modules/unistr/u8-mbtouc.
92240         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
92241         * lib/unistr.h: Update.
92242         * lib/striconveh.c: Update.
92243         * modules/striconveh: Update.
92244         * lib/linebreak.c: Update.
92245         * modules/linebreak: Update.
92246         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
92247         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
92248         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
92249         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
92250         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
92251         * lib/unistr.h: Update.
92252         * lib/striconveh.c: Update.
92253         * modules/striconveh: Update.
92254         * lib/unistr/u8-to-u16.c: Update.
92255         * modules/unistr/u8-to-u16: Update.
92256         * lib/unistr/u8-to-u32.c: Update.
92257         * modules/unistr/u8-to-u32: Update.
92259 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92261         Sync from Libtool.
92262         * lib/argz.c: Do not include strings.h nor memory.h, include
92263         string.h unconditionally.  Patch by Simon Josefsson.
92265 2007-01-27  Bruno Haible  <bruno@clisp.org>
92267         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
92268         from gl_HEADER_STRING_H_BODY.
92269         (gl_HEADER_STRING_H_BODY): Require it.
92270         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
92271         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
92272         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
92273         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
92274         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
92275         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
92276         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
92277         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
92278         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
92279         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
92280         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
92281         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
92282         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
92283         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
92284         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
92286 2007-01-27  Bruno Haible  <bruno@clisp.org>
92288         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
92289         check_PROGRAMS into noinst_PROGRAMS.
92290         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
92291         check_PROGRAMS in this case.
92292         (func_import): Set for_test to false.
92293         (func_create_testdir): Set for_test to true.
92295 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92296             Bruno Haible  <bruno@clisp.org>
92298         * modules/strcasestr (Files): Remove lib/strcasestr.h.
92299         (Depends-on): Add string.
92300         (Includes): Use <string.h> instead of strcasestr.h.
92301         * modules/string (Makefile.am): Also substitute the value of
92302         REPLACE_STRCASESTR.
92303         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
92304         assume strcasestr is declared in <string.h> not <strings.h>. Also
92305         set REPLACE_STRCASESTR.
92306         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
92307         REPLACE_STRCASESTR.
92308         * lib/strcasestr.h: Remove file.
92309         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
92310         * lib/string_.h (strcasestr): New declaration.
92312 2007-01-27  Bruno Haible  <bruno@clisp.org>
92314         * lib/string_.h: Use 'extern'.
92316 2007-01-27  Jim Meyering  <jim@meyering.net>
92318         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
92319         of set-but-not-used local, "q".
92321         * lib/mempcpy.c: Include <config.h> before <string.h>.
92322         This fixes a compilation error on HP-UX, due to the system's
92323         "restrict"-using mempcpy prototype.
92325 2007-01-26  Bruno Haible  <bruno@clisp.org>
92327         Small optimization.
92328         * lib/javacomp.c: Include c-strstr.h.
92329          (is_envjavac_gcj): Use c_strstr instead of strstr.
92330         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
92332 2007-01-26  Bruno Haible  <bruno@clisp.org>
92334         * MODULES.html.sh (Unicode string functions): Add the new modules.
92336         * modules/uniconv/u32-strconv-to-locale: New file.
92337         * lib/uniconv/u32-strconv-to-locale.c: New file.
92339         * modules/uniconv/u16-strconv-to-locale: New file.
92340         * lib/uniconv/u16-strconv-to-locale.c: New file.
92342         * modules/uniconv/u8-strconv-to-locale: New file.
92343         * lib/uniconv/u8-strconv-to-locale.c: New file.
92345         * modules/uniconv/u32-strconv-from-locale: New file.
92346         * lib/uniconv/u32-strconv-from-locale.c: New file.
92348         * modules/uniconv/u16-strconv-from-locale: New file.
92349         * lib/uniconv/u16-strconv-from-locale.c: New file.
92351         * modules/uniconv/u8-strconv-from-locale: New file.
92352         * lib/uniconv/u8-strconv-from-locale.c: New file.
92354         * modules/uniconv/u32-strconv-to-enc: New file.
92355         * lib/uniconv/u32-strconv-to-enc.c: New file.
92356         * modules/uniconv/u32-strconv-to-enc-tests: New file.
92357         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
92359         * modules/uniconv/u16-strconv-to-enc: New file.
92360         * lib/uniconv/u16-strconv-to-enc.c: New file.
92361         * lib/uniconv/u-strconv-to-enc.h: New file.
92362         * modules/uniconv/u16-strconv-to-enc-tests: New file.
92363         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
92365         * modules/uniconv/u8-strconv-to-enc: New file.
92366         * lib/uniconv/u8-strconv-to-enc.c: New file.
92367         * modules/uniconv/u8-strconv-to-enc-tests: New file.
92368         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
92370         * modules/uniconv/u32-strconv-from-enc: New file.
92371         * lib/uniconv/u32-strconv-from-enc.c: New file.
92372         * modules/uniconv/u32-strconv-from-enc-tests: New file.
92373         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
92375         * modules/uniconv/u16-strconv-from-enc: New file.
92376         * lib/uniconv/u16-strconv-from-enc.c: New file.
92377         * modules/uniconv/u16-strconv-from-enc-tests: New file.
92378         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
92380         * modules/uniconv/u8-strconv-from-enc: New file.
92381         * lib/uniconv/u8-strconv-from-enc.c: New file.
92382         * lib/uniconv/u-strconv-from-enc.h: New file.
92383         * modules/uniconv/u8-strconv-from-enc-tests: New file.
92384         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
92386         * modules/uniconv/u32-conv-from-enc: New file.
92387         * lib/uniconv/u32-conv-from-enc.c: New file.
92388         * modules/uniconv/u32-conv-from-enc-tests: New file.
92389         * tests/uniconv/test-u32-conv-from-enc.c: New file.
92391         * modules/uniconv/u16-conv-from-enc: New file.
92392         * lib/uniconv/u16-conv-from-enc.c: New file.
92393         * lib/uniconv/u-conv-from-enc.h: New file.
92394         * modules/uniconv/u16-conv-from-enc-tests: New file.
92395         * tests/uniconv/test-u16-conv-from-enc.c: New file.
92397         * modules/uniconv/u8-conv-from-enc: New file.
92398         * lib/uniconv/u8-conv-from-enc.c: New file.
92399         * modules/uniconv/u8-conv-from-enc-tests: New file.
92400         * tests/uniconv/test-u8-conv-from-enc.c: New file.
92402         * modules/uniconv/base: New file.
92403         * lib/uniconv.h: New file.
92405 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
92407         * doc/gnulib-tool.texi (Initial import): Update to match current
92408         behavior with strdup module.
92409         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
92410         * lib/memmem.h: Remove; all uses removed.  This is now done
92411         by <string.h>.
92412         * lib/mempcpy.h: Likewise.
92413         * lib/memrchr.h: Likewise.
92414         * lib/stpcpy.h: Likewise.
92415         * lib/stpncpy.h: Likewise.
92416         * lib/strcase.h: Likewise.
92417         * lib/strchrnul.h: Likewise.
92418         * lib/strdup.h: Likewise.
92419         * lib/strndup.h: Likewise.
92420         * lib/strnlen.h: Likewise.
92421         * lib/strpbrk.h: Likewise.
92422         * lib/strsep.h: Likewise.
92423         * lib/strstr.h: Likewise.
92424         * lib/strtok_r.h: Likewise.
92425         * lib/string_.h: New file.
92426         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
92427         Rely on <string.h> instead.
92428         * lib/canon-host.c: Likewise.
92429         * lib/chdir-long.c: Likewise.
92430         * lib/concatpath.c: Likewise.
92431         * lib/exclude.c: Likewise.
92432         * lib/fchdir.c: Likewise.
92433         * lib/getaddrinfo.c: Likewise.
92434         * lib/getcwd.c: Likewise.
92435         * lib/getsubopt.c: Likewise.
92436         * lib/glob.c: Likewise.
92437         * lib/hard-locale.c: Likewise.
92438         * lib/iconvme.c: Likewise.
92439         * lib/javacomp.c: Likewise.
92440         * lib/mempcpy.c: Likewise.
92441         * lib/memrchr.c: Likewise.
92442         * lib/regex_internal.h: Likewise.
92443         * lib/stpncpy.c: Likewise.
92444         * lib/strcasecmp.c: Likewise.
92445         * lib/strchrnul.c: Likewise.
92446         * lib/strdup.c: Likewise.
92447         * lib/striconv.c: Likewise.
92448         * lib/striconveh.c: Likewise.
92449         * lib/striconveha.c: Likewise.
92450         * lib/strncasecmp.c: Likewise.
92451         * lib/strndup.c: Likewise.
92452         * lib/strnlen.c: Likewise.
92453         * lib/strsep.c: Likewise.
92454         * lib/strstr.c: Likewise.
92455         * lib/strtok_r.c: Likewise.
92456         * lib/userspec.c: Likewise.
92457         * lib/w32spawn.h: Likewise.
92458         * lib/xstrndup.c: Likewise.
92459         * lib/mountlist.c (strstr): Remove decl.
92460         * m4/string_h.m4: New file.
92461         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
92462         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
92463         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
92464         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
92465         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
92466         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
92467         Set REPLACE_STRCASECMP if necessary.
92468         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
92469         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
92470         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
92471         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
92472         HAVE_DECL_STRDUP if necessary.
92473         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
92474         since gl_FUNC_STRNDUP does that now.
92475         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
92476         Check for decl here...
92477         (gl_PREREQ_STRNLEN): ... not here.
92478         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
92479         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
92480         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
92481         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
92482         necessary.
92483         * modules/string: New file.
92484         * modules/memmem (Files): Remove special-purpose include file.
92485         (Depends-on): Add string.
92486         (Include): Include <string.h>, not the removed file.
92487         * modules/mempcpy: Likewise.
92488         * modules/memrchr: Likewise.
92489         * modules/stpcpy: Likewise.
92490         * modules/stpncpy: Likewise.
92491         * modules/strcase: Likewise.
92492         * modules/strchrnul: Likewise.
92493         * modules/strdup: Likewise.
92494         * modules/strndup: Likewise.
92495         * modules/strnlen: Likewise.
92496         * modules/strpbrk: Likewise.
92497         * modules/strsep: Likewise.
92498         * modules/strstr: Likewise.
92499         * modules/strtok_r: Likewise.
92500         * tests/test-dirname.c: Don't include "strdup.h", since
92501         <string.h> now suffices.
92502         * tests/test-memmem.c: Don't include "memmem.h", since
92503         <string.h> now suffices.
92505 2007-01-25  Bruno Haible  <bruno@clisp.org>
92507         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
92508         *resultp is 0.
92510         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
92511         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
92512         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
92513         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
92515         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
92516         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
92517         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
92518         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
92519         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
92520         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
92522 2007-01-24  Bruno Haible  <bruno@clisp.org>
92524         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
92525         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
92526         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
92527         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
92528         gl_FUNC_FTS_CORE.
92529         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
92530         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
92531         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92532         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
92533         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
92534         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
92535         gl_FUNC_FCHOWNAT.
92536         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
92537         gl_FUNC_STRFTIME.
92538         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
92539         Reported by Ralf Wildenhues.
92541 2007-01-24  Bruno Haible  <bruno@clisp.org>
92543         Drop AC_REQUIRE calls that are redundant with the module dependencies.
92544         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
92545         gl_GETADDRINFO.
92546         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
92547         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
92548         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
92550 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
92552         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
92553         Don't use 'exit'; just return from 'main'.
92554         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
92556         * lib/fnmatch_.h: Readjust white space and comments to match
92557         glibc, to avoid spurious diffs.
92559 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92561         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
92562         2004-12-01 change by Jakub Jelinek, since this code won't compile
92563         if !LIBC.  Problem reported by Bob Proulx.
92565 2007-01-23  Bruno Haible  <bruno@clisp.org>
92567         * lib/striconveh.c: Include c-strcaseeq.h.
92568         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
92569         * modules/striconveh (Depends-on): Add c-strcaseeq.
92571 2007-01-23  Bruno Haible  <bruno@clisp.org>
92573         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
92575         * modules/c-strcaseeq: New file.
92576         * lib/c-strcaseeq.h: New file.
92578         * modules/streq: New file.
92579         * lib/streq.h: New file.
92581 2007-01-23  Bruno Haible  <bruno@clisp.org>
92583         * modules/striconveha-tests: New file.
92584         * tests/test-striconveha.c: New file.
92586         * lib/striconveha.h: Include <stdbool.h>.
92587         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
92588         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
92589         (mem_iconveha_notranslit): Renamed from mem_iconveha.
92590         (mem_iconveha): New function.
92591         (str_iconveha_notranslit): Renamed from str_iconveha.
92592         (str_iconveha): New function.
92593         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
92594         c-strcase.
92596 2007-01-23  Bruno Haible  <bruno@clisp.org>
92598         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
92599         encodings without forgiving before trying any encoding with handler.
92600         (str_iconveha): Try all encodings without forgiving before trying any
92601         encoding with handler.
92603 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
92605         Import the following changes from libc.
92607         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
92609         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
92611         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
92613         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
92614         normal_bracket label.
92616         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
92618         [BZ #361]
92619         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
92620         to normal_bracket after fetching the next character.
92622 2007-01-22  Bruno Haible  <bruno@clisp.org>
92624         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
92625         argument.
92626         * lib/striconveh.c (iconv_carefully_1): New function.
92627         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
92628         argument.
92629         (str_cd_iconveh): Update.
92630         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
92631         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
92632         * tests/test-striconveh.c (MAGIC): New macro.
92633         (new_offsets): New function.
92634         (main): Test call with and without offsets.
92636 2007-01-22  Bruno Haible  <bruno@clisp.org>
92638         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
92639         * modules/sys_select (Makefile.am): Likewise.
92640         * modules/sys_socket (Makefile.am): Likewise.
92641         * modules/sys_time (Makefile.am): Likewise.
92643 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
92645         * modules/gettimeofday (License): Change from GPL to LGPL, since
92646         gettimeofday is a library function.
92648 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92650         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
92652 2007-01-21  Bruno Haible  <bruno@clisp.org>
92654         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
92656 2007-01-21  Bruno Haible  <bruno@clisp.org>
92658         * modules/striconveha: New file.
92659         * lib/striconveha.h: New file.
92660         * lib/striconveha.c: New file.
92661         * MODULES.html.sh (Internationalization functions): Add striconveha.
92662         * lib/striconv.c (str_iconv): Optimize the case of an empty input
92663         string.
92664         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
92666 2007-01-21  Bruno Haible  <bruno@clisp.org>
92668         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
92669         * lib/striconveh.c (str_iconveh): Likewise.
92671 2007-01-21  Bruno Haible  <bruno@clisp.org>
92673         * lib/striconveh.h (mem_iconveh): New declaration.
92674         * lib/striconveh.c (mem_iconveh): New function.
92675         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
92677 2007-01-21  Bruno Haible  <bruno@clisp.org>
92679         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
92681         * lib/striconveh.h (mem_cd_iconveh): Change specification.
92682         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
92683         original result buffer.
92684         (str_cd_iconveh): Update.
92685         * tests/test-striconveh.c (main): Update.
92687         * lib/striconv.h (mem_cd_iconv): Change specification.
92688         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
92689         result buffer.
92690         (str_cd_iconv): Update.
92691         * tests/test-striconv.c (main): Update.
92693 2007-01-21  Bruno Haible  <bruno@clisp.org>
92695         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
92697 2007-01-20  Jim Meyering  <jim@meyering.net>
92699         * lib/userspec.c (parse_with_separator): If a user or group string
92700         starts with "+", skip the corresponding name-to-ID look-up, since
92701         such a look-up must fail: user and group names may not include "+".
92703 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
92705         * lib/poll.c: Include sys/time.h and time.h unconditionally,
92706         since we now assume the sys_time module.
92707         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
92708         check for sys/time.h; no longer needed.
92709         * modules/poll (Depends-on): Depend on sys_time.
92711 2007-01-18  Bruno Haible  <bruno@clisp.org>
92713         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
92714         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92716         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
92717         gettimeofday.
92719         * tests/test-gettimeofday.c: Include <time.h>.
92720         (dummy): Remove variable.
92722         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
92723         gl_HEADER_SYS_TIME_H.
92724         (gl_HEADER_SYS_TIME_H): New macro.
92726         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
92727         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92728         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
92729         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
92730         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92731         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
92732         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
92733         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92734         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
92735         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
92736         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92738         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
92739         last change; it caused a compilation error when cross-compiling to
92740         Cygwin.
92742 2007-01-18  Jim Meyering  <jim@meyering.net>
92744         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
92745         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
92746         than the race-prone "test -d sys || mkdir sys".
92747         (configure.ac): Use AC_PROG_MKDIR_P.
92748         * modules/sys_select: Likewise.
92749         * modules/sys_socket: Likewise.
92750         * modules/sys_time: Likewise.
92752 2007-01-18  Eric Blake  <ebb9@byu.net>
92754         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
92755         replace gettimeofday.
92756         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
92757         name, to avoid infinite recursion.
92759 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
92761         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
92762         module sys_time.
92763         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
92764         assume timespec.h defines struct timeval.
92765         * lib/settime.c: Likewise.
92766         * lib/utimens.c: Likewise.
92767         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
92768         since we now assume the gettimeofday module.
92769         * lib/tempname.c (__gen_tempname): Likewise.
92770         * lib/gettimeofday.h: Remove.
92771         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
92772         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
92773         Include <time.h>, for 'time()'.
92774         (localtime_buffer_addr): Also use this workaround if
92775         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
92776         to simplify the uses.  All uses changed.
92777         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
92778         that #undef is inside {}, and 'const' follows type name consistently.
92779         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
92780         (gettimeofday): Do not use the maximum possible value for
92781         tv->tv_usec, since that might break usages other than ls.c.
92782         Instead, we'll leave ls.c alone.  This undoes today's patch
92783         by Bruno.  Add a compile-time warning for 1s-clock resolution;
92784         we've never observed the problem but might as well keep the
92785         canary.
92786         * lib/nanosleep.c: Include timespec.h first, for interface check.
92787         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
92788         now assume the sys_time module.
92789         * lib/tempname.c: Likewise.
92790         * lib/timespec.h: Likewise.
92791         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
92792         needed.
92793         * lib/strftime.c: Likewise.
92794         * lib/timespec.h: Likewise.
92795         * lib/posixtm.c: Include posixtm.h first, for interface check.
92796         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
92797         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
92798         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
92799         * lib/sys_time_.h: New file.
92800         * lib/timespec.h (struct timespec): Use long int, not long.
92801         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
92802         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
92803         Remove obsolescent call to AC_HEADER_TIME.
92804         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
92805         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
92806         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
92807         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
92808         Likewise.
92809         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
92810         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
92811         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
92812         into the sys_time module.  Check for gettimeofday just once.
92813         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
92814         for gettimeofday signature to just check the signature.  Merely
92815         compile it, since linking doesn't test signature.  Improve test for
92816         whether gettimeofday.o is actually needed.
92817         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
92818         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
92819         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
92820         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92821         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
92822         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
92823         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
92824         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
92825         than worrying about sys/time.h.
92826         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92827         Don't bother worrying about TIME_WITH_SYS_TIME.
92828         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
92829         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
92830         * m4/sys_time_h.m4: New file.
92831         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
92832         Don't include sys/time.h.  Return from main rather than exiting.
92833         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
92834         all uses changed.
92835         * modules/gethrxtime (Depends-on): Add sys_time.
92836         * modules/gettime (Depends-on): Likewise.
92837         * modules/gettimeofday (Depends-on): Likewise.
92838         * modules/nanosleep (Depends-on): Likewise.
92839         * modules/settime (Depends-on): Likewise.
92840         * modules/tempname (Depends-on): Likewise.
92841         * modules/utimens (Depends-on): Likewise.
92842         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
92843         (Include): Change back to <sys/time.h>.
92844         (Maintainer): Add self.
92845         * modules/sys_time: New file.
92846         * modules/tempname (Depends-on): Add gettimeofday.
92847         * tests/test-gettimeofday.c: Include <sys/time.h>
92848         rather than gettimeofday.h.
92850 2007-01-17  Bruno Haible  <bruno@clisp.org>
92852         * gnulib-tool (func_get_license): Revert last patch. Instead, let
92853         the license default to GPL.
92854         (func_create_testdir): Don't complain if a module is LGPL and its
92855         tests module depends on GPLed modules.
92857 2007-01-17  Bruno Haible  <bruno@clisp.org>
92859         * lib/gettimeofday.c (gettimeofday): Add code for the case
92860         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
92861         maximum possible value for tv->tv_usec, rather than the minimum one.
92863 2005-10-08  Martin Lambers  <marlam@marlam.de>
92864 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
92865 2007-01-16  Bruno Haible  <bruno@clisp.org>
92867         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
92868         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
92869         gl_FUNC_GETTIMEOFDAY.
92870         (Include): Add gettimeofday.h.
92871         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
92872         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
92873         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
92874         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
92875         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
92876         * lib/gettimeofday.h: New file.
92877         * lib/gettimeofday.c: Include <sys/timeb.h>.
92878         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
92879         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
92880         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
92881         fall back on time().
92883         * tests/test-gettimeofday.c: New file.
92884         * modules/gettimeofday-tests: New file.
92886 2007-01-16  Eric Blake  <ebb9@byu.net>
92888         * modules/fnmatch (Depends-on): Depend on wchar.
92889         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
92890         * m4/fnmatch.m4: Likewise.
92891         * modules/mbchar (Makefile.am): Assume <wchar.h>.
92892         * m4/mbchar.m4: Likewise.
92893         * modules/mbswidth (Depends-on): Depend on wchar.
92894         * lib/mbswidth.c: Assume <wchar.h>.
92895         * m4/mbswidth.m4: Likewise.
92896         * modules/quotearg (Depends-on): Depend on wchar.
92897         * lib/quotearg.c: Assume <wchar.h>.
92898         * m4/quotearg.m4: Likewise.
92899         * modules/regex (Depends-on): Depend on wchar.
92900         * lib/regex_internal.h: Assume <wchar.h>.
92901         * m4/regex.m4: Likewise.
92902         * modules/stdint (Depends-on): Depend on wchar.
92903         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
92904         * m4/stdint.m4: Likewise.
92905         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
92906         * modules/strftime (Depends-on): Depend on wchar.
92907         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
92908         * modules/strtol (Depends-on): Depend on wchar.
92909         * lib/strtol.c: Assume <wchar.h>.
92910         * modules/wcwidth (Depends-on): Depend on wchar.
92911         * lib/wcwidth.h: Assume <wchar.h>.
92912         * m4/wcwidth.m4: Likewise.
92914 2007-01-16  Bruno Haible  <bruno@clisp.org>
92916         * modules/csharpexec-script: New, created from...
92917         * modules/csharpexec: ... this.
92919 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
92921         * modules/javaexec-script: New, created from...
92922         * modules/javaexec: ... this.
92924 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92926         * modules/poll (Dependencies): Add sys_select.
92928 2007-01-15  Jim Meyering  <jim@meyering.net>
92930         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
92931         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
92932         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
92933         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
92935 2007-01-15  Bruno Haible  <bruno@clisp.org>
92937         * modules/striconveh: New file.
92938         * lib/striconveh.h: New file.
92939         * lib/striconveh.c: New file.
92940         * MODULES.html.sh (Internationalization functions): Add striconveh.
92942         * modules/striconveh-tests: New file.
92943         * tests/test-striconveh.c: New file.
92945 2007-01-15  Bruno Haible  <bruno@clisp.org>
92947         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
92948         not from GNU libiconv or GNU libc.
92950 2007-01-15  Bruno Haible  <bruno@clisp.org>
92952         * doc/gnulib-intro.texi (Copyright): Explain the different license
92953         terms for module descriptions, autoconf macros, tests, documentation.
92955 2007-01-14  Bruno Haible  <bruno@clisp.org>
92957         * modules/striconv-tests: New file.
92958         * tests/test-striconv.c: New file.
92960 2007-01-14  Bruno Haible  <bruno@clisp.org>
92962         * modules/iconv-tests: New file.
92963         * tests/test-iconv.c: New file.
92965 2007-01-14  Bruno Haible  <bruno@clisp.org>
92967         * gnulib-tool (func_get_license): For test modules, use the license of
92968         the main module.
92970 2007-01-14  Bruno Haible  <bruno@clisp.org>
92972         * modules/iconv (Include): Clarify that <iconv.h> can only be included
92973         if iconv is found to exist.
92975 2007-01-14  Bruno Haible  <bruno@clisp.org>
92977         * modules/c-ctype-tests: New file.
92978         * tests/test-c-ctype.c: New file.
92980 2007-01-14  Bruno Haible  <bruno@clisp.org>
92982         * modules/binary-io-tests: New file.
92983         * tests/test-binary-io.sh: New file.
92984         * tests/test-binary-io.c: New file.
92986 2007-01-14  Bruno Haible  <bruno@clisp.org>
92988         * modules/array-oset-tests: New file.
92989         * tests/test-array_oset.c: New file.
92991 2007-01-14  Bruno Haible  <bruno@clisp.org>
92993         * modules/array-list-tests: New file.
92994         * tests/test-array_list.c: New file.
92996 2007-01-14  Bruno Haible  <bruno@clisp.org>
92998         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
92999         and make.
93000         Reported by Simon Josefsson in
93001         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
93003 2007-01-14  Bruno Haible  <bruno@clisp.org>
93005         * modules/allocsa-tests: New file.
93006         * tests/test-allocsa.c: New file.
93008 2007-01-14  Bruno Haible  <bruno@clisp.org>
93010         * modules/fchdir (Depends-on): Add absolute-header.
93011         * modules/unistd (Depends-on): Likewise.
93013 2006-12-30  Bruno Haible  <bruno@clisp.org>
93015         * modules/fchdir: New file.
93016         * modules/unistd (Files): Add lib/unistd_.h.
93017         (Makefile.am): Generate unistd.h from unistd_.h.
93018         * lib/fchdir.c: New file.
93019         * lib/dirent_.h: New file.
93020         * lib/unistd_.h: New file.
93021         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
93022         * m4/fchdir.m4: New file.
93023         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
93024         (gl_HEADER_UNISTD): Invoke it.
93025         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
93026         function.
93027         * lib/backupfile.c (opendir, closedir): Undefine.
93028         * lib/chown.c (open, close): Undefine.
93029         * lib/clean-temp.c (open, close): Undefine.
93030         * lib/copy-file.c (open, close): Undefine.
93031         * lib/execute.c (open, close): Undefine.
93032         * lib/fsusage.c (open, close): Undefine.
93033         * lib/gc-gnulib.c (open, close): Undefine.
93034         * lib/getcwd.c (opendir, closedir): Undefine.
93035         * lib/glob.c (opendir, closedir): Undefine.
93036         * lib/javacomp.c (open, close): Undefine.
93037         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
93038         * lib/openat-proc.c (open, close): Undefine.
93039         * lib/pagealign_alloc.c (open, close): Undefine.
93040         * lib/pipe.c (open, close): Undefine.
93041         * lib/progreloc.c (open, close): Undefine.
93042         * lib/savedir.c (opendir, closedir): Undefine.
93043         * lib/utime.c (open, close): Undefine.
93044         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
93046 2007-01-10  Bruno Haible  <bruno@clisp.org>
93048         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
93050 2007-01-12  Eric Blake  <ebb9@byu.net>
93052         Provide a robust <wchar.h>.  Further simplifications are now
93053         possible in other modules, but not included here.
93054         * modules/wchar: New module.
93055         * m4/wchar.m4: New file.
93056         * lib/wchar_.h: Likewise.
93057         * modules/mbchar (Depends-on): Depend on wchar, as the first use
93058         of the new module.
93059         * MODULES.html.sh (Extended multibyte and wide character utilities):
93060         New section.
93062 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
93064         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
93065         to a reasonable default for memory allocation.
93066         (xreadlink): Don't allocate a huge buffer, to work around a buggy
93067         file system that reports garbage st_size values for symlinks.
93068         Problem reported by Liyang Hu.
93070 2007-01-11  Simon Josefsson  <simon@josefsson.org>
93072         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
93073         Emacs .#* auto-save files).
93075 2007-01-11  Bruno Haible  <bruno@clisp.org>
93077         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
93078         directory.
93080 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
93082         Use @...@ consistently in lib/wctype_.h.
93083         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
93084         on it being set to 1 or 0.
93085         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
93086         go back to AC_SUBSTing it.
93087         * modules/wctype (Makefile.am): Undo previous change.
93089 2007-01-10  Eric Blake  <ebb9@byu.net>
93091         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
93092         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
93093         * modules/wctype (Makefile.am): Likewise.
93094         Reported by Chris McGuire.
93096 2007-01-10  Jim Meyering  <jim@meyering.net>
93098         fts.c: a small readability/maintainability improvement
93099         * lib/fts.c (fts_read): Make this code slightly more readable and
93100         maintainable by hoisting the "sp->fts_cur = p" assignments to
93101         immediately follow the statements that set P.  Derived from
93102         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
93104 2007-01-10  Eric Blake  <ebb9@byu.net>
93106         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
93107         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
93108         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93109         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
93110         Reported by Chris McGuire.
93112 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93114         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
93115         in sed script.
93117 2007-01-09  Bruno Haible  <bruno@clisp.org>
93119         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
93120         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
93121         variables.
93122         (func_module): Use them.
93124 2007-01-09  Bruno Haible  <bruno@clisp.org>
93126         * modules/unistr/base: New file.
93127         * lib/unistr.h: New file.
93129         * modules/unistr/u8-to-u16: New file.
93130         * lib/unistr/u8-to-u16.c: New file.
93132         * modules/unistr/u8-to-u32: New file.
93133         * lib/unistr/u8-to-u32.c: New file.
93135         * modules/unistr/u16-to-u8: New file.
93136         * lib/unistr/u16-to-u8.c: New file.
93138         * modules/unistr/u16-to-u32: New file.
93139         * lib/unistr/u16-to-u32.c: New file.
93141         * modules/unistr/u32-to-u8: New file.
93142         * lib/unistr/u32-to-u8.c: New file.
93144         * modules/unistr/u32-to-u16: New file.
93145         * lib/unistr/u32-to-u16.c: New file.
93147         * modules/unistr/u8-check: New file.
93148         * modules/unistr/u16-check: New file.
93149         * modules/unistr/u32-check: New file.
93150         * lib/unistr/u8-check.c: New file.
93151         * lib/unistr/u16-check.c: New file.
93152         * lib/unistr/u32-check.c: New file.
93154         * modules/unistr/u8-chr: New file.
93155         * modules/unistr/u16-chr: New file.
93156         * modules/unistr/u32-chr: New file.
93157         * lib/unistr/u8-chr.c: New file.
93158         * lib/unistr/u16-chr.c: New file.
93159         * lib/unistr/u32-chr.c: New file.
93161         * modules/unistr/u8-cmp: New file.
93162         * modules/unistr/u16-cmp: New file.
93163         * modules/unistr/u32-cmp: New file.
93164         * lib/unistr/u8-cmp.c: New file.
93165         * lib/unistr/u16-cmp.c: New file.
93166         * lib/unistr/u32-cmp.c: New file.
93168         * modules/unistr/u8-cpy: New file.
93169         * modules/unistr/u16-cpy: New file.
93170         * modules/unistr/u32-cpy: New file.
93171         * lib/unistr/u8-cpy.c: New file.
93172         * lib/unistr/u16-cpy.c: New file.
93173         * lib/unistr/u32-cpy.c: New file.
93174         * lib/unistr/u-cpy.h: New file.
93176         * modules/unistr/u8-cpy-alloc: New file.
93177         * modules/unistr/u16-cpy-alloc: New file.
93178         * modules/unistr/u32-cpy-alloc: New file.
93179         * lib/unistr/u8-cpy-alloc.c: New file.
93180         * lib/unistr/u16-cpy-alloc.c: New file.
93181         * lib/unistr/u32-cpy-alloc.c: New file.
93182         * lib/unistr/u-cpy-alloc.h: New file.
93184         * modules/unistr/u8-endswith: New file.
93185         * modules/unistr/u16-endswith: New file.
93186         * modules/unistr/u32-endswith: New file.
93187         * lib/unistr/u8-endswith.c: New file.
93188         * lib/unistr/u16-endswith.c: New file.
93189         * lib/unistr/u32-endswith.c: New file.
93190         * lib/unistr/u-endswith.h: New file.
93192         * modules/unistr/u8-mblen: New file.
93193         * modules/unistr/u16-mblen: New file.
93194         * modules/unistr/u32-mblen: New file.
93195         * lib/unistr/u8-mblen.c: New file.
93196         * lib/unistr/u16-mblen.c: New file.
93197         * lib/unistr/u32-mblen.c: New file.
93199         * modules/unistr/u8-mbtouc: New file.
93200         * modules/unistr/u16-mbtouc: New file.
93201         * modules/unistr/u32-mbtouc: New file.
93202         * lib/unistr/u8-mbtouc.c: New file.
93203         * lib/unistr/u16-mbtouc.c: New file.
93204         * lib/unistr/u32-mbtouc.c: New file.
93206         * modules/unistr/u8-mbtouc-safe: New file.
93207         * modules/unistr/u16-mbtouc-safe: New file.
93208         * modules/unistr/u32-mbtouc-safe: New file.
93209         * lib/unistr/u8-mbtouc-safe.c: New file.
93210         * lib/unistr/u16-mbtouc-safe.c: New file.
93211         * lib/unistr/u32-mbtouc-safe.c: New file.
93213         * modules/unistr/u8-move: New file.
93214         * modules/unistr/u16-move: New file.
93215         * modules/unistr/u32-move: New file.
93216         * lib/unistr/u8-move.c: New file.
93217         * lib/unistr/u16-move.c: New file.
93218         * lib/unistr/u32-move.c: New file.
93219         * lib/unistr/u-move.h: New file.
93221         * modules/unistr/u8-next: New file.
93222         * modules/unistr/u16-next: New file.
93223         * modules/unistr/u32-next: New file.
93224         * lib/unistr/u8-next.c: New file.
93225         * lib/unistr/u16-next.c: New file.
93226         * lib/unistr/u32-next.c: New file.
93228         * modules/unistr/u8-prev: New file.
93229         * modules/unistr/u16-prev: New file.
93230         * modules/unistr/u32-prev: New file.
93231         * lib/unistr/u8-prev.c: New file.
93232         * lib/unistr/u16-prev.c: New file.
93233         * lib/unistr/u32-prev.c: New file.
93235         * modules/unistr/u8-set: New file.
93236         * modules/unistr/u16-set: New file.
93237         * modules/unistr/u32-set: New file.
93238         * lib/unistr/u8-set.c: New file.
93239         * lib/unistr/u16-set.c: New file.
93240         * lib/unistr/u32-set.c: New file.
93241         * lib/unistr/u-set.h: New file.
93243         * modules/unistr/u8-startswith: New file.
93244         * modules/unistr/u16-startswith: New file.
93245         * modules/unistr/u32-startswith: New file.
93246         * lib/unistr/u8-startswith.c: New file.
93247         * lib/unistr/u16-startswith.c: New file.
93248         * lib/unistr/u32-startswith.c: New file.
93249         * lib/unistr/u-startswith.h: New file.
93251         * modules/unistr/u8-stpcpy: New file.
93252         * modules/unistr/u16-stpcpy: New file.
93253         * modules/unistr/u32-stpcpy: New file.
93254         * lib/unistr/u8-stpcpy.c: New file.
93255         * lib/unistr/u16-stpcpy.c: New file.
93256         * lib/unistr/u32-stpcpy.c: New file.
93257         * lib/unistr/u-stpcpy.h: New file.
93259         * modules/unistr/u8-stpncpy: New file.
93260         * modules/unistr/u16-stpncpy: New file.
93261         * modules/unistr/u32-stpncpy: New file.
93262         * lib/unistr/u8-stpncpy.c: New file.
93263         * lib/unistr/u16-stpncpy.c: New file.
93264         * lib/unistr/u32-stpncpy.c: New file.
93265         * lib/unistr/u-stpncpy.h: New file.
93267         * modules/unistr/u8-strcat: New file.
93268         * modules/unistr/u16-strcat: New file.
93269         * modules/unistr/u32-strcat: New file.
93270         * lib/unistr/u8-strcat.c: New file.
93271         * lib/unistr/u16-strcat.c: New file.
93272         * lib/unistr/u32-strcat.c: New file.
93273         * lib/unistr/u-strcat.h: New file.
93275         * modules/unistr/u8-strchr: New file.
93276         * modules/unistr/u16-strchr: New file.
93277         * modules/unistr/u32-strchr: New file.
93278         * lib/unistr/u8-strchr.c: New file.
93279         * lib/unistr/u16-strchr.c: New file.
93280         * lib/unistr/u32-strchr.c: New file.
93282         * modules/unistr/u8-strcmp: New file.
93283         * modules/unistr/u16-strcmp: New file.
93284         * modules/unistr/u32-strcmp: New file.
93285         * lib/unistr/u8-strcmp.c: New file.
93286         * lib/unistr/u16-strcmp.c: New file.
93287         * lib/unistr/u32-strcmp.c: New file.
93289         * modules/unistr/u8-strcpy: New file.
93290         * modules/unistr/u16-strcpy: New file.
93291         * modules/unistr/u32-strcpy: New file.
93292         * lib/unistr/u8-strcpy.c: New file.
93293         * lib/unistr/u16-strcpy.c: New file.
93294         * lib/unistr/u32-strcpy.c: New file.
93295         * lib/unistr/u-strcpy.h: New file.
93297         * modules/unistr/u8-strcspn: New file.
93298         * modules/unistr/u16-strcspn: New file.
93299         * modules/unistr/u32-strcspn: New file.
93300         * lib/unistr/u8-strcspn.c: New file.
93301         * lib/unistr/u16-strcspn.c: New file.
93302         * lib/unistr/u32-strcspn.c: New file.
93303         * lib/unistr/u-strcspn.h: New file.
93305         * modules/unistr/u8-strdup: New file.
93306         * modules/unistr/u16-strdup: New file.
93307         * modules/unistr/u32-strdup: New file.
93308         * lib/unistr/u8-strdup.c: New file.
93309         * lib/unistr/u16-strdup.c: New file.
93310         * lib/unistr/u32-strdup.c: New file.
93311         * lib/unistr/u-strdup.h: New file.
93313         * modules/unistr/u8-strlen: New file.
93314         * modules/unistr/u16-strlen: New file.
93315         * modules/unistr/u32-strlen: New file.
93316         * lib/unistr/u8-strlen.c: New file.
93317         * lib/unistr/u16-strlen.c: New file.
93318         * lib/unistr/u32-strlen.c: New file.
93319         * lib/unistr/u-strlen.h: New file.
93321         * modules/unistr/u8-strmblen: New file.
93322         * modules/unistr/u16-strmblen: New file.
93323         * modules/unistr/u32-strmblen: New file.
93324         * lib/unistr/u8-strmblen.c: New file.
93325         * lib/unistr/u16-strmblen.c: New file.
93326         * lib/unistr/u32-strmblen.c: New file.
93328         * modules/unistr/u8-strmbtouc: New file.
93329         * modules/unistr/u16-strmbtouc: New file.
93330         * modules/unistr/u32-strmbtouc: New file.
93331         * lib/unistr/u8-strmbtouc.c: New file.
93332         * lib/unistr/u16-strmbtouc.c: New file.
93333         * lib/unistr/u32-strmbtouc.c: New file.
93335         * modules/unistr/u8-strncat: New file.
93336         * modules/unistr/u16-strncat: New file.
93337         * modules/unistr/u32-strncat: New file.
93338         * lib/unistr/u8-strncat.c: New file.
93339         * lib/unistr/u16-strncat.c: New file.
93340         * lib/unistr/u32-strncat.c: New file.
93341         * lib/unistr/u-strncat.h: New file.
93343         * modules/unistr/u8-strncmp: New file.
93344         * modules/unistr/u16-strncmp: New file.
93345         * modules/unistr/u32-strncmp: New file.
93346         * lib/unistr/u8-strncmp.c: New file.
93347         * lib/unistr/u16-strncmp.c: New file.
93348         * lib/unistr/u32-strncmp.c: New file.
93350         * modules/unistr/u8-strncpy: New file.
93351         * modules/unistr/u16-strncpy: New file.
93352         * modules/unistr/u32-strncpy: New file.
93353         * lib/unistr/u8-strncpy.c: New file.
93354         * lib/unistr/u16-strncpy.c: New file.
93355         * lib/unistr/u32-strncpy.c: New file.
93356         * lib/unistr/u-strncpy.h: New file.
93358         * modules/unistr/u8-strnlen: New file.
93359         * modules/unistr/u16-strnlen: New file.
93360         * modules/unistr/u32-strnlen: New file.
93361         * lib/unistr/u8-strnlen.c: New file.
93362         * lib/unistr/u16-strnlen.c: New file.
93363         * lib/unistr/u32-strnlen.c: New file.
93364         * lib/unistr/u-strnlen.h: New file.
93366         * modules/unistr/u8-strpbrk: New file.
93367         * modules/unistr/u16-strpbrk: New file.
93368         * modules/unistr/u32-strpbrk: New file.
93369         * lib/unistr/u8-strpbrk.c: New file.
93370         * lib/unistr/u16-strpbrk.c: New file.
93371         * lib/unistr/u32-strpbrk.c: New file.
93372         * lib/unistr/u-strpbrk.h: New file.
93374         * modules/unistr/u8-strrchr: New file.
93375         * modules/unistr/u16-strrchr: New file.
93376         * modules/unistr/u32-strrchr: New file.
93377         * lib/unistr/u8-strrchr.c: New file.
93378         * lib/unistr/u16-strrchr.c: New file.
93379         * lib/unistr/u32-strrchr.c: New file.
93381         * modules/unistr/u8-strspn: New file.
93382         * modules/unistr/u16-strspn: New file.
93383         * modules/unistr/u32-strspn: New file.
93384         * lib/unistr/u8-strspn.c: New file.
93385         * lib/unistr/u16-strspn.c: New file.
93386         * lib/unistr/u32-strspn.c: New file.
93387         * lib/unistr/u-strspn.h: New file.
93389         * modules/unistr/u8-strstr: New file.
93390         * modules/unistr/u16-strstr: New file.
93391         * modules/unistr/u32-strstr: New file.
93392         * lib/unistr/u8-strstr.c: New file.
93393         * lib/unistr/u16-strstr.c: New file.
93394         * lib/unistr/u32-strstr.c: New file.
93395         * lib/unistr/u-strstr.h: New file.
93397         * modules/unistr/u8-strtok: New file.
93398         * modules/unistr/u16-strtok: New file.
93399         * modules/unistr/u32-strtok: New file.
93400         * lib/unistr/u8-strtok.c: New file.
93401         * lib/unistr/u16-strtok.c: New file.
93402         * lib/unistr/u32-strtok.c: New file.
93403         * lib/unistr/u-strtok.h: New file.
93405         * modules/unistr/u8-uctomb: New file.
93406         * modules/unistr/u16-uctomb: New file.
93407         * modules/unistr/u32-uctomb: New file.
93408         * lib/unistr/u8-uctomb.c: New file.
93409         * lib/unistr/u16-uctomb.c: New file.
93410         * lib/unistr/u32-uctomb.c: New file.
93412         * MODULES.html.sh (Unicode string functions): Add the new modules.
93414 2007-01-08  Bruno Haible  <bruno@clisp.org>
93416         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
93417         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
93418         subdirectories.
93420 2007-01-08  Karl Berry  <karl@gnu.org>
93422         * doc/error.texi: mention that main() fns must set program_name
93423         when progname is used.
93425 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
93427         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
93428         WCTYPE_H is empty, for the benefit of builds from non-distclean
93429         directories.  Problem reported by Eric Blake in
93430         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
93432 2007-01-08  Bruno Haible  <bruno@clisp.org>
93434         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
93435         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
93436         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
93437         PROVIDE_CANONICALIZE_FILENAME_MODE.
93438         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
93440 2007-01-08  Bruno Haible  <bruno@clisp.org>
93442         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
93443         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
93444         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
93445         * lib/fts.c: Likewise.
93446         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
93448 2006-12-25  Bruno Haible  <bruno@clisp.org>
93450         * modules/utf8-ucs4-safe: New file.
93451         * lib/utf8-ucs4-safe.h: New file.
93452         * lib/unistr/utf8-ucs4-safe.c: New file.
93454         * modules/utf16-ucs4-safe: New file.
93455         * lib/utf16-ucs4-safe.h: New file.
93456         * lib/unistr/utf16-ucs4-safe.c: New file.
93458         * MODULES.html.sh (Unicode string functions): Add the new modules.
93460 2007-01-08  Bruno Haible  <bruno@clisp.org>
93462         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
93463         (Depends-on): Add unitypes.
93464         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93465         (u8_mbtouc_aux): Move out to separate file.
93466         (u8_mbtouc): Use ucs4_t, uint8_t types.
93467         * lib/unistr/utf8-ucs4.c: New file.
93469         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
93470         (Depends-on): Add unitypes.
93471         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
93472         (u16_mbtouc_aux): Move out to separate file.
93473         (u16_mbtouc): Use ucs4_t, uint16_t types.
93474         * lib/unistr/utf16-ucs4.c: New file.
93476         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
93477         (Depends-on): Add unitypes.
93478         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
93479         (u8_uctomb_aux): Move out to separate file.
93480         (u8_uctomb): Use ucs4_t, uint8_t types.
93481         * lib/unistr/ucs4-utf8.c: New file.
93483         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
93484         (Depends-on): Add unitypes.
93485         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
93486         (u16_uctomb_aux): Move out to separate file.
93487         (u16_uctomb): Use ucs4_t, uint16_t types.
93488         * lib/unistr/ucs4-utf16.c: New file.
93490 2006-12-25  Bruno Haible  <bruno@clisp.org>
93492         * modules/unitypes: New file.
93493         * lib/unitypes.h: New file.
93494         * MODULES.html.sh (func_all_modules): New section "Unicode string
93495         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
93496         this section. Add unitypes.
93498 2007-01-08  Bruno Haible  <bruno@clisp.org>
93500         Avoid variable names that conflict with those from libtool.
93501         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
93502         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
93503         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
93504         library_names_spec to acl_library_names_spec, hardcode_* to
93505         acl_hardcode_*.
93506         Reported by Ralf Wildenhues.
93508 2007-01-08  Bruno Haible  <bruno@clisp.org>
93510         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
93511         definition.
93512         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
93513         definition.
93514         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
93515         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
93516         definition.
93517         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
93518         definition.
93519         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
93520         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
93521         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
93522         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
93523         definition.
93524         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
93525         definition.
93526         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
93527         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
93528         GC_USE_<algorithm>.
93529         * lib/gc-libgcrypt.c: Likewise.
93530         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
93531         * modules/gc-arctwo (configure.ac): Likewise.
93532         * modules/gc-des (configure.ac): Likewise.
93533         * modules/gc-hmac-md5 (configure.ac): Likewise.
93534         * modules/gc-hmac-sha1 (configure.ac): Likewise.
93535         * modules/gc-md2 (configure.ac): Likewise.
93536         * modules/gc-md4 (configure.ac): Likewise.
93537         * modules/gc-md5 (configure.ac): Likewise.
93538         * modules/gc-random (configure.ac): Likewise.
93539         * modules/gc-rijndael (configure.ac): Likewise.
93540         * modules/gc-sha1 (configure.ac): Likewise.
93542 2007-01-08  Bruno Haible  <bruno@clisp.org>
93544         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
93545         macro definition.
93546         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
93547         definition.
93548         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
93549         definition.
93550         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
93551         * modules/fcntl-safer (configure.ac): Likewise.
93552         * modules/fopen-safer (configure.ac): Likewise.
93553         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
93554         GNULIB_FWRITEERROR macro definition.
93556 2007-01-08  Bruno Haible  <bruno@clisp.org>
93558         * m4/gnulib-common.m4: New file.
93559         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
93560         (func_get_filelist): Add m4/gnulib-common.m4.
93562 2007-01-08  Bruno Haible  <bruno@clisp.org>
93564         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
93565         command.
93567 2007-01-08  Jim Meyering  <jim@meyering.net>
93569         Use a more robust test for a "can't happen" condition.
93570         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
93571         narrowed the st_size value.  Presuming the "can't happen" condition
93572         is true, that narrowing could conceivably convert an invalid st_size
93573         value into a valid one.  Instead, use a change based on Matthew
93574         Woehlke's original patch.
93576         Slight readability improvement: use an assert-like macro
93577         in place of literal "abort ()" uses.
93578         * lib/fts.c (fts_assert): Define.
93579         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
93580         Use this macro instead of a bare 'abort'.
93582 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
93584         Don't worry about using IRIX 5.3's wctype.h broken definitions;
93585         simply work around them.
93586         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
93587         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
93588         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
93589         declaring.
93590         Don't bother to define as macros, since the standard doesn't require it.
93591         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
93592         longer worry about IRIX 5.3.
93593         (HAVE_WCTYPE_CTMP_BUG): Remove.
93595 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
93597         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
93598         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
93599         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
93600         Problems reported by Georg Schwarz for IRIX 5.3.
93602         * gnulib-tool (autoconf_minversion): Take the maximum version number
93603         found, not the minimum.  Problem reported by James Youngman.
93605 2007-01-03  Karl Berry  <karl@gnu.org>
93607         * doc/error.texi: new file, explaining interaction with progname.
93608         * doc/gnulib.texi: include it.  Update copyright.
93610 2007-01-03  Simon Josefsson  <simon@josefsson.org>
93612         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
93613         AC_CANONICAL_HOST, to improve autobuild outputs.
93615 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
93616             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
93618         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
93619         sockets, server sockets, and other file descriptors.  Count errors
93620         to compute the return value.  Reorder the code a bit to be easier
93621         to follow.  Don't set event bits that were not requested (except
93622         POLLERR and POLLHUP).
93624 2007-01-01  Bruno Haible  <bruno@clisp.org>
93626         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
93628 2007-01-03  Jim Meyering  <jim@meyering.net>
93630         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
93632 2007-01-02  Bruno Haible  <bruno@clisp.org>
93634         * modules/settime (Include): Require timespec.h.
93635         * modules/nanosleep (Include): Likewise.
93637 2007-01-01  Bruno Haible  <bruno@clisp.org>
93639         * gnulib-tool (func_emit_copyright_notice): Bump year.
93640         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
93642 2007-01-01  Bruno Haible  <bruno@clisp.org>
93644         Improve support for OpenBSD.
93645         * build-aux/config.rpath (libname_spec): Export.
93646         (library_names_spec): New variable. Export.
93647         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
93648         library_names_spec from the config.rpath output. Locate shared library
93649         through the name pattern in library_names_spec.
93651 2007-01-01  Eric Blake  <ebb9@byu.net>
93653         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
93655 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
93657         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
93658         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
93659         assume the C locale, and avoid an "eval" that could cause trouble.
93660         Problem with SORT reported by Bob Proulx.
93662         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
93663         Define.  Trivial patch from Henning Nielsen Lund, originally
93664         sent to bug-grep@gnu.org today.
93666 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
93668         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
93669         struct stat.  Problem reported by Henning Nielsen Lund.
93670         * lib/acl.c: Include acl.h first, to check interface.  Don't
93671         bother to include sys/types.h and sys/stat.h again.
93673 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
93675         Import the following change from libc; problem reported by
93676         Sven Verdoolaege.
93678         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
93680         [BZ #1373]
93681         * lib/argp.h: Remove __NTH for __argp_usage inline function.
93683 2006-12-28  Jim Meyering  <jim@meyering.net>
93685         * build-aux/announce-gen: Do not assume that the package
93686         builds any of tar.gz, tar.bz2, and .xdelta files.
93687         Suggestion from Simon Josefsson.
93689 2006-12-28  Simon Josefsson  <simon@josefsson.org>
93691         * modules/announce-gen: New file.
93693 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
93695         * lib/mbchar.h: Just include <wctype.h>; the wctype module
93696         handles its gotchas now.
93697         * lib/mbswidth.c: Likewise.
93698         * lib/wcwidth.h: Likewise.
93699         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
93700         and iswcntrl; the wctype module does this stuff now.
93701         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
93702         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
93703         * modules/mbchar (Depends-on): Add wctype.
93704         * modules/mbswidth (Depends-on): Likewise.
93705         * modules/wcwidth (Depends-on): Likewise.
93707 2006-12-27  Eric Blake  <ebb9@byu.net>
93709         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
93710         module uses more than what <wctype.h> is required to provide.
93712 2006-12-26  Eric Blake  <ebb9@byu.net>
93714         * gnulib-tool (sed_extract_prog): Avoid space-tab.
93716 2006-12-26  Eric Blake  <ebb9@byu.net>
93718         * modules/absolute-header: New module.
93719         * modules/fcntl (Depends-on): Depend on it.
93720         * modules/inttypes (Depends-on): Likewise.
93721         * modules/stdint (Depends-on): Likewise.
93722         * modules/sys_stat (Depends-on): Likewise.
93723         * modules/wctype (Depends-on): Likewise.
93724         * MODULES.html.sh (Support for building libraries and
93725         executables): Document it.
93727 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
93729         * gnulib-tool (SED): Remove, undoing previous change.
93730         The problem was that it broke coreutils on Solaris, because
93731         "sed --posix" leaked into a makefile.
93732         (sed): New alias, if 'alias' and GNU sed.
93734 2006-12-24  Jim Meyering  <jim@meyering.net>
93736         Work around an fchownat bug in glibc-2.4:
93737         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
93738         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
93739         in spite of the -P option.
93740         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
93741         New macros.
93742         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
93743         * modules/openat (Files): Add lib/fchownat.c.
93744         * lib/openat.c (fchownat): Don't define here.  Move to...
93745         * lib/fchownat.c: ...this new file.
93747 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
93749         Fix bug reported by Bruno Haible in
93750         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
93751         where quotearg.c didn't compile on Mac OS X 10.2 because it
93752         lacks <wchar.h> and wint_t.
93753         * lib/wctype_.h (__wctype_wint_t): New type.
93754         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
93755         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
93756         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
93757         Arg is now of type __wctype_wint_t, not wint_t.
93758         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
93759         substitute HAVE_WINT_T.
93760         * modules/wctype (Files): Add m4/wint_t.m4.
93761         (wctype.h): Substitute HAVE_WINT_T.
93763 2006-12-23  Bruno Haible  <bruno@clisp.org>
93765         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
93767 2006-12-23  Bruno Haible  <bruno@clisp.org>
93769         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
93770         S_ISLNK.
93771         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
93772         mingw.
93774 2006-12-22  Bruno Haible  <bruno@clisp.org>
93776         * lib/copy-file.c: Include acl.h.
93777         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
93778         Close the file descriptors only after being done with copy_acl.
93779         * modules/copy-file (Depends-on): Add acl.
93781 2006-12-22  Bruno Haible  <bruno@clisp.org>
93783         * gnulib-tool (SED): New variable.
93784         Use $SED instead of sed everywhere.
93786 2006-12-22  Bruno Haible  <bruno@clisp.org>
93788         * modules/no-c++: New file.
93789         * m4/no-c++.m4: New file.
93790         * MODULES.html.sh (Support for building libraries and executables):
93791         Add no-c++.
93793 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
93795         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
93796         Include <limits.h>, and use its INT_MAX to rewrite the
93797         j loop so that it does not overflow 'int'.  Problem reported by
93798         Ralf Wildenhues in
93799         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
93800         Play it safe by shifting left by 1 rather than multiplying by 2,
93801         as GCC is less likely to optimize this away when the value
93802         is signed (when it assumes overflow leads to undefined behavior).
93803         Also, don't assume time_t uses two's complement.
93805 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
93807         * MODULES.html.sh: New module wctype.
93808         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
93809         * lib/fnmatch.c: Don't bother to include <wchar.h> before
93810         <wctype.h>, since the new wctype module should fix this.
93811         * lib/quotearg.c: Include <wctype.h> unconditionally, since
93812         the wctype module should arrange for it.
93813         * lib/regex_internal.h: Likewise.
93814         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
93815         since the wctype module should handle this now.
93816         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
93817         * modules/fnmatch (Depends-on): Add wctype.
93818         * modules/quotearg (Depends-on): Likewise.
93819         * modules/regex (Depends-on): Likewise.
93821 2006-12-19  Bruno Haible  <bruno@clisp.org>
93823         * lib/strdup.h [C++]: Wrap definitions in extern "C".
93824         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
93826 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93828         * modules/savewd (Depends-on): Fix dependency on fcntl.
93830 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93832         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
93833         conforms to C99, rather than relying on the user's environment
93834         setting of STDINT_H.
93836 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
93837         and Eric Blake  <ebb9@byu.net>
93839         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
93840         This is more consistent with the other defines here.
93841         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
93842         Port to z/OS.  Problem reported by Paul Gilmartin.
93843         Change local vars to use gl_ prefix rather than ac_.
93844         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
93845         with other defines.
93846         * modules/double-slash-root: New module.
93847         * modules/dirname (Files): Remove m4/double-slash-root.m4.
93848         (Depends-on): Add double-slash-root.
93849         * MODULES.html.sh (File system functions): Mention new module.
93851 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
93853         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
93854         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
93855         This is for the benefit of gzip, which doesn't do i18n.
93857 2006-12-12  Jim Meyering  <jim@meyering.net>
93859         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
93860         Reported by Andreas Schwab <schwab@suse.de>.
93862 2006-12-12  Bruno Haible  <bruno@clisp.org>
93864         Merge these changes.
93865         2006-09-05  Bruno Haible  <bruno@clisp.org>
93866         * lib/iconvme.c (iconv_string): No need to save and restore errno when
93867         iconv_alloc succeeded.
93868         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
93869         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
93870         test for " && dest " at the end - dest is always != NULL there. Call
93871         iconv with 4xNULL arguments initially, to reset the state. Call iconv
93872         with 2xNULL arguments, also to flush the state storage. Handle the
93873         IRIX iconv behaviour. Realloc the final result, to throw away unused
93874         memory.
93876 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
93878         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
93879         and fchmodat unconditionally, since glibc 2.4 has them.
93880         Problem reported by Arkadiusz Miskiewicz.
93882 2006-12-10  Bruno Haible  <bruno@clisp.org>
93884         * gnulib-tool (func_import): Show the include files only for those
93885         modules that are copied and specified.
93886         Reported by Karl Berry.
93888 2006-12-08  Jim Meyering  <jim@meyering.net>
93890         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
93891         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
93893         * build-aux/announce-gen: Add two new options, both optional:
93894         --bootstrap-tools=TOOL_LIST
93895               a comma-separated list of tools, e.g.,
93896               autoconf,automake,bison,gnulib
93897         --gnulib-snapshot-date=DATE
93898               if gnulib is in the bootstrap tool list,
93899               then report this as the snapshot date.
93900               If not specified, use the current date/time.
93901               If you specify a date here, be sure it's UTC.
93903 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93905         * tests/test-argp-2.sh: Fix test to match actual output.
93906         (func_compare): Fix sed script to be portable.
93908 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
93910         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
93911         workaround for this case.  It is not autoconfigured now; offhand
93912         it's hard to see how to autoconfigure it.
93914 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
93916         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
93917         a directory that is about to be chowned.  Such a directory's
93918         initial file permissions should permit the owner only and this
93919         should not be changed until after the chown, since the group and
93920         other bits would be incorrect if they granted permission before
93921         the chown.
93923         Fix porting problem for iswctype reported by Georg Schwarz in:
93924         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
93925         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
93926         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
93927         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
93928         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
93930 2006-12-03  Jim Meyering  <jim@meyering.net>
93932         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
93933         p->fts_statp may not yet be defined.
93934         (fts_read): Instead, set it in the caller, once p->fts_statp is
93935         sure to be defined, and corresponds to a top-level directory.
93936         This bug made du -x fail.  Here's the coreutils test case:
93937         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
93938         Reported by Mike Frysinger.
93940 2006-12-01  Jim Meyering  <jim@meyering.net>
93942         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
93943         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
93944         Reported by Simon Josefsson.
93946 2006-11-30  Jim Meyering  <jim@meyering.net>
93948         * m4/warning.m4: Use the all-permissive copyright notice
93949         recommended by RMS (rather than LGPL).
93950         * m4/vararrays.m4: Likewise.
93951         * m4/flexmember.m4: Likewise.
93953 2006-11-29  Bruno Haible  <bruno@clisp.org>
93955         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
93956         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
93957         using +=.
93958         Reported by Simon Josefsson <simon@josefsson.org>.
93960 2006-11-28  James Youngman  <jay@gnu.org>
93962         * README: Advise users that they might find the bug-gnulib@gnu.org
93963         and autotools-announce@gnu.org mailing lists useful.
93965 2006-11-28  Bruno Haible  <bruno@clisp.org>
93967         * m4/ptrdiff_max.m4: Remove file.
93969 2006-11-21  Bruno Haible  <bruno@clisp.org>
93971         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
93972         _AC_COMPUTE_INT.
93973         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93974         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
93975         _AC_COMPUTE_INT.
93976         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93977         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
93978         _AC_COMPUTE_INT.
93979         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93981 2006-11-28  Jim Meyering  <jim@meyering.net>
93983         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
93984         warning from "gcc -Wshadow" about shadowing the builtin.
93986 2006-11-27  Bruno Haible  <bruno@clisp.org>
93988         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
93989         _AC_COMPUTE_INT.
93990         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
93992 2006-11-27  Bruno Haible  <bruno@clisp.org>
93993             Paul Eggert  <eggert@cs.ucla.edu>
93995         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
93997 2006-11-26  Bruno Haible  <bruno@clisp.org>
93999         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
94000         noinst_LTLIBRARIES.
94002 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
94003             Bruno Haible  <bruno@clisp.org>
94005         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
94006         if compiling with "gcc -ansi".
94008 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
94010         Fix some incompatibilities with gcc -ansi -pedantic.
94011         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
94012         if compiling pedantically with GCC, unless it's C99 or later.
94013         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
94014         it mishandles gcc -ansi -pedantic as well.
94015         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
94016         if gcc -pedantic.
94017         * lib/regexec.c (check_node_accept_bytes): Don't use auto
94018         initializers for struct if -pedantic, unless it's C99 or later.
94020 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
94022         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
94023         Don't close an fd more than once. Identical atimes indicate
94024         success, not failure.
94026 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
94028         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
94030 2006-11-23  Jim Meyering  <jim@meyering.net>
94032         * build-aux/announce-gen: New file.  From coreutils.
94034 2006-11-22  Jim Meyering  <jim@meyering.net>
94036         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
94037         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
94038         (fts_read): Use a temporary to narrow the overused st_size member
94039         before using it in a switch statement.  Reported by Matthew Woehlke.
94041         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
94042         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
94044 2006-11-20  Bruno Haible  <bruno@clisp.org>
94046         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
94047         changequote instead of pairs of brackets.
94048         Reported by Andreas Schwab <schwab@suse.de>.
94050 2006-11-21  Jim Meyering  <jim@meyering.net>
94052         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
94053         so as to remain compatible with older compilers.
94054         Patch from Michael Deutschmann.
94056 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94058         * MODULES.html.sh (File system functions): Add openat.
94060         * lib/openat.h (rpl_fstatat): New macro, if
94061         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
94062         (fstatat): Define to rpl_fstatat under the same conditions,
94063         unless COMPILING_FSTATAT.
94064         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
94065         seems to have the bug.
94066         * lib/fstatat.c: New file.
94067         * modules/openat (Files): Add it.
94069 2006-11-20  Bruno Haible  <bruno@clisp.org>
94071         * Makefile: New file.
94073 2006-11-20  Jim Meyering  <jim@meyering.net>
94075         The beginnings of syntax-related checks for gnulib.
94076         * lib/Makefile: New file.
94077         * lib/t-idcache: New script.  Ensure that the two halves of
94078         idcache.c stay in sync.
94080         * lib/idcache.c: Adjust comments in user- and group- portions to
94081         be more accurate, and to be consistent with one another.
94083 2006-11-20  Jim Meyering  <jim@meyering.net>
94085         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
94086         continue using the flexible array member (thus, this module performs
94087         half as many malloc calls), with the addition that...
94088         (getgroup, getuser): Consistently record a non-match via an empty
94089         "name" string, and map an empty string match to a NULL return value.
94090         * modules/idcache (Depends-on): Re-add flexmember.
94092         * lib/idcache.c (getuser): Remove all uses of the register keyword.
94093         (getuidbyname, getgroup, getgidbyname): Likewise.
94095         Use cleaner syntax: NULL rather than 0.
94096         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
94098 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
94100         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
94101         It mishandled the case where the group was missing.
94102         Problem reported by Greg Schafer.
94103         * modules/idcache: Likewise.
94105 2006-11-18  Jim Meyering  <jim@meyering.net>
94107         * check-module (%exempt_header): Add exception for some
94108         conditionally-included headers.
94110         * modules/i-ring (Depends-on): Add verify.
94111         (License): Change to LGPL.
94113 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
94115         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
94116         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
94117         and inttostr.h.  Use snprintf rather than uinttostr, so that
94118         LGPLed code doesn't depend on GPLed.
94120 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
94122         * modules/inline (License): Change from GPL to LGPL.
94124 2006-11-17  Jim Meyering  <jim@meyering.net>
94126         * modules/d-type (License): Switch to LGPL.
94128 2006-11-15  Bruno Haible  <bruno@clisp.org>
94130         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
94132 2006-11-15  Eric Blake  <ebb9@byu.net>
94134         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
94135         the module dependency.
94137 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
94138             Bruno Haible  <bruno@clisp.org>
94140         * gnulib-tool (func_create_testdir): Add license consistency check.
94142 2006-11-15  Eric Blake  <ebb9@byu.net>
94144         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
94145         random "(cached)" in configure output.
94147 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94149         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
94150         test for conforming inttypes.h is both announced and cached.
94152         * MODULES.html.sh (seen_modules, seen_files): New variables.
94153         (func_module): Rewrite to use a few less gnulib-tool and sed
94154         invocations.  Avoid a couple of quadratic algorithms for ...
94155         (missed_modules, missed_files): ... these, with ...
94156         (func_append, func_tmpdir): ... these new functions, from
94157         gnulib-tool.  Analogously, install traps for cleanup.
94159         * tests/test-gc.c (main): Remove unused variables.
94160         * tests/test-read-file.c: Include stdlib.h, for 'free'.
94162 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
94164         * modules/inttostr (License): Change to LGPL.
94166 2006-11-14  Eric Blake  <ebb9@byu.net>
94168         * modules/tempname (License): Change to LGPL.
94170 2006-11-14  Eric Blake  <ebb9@byu.net>
94172         * doc/functions.texi (Function Portability): *printf functions on
94173         Cygwin now understand all POSIX size specifiers.
94175 2006-11-14  Bruno Haible  <bruno@clisp.org>
94177         * modules/c-ctype (License): Change to LGPL.
94179 2006-11-12  Bruno Haible  <bruno@clisp.org>
94181         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
94182         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
94183         for GNOME libraries, for which the include files are installed in
94184         subdirectories of $prefix/include.
94186 2006-11-12  Bruno Haible  <bruno@clisp.org>
94188         * m4/lib-link.m4: Require at least autoconf-2.54.
94189         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
94190         name to underscores for the --with option.
94192 2006-11-13  Bruno Haible  <bruno@clisp.org>
94194         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
94195         the tests directory.
94196         Reported by Ralf Wildenhues.
94198 2006-11-13  Bruno Haible  <bruno@clisp.org>
94200         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
94201         (func_emit_initmacro_end): Undo the override here.
94202         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
94203         Works around the famous automake error in coreutils.
94205 2006-11-13  Eric Blake  <ebb9@byu.net>
94207         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
94208         element, not its node.
94210 2006-11-12  Bruno Haible  <bruno@clisp.org>
94212         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
94213         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
94215 2006-11-12  Bruno Haible  <bruno@clisp.org>
94217         * gnulib-tool: New option --local-symlink.
94218         (func_usage): Document it.
94219         (lsymbolic): New variable.
94220         (func_import, func_create_testdir): If --symlink was not specified,
94221         test whether --local-symlink was specified and the file comes from
94222         the local_gnulib_dir.
94224 2006-11-12  Bruno Haible  <bruno@clisp.org>
94226         * gnulib-tool (func_ln): New function.
94227         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
94229 2006-11-12  Bruno Haible  <bruno@clisp.org>
94231         Finish support for source files in subdirectories.
94232         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
94233         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
94234         AUTOMAKE_OPTIONS.
94235         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
94237 2006-11-12  Bruno Haible  <bruno@clisp.org>
94239         * gnulib-tool (func_get_automake_snippet): Synthesize also an
94240         EXTRA_lib_SOURCES augmentation.
94241         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
94243 2006-11-12  Jim Meyering  <jim@meyering.net>
94245         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
94246         file descriptors.  This also averts a failure on systems with
94247         native openat support when a traversed directory lacks "x" access.
94248         * lib/fts_.h: Include "i-ring.h"
94249         (struct FTS) [fts_fd_ring]: New member.
94250         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
94251         (FCHDIR): Add parentheses.
94252         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
94253         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
94254         When descending, rather than simply closing the previous
94255         fts_cwd_fd value, push that file descriptor onto the ring.
94256         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
94257         (fts_open): Initialize the new fd_ring member.
94258         (fts_close): Clear the ring.
94259         (fts_safe_changedir): When possible, use our new fd_ring to skip
94260         the diropen and fstat and dev/ino comparison that would normally
94261         accompany a virtual `chdir ("..")'.
94263         * modules/fts (Depends-on): Add i-ring.
94264         * modules/i-ring: New module.
94265         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
94266         * m4/i-ring.m4: New file.
94268 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94270         * gnulib-tool (func_create_testdir): Fix replacement of
94271         `build-aux' in configure.ac.  Run autotools in gltests
94272         subdirectory.
94273         (func_create_testdir, func_create_megatestdir, test): There is
94274         no need for '--force' in most autotool invocations in a new
94275         tree.  Actually fail the whole test if any of the tools, or the
94276         configure or make stages fail.
94278         Sync from Automake.
94279         * build-aux/gnupload: Revert last change.  Add pointer to upload
94280         instructions of the GNU Maintenance Instructions.
94281         Suggestion by Karl Berry.
94283 2006-11-10  Jim Meyering  <jim@meyering.net>
94285         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
94287 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94289         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
94290         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
94291         (bind_textdomain_codeset) [! ENABLE_NLS]:
94292         Evaluate all the arguments.  That way, callers get compatible behavior
94293         if the arguments have side effects.  Also, it avoids some GCC
94294         diagnostics in some cases; Joel E. Denny reported problems when Bison
94295         was configured with --enable-gcc-warnigs.
94297 2006-11-10  Jim Meyering  <jim@meyering.net>
94299         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
94300         relevant options in CFLAGS (like -O, -fno-inline) are taken into
94301         account.
94303 2006-11-10  Jim Meyering  <jim@meyering.net>
94305         * modules/inline: New file/module.
94306         * modules/xalloc (Files): Remove m4/inline.m4.
94307         (Depends-on): Add inline, instead.
94308         * modules/oset: Likewise.
94309         * modules/list: Likewise.
94311 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
94313         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
94314         Problem reported by Matthew Woehlke.
94316 2006-11-09  Bruno Haible  <bruno@clisp.org>
94318         * lib/tempname.c (gen_tempname): Remove variant that invokes
94319         __gen_tempname.
94320         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
94321         __gen_tempname.
94323 2006-11-08  Bruno Haible  <bruno@clisp.org>
94325         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
94326         to 'yes' instead of 'cross-compiling'.
94328 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
94330         * lib/quotearg.h (quotearg_free): New decl.
94331         * lib/quotearg.c (quotearg_free): New function.
94332         (slot0, nslots, slotvec0, slotvec):
94333         Now file-scope so that quotearg_free can get at them.
94335 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94337         Sync from Automake.
94338         * build-aux/gnupload: Add missing 'gnu' to example URL.
94339         Report by Karl Berry.
94341 2006-11-08  Bruno Haible  <bruno@clisp.org>
94343         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
94344         Suggested by Paul Eggert.
94346 2006-11-08  Jim Meyering  <jim@meyering.net>
94348         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
94349         It's already included if !_LIBC.
94350         (fts_safe_changedir): Add a comment.
94352 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94354         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
94355         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
94356         Matthew Woehlke.
94358         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
94359         definitions up, to avoid colliding with change below.
94360         (static_inline) [HAVE_INLINE]: New macro.
94361         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
94362         Provide extern decls when !HAVE_INLINE.  Do not define unless
94363         static_inline is defined, either by us or by xmalloc.c.  Use
94364         static_inline rather than static inline.
94365         (XCALLOC): Optimize sizeof(T) = 1 case.
94366         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
94368 2006-11-07  Bruno Haible  <bruno@clisp.org>
94370         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
94371         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
94372         AC_C_INLINE.
94373         * modules/xalloc (Files): Add m4/inline.m4.
94375 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94377         * README: Fix typo.
94378         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
94379         (Miscellanous Notes): ...from this.
94381 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
94383         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
94384         Mention that offsetof should be used instead of sizeof.
94385         From Bruno Haible.
94387 2006-11-07  Bruno Haible  <bruno@clisp.org>
94389         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
94391 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94393         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94394         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
94395         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94396         (gl_tree_add_before, gl_tree_add_after):
94397         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
94398         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
94399         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
94400         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
94401         (gl_linked_add_after, gl_linked_add_at): Likewise.
94402         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
94403         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
94404         (gl_tree_add_before, gl_tree_add_after): Likewise.
94405         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
94406         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
94407         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
94409 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94411         * lib/gl_oset.h: Use C comment style, not C++ comment style.
94413 2006-11-06  Bruno Haible  <bruno@clisp.org>
94415         * m4/inline.m4: New file.
94416         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
94417         * modules/list (Files): Add m4/inline.m4.
94418         * modules/oset (Files): Likewise.
94420 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
94422         * lib/idcache.c: Include <stddef.h>, for offsetof.
94423         (struct userid.name): Change from char * to a flexible array member.
94424         All uses changed.
94425         * modules/idcache (Depends-on): Add flexmember.
94427         * MODULES.html.sh (Core language properties): New module flexmember.
94428         * modules/flexmember, m4/flexmember.m4: New files.
94430         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
94431         inline functions that are identical with the old xnmalloc_inline,
94432         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
94433         that we can avoid some unnecessary integer multiplications and
94434         divisions in the common case where the element size is known at
94435         compile time.
94436         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
94437         needed.
94438         (xnboundedmalloc): Remove.
94439         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
94440         arguments, for consistency with rest of this header.
94441         (xcharalloc): Rewrite using XNMALLOC.
94442         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
94443         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
94444         versions have been moved to lib/xalloc.h and renamed to be the
94445         non-*_inline versions.
94446         (xmalloc, xrealloc): Implement without reference to the xnmalloc
94447         and xnrealloc functions, since those functions are now inline and
94448         now call us.
94449         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
94450         renaming described above.
94451         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
94452         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
94453         captures the dependency in AC_C_INLINE.
94455         New module canonicalize-lgpl, proposed by Charles Wilson in
94456         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
94457         with a few small changes afterwards.
94458         * MODULES.html.sh (File system functions): New module
94459         canonicalize-lgpl.
94460         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
94461         and canonicalize_file_name.
94462         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
94463         * modules/canonicalize-lgpl: New files.
94465 2006-11-05  Bruno Haible  <bruno@clisp.org>
94467         * gnulib-tool (func_import, func_create_testdir): Create directories
94468         also for files in subdirectories of lib/.
94470 2006-11-05  Bruno Haible  <bruno@clisp.org>
94472         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
94473         ANSI C compliant.
94475 2006-11-03  Bruno Haible  <bruno@clisp.org>
94477         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
94478         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
94479         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
94480         (xnboundedmalloc): New inline function.
94481         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
94482         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
94483         xmalloc.
94484         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
94485         xmalloc.
94486         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
94487         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
94488         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
94489         xmalloc.
94490         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94491         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
94492         xmalloc.
94493         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
94494         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94495         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
94496         xmalloc.
94497         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
94498         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
94499         gl_tree_add_after): Use XMALLOC instead of xmalloc.
94500         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
94501         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
94502         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
94503         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
94505 2006-11-03  Bruno Haible  <bruno@clisp.org>
94507         * lib/c-ctype.h [C++]: Define functions without name mangling.
94508         * lib/fwriteerror.h [C++]: Likewise.
94509         * lib/gcd.h [C++]: Likewise.
94510         * lib/linebreak.h [C++]: Likewise.
94512 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
94514         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
94515         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
94516         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
94517         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
94518         Check for functions and headers just once.
94519         Check for declaration of canonicalize_file_name.
94520         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
94522 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94524         * gnulib-tool (func_import): Fix typo in actioncmd.
94526 2006-11-02  Bruno Haible  <bruno@clisp.org>
94528         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
94529         newline sequence in the Makefile.am snippet as a space, like "make"
94530         does.
94531         Reported by Roger Persson <perrog@gmail.com>.
94533 2006-11-01  Bruno Haible  <bruno@clisp.org>
94535         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
94536         already declared in <string.h>.
94537         * lib/strcase.h (strncasecmp): Don't declare it if yes.
94539 2006-11-01  Bruno Haible  <bruno@clisp.org>
94541         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
94542         * lib/strcase.h: Include <string.h>.
94543         (strcasecmp): Define to rpl_strcasecmp here.
94545 2006-11-01  Bruno Haible  <bruno@clisp.org>
94547         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
94549 2006-11-01  Eric Blake  <ebb9@byu.net>
94551         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
94553         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
94555 2006-10-29  Bruno Haible  <bruno@clisp.org>
94557         Make it compile in C++ mode.
94558         * lib/full-write.c (full_rw): Add a cast.
94560 2006-11-01  Bruno Haible  <bruno@clisp.org>
94562         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
94563         be POSIX compliant.
94564         Reported by Roger Persson <perrog@gmail.com>.
94566 2006-11-01  Eric Blake  <ebb9@byu.net>
94568         * lib/getopt_.h: Fix comments.
94570 2006-10-31  Eric Blake  <ebb9@byu.net>
94572         * modules/tmpdir (Depends-on): Add sys_stat.
94573         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
94574         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
94575         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
94576         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
94577         tempname.
94579 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
94581         Avoid some C++ diagnostics reported by Bruno Haible.
94582         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
94583         xmalloc.
94584         (quotearg_alloc): Use xcharalloc rather than xmalloc.
94585         (struct slotvec): Move to top level.
94586         (quotearg_n_options): Rewrite to avoid xmalloc.
94587         * lib/xalloc.h (xcharalloc): New function.
94588         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
94589         [defined __cplusplus]: Add function template that provides result
94590         type propagation.  This part of the change is from Bruno Haible.
94592 2006-10-29  Bruno Haible  <bruno@clisp.org>
94594         Make it compile in C++ mode.
94595         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
94596         * lib/strnlen1.c (strnlen1): Cast memchr result.
94597         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
94598         * lib/clean-temp.c (string_equals, string_hash): Add casts.
94599         (create_temp_dir): Rename local variable 'template'.
94600         (compile_csharp_using_sscli): Add cast.
94601         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
94602         * lib/findprog.c (find_in_path): Likewise.
94603         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
94604         * lib/wait-process.c (register_slave_subprocess): Likewise.
94606 2006-10-22  Bruno Haible  <bruno@clisp.org>
94608         * modules/tsearch: New file.
94609         * lib/tsearch.h: New file.
94610         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
94611         * m4/tsearch.m4: New file.
94612         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
94614 2006-10-29  Eric Blake  <ebb9@byu.net>
94616         * lib/arcfour.c: Assume config.h.
94617         * lib/arctwo.c: Likewise.
94618         * lib/base64.c: Likewise.
94619         * lib/check-version.c: Likewise.
94620         * lib/crc.c: Likewise.
94621         * lib/des.c: Likewise.
94622         * lib/gc-gnulib.c: Likewise.
94623         * lib/gc-libgcrypt.c: Likewise.
94624         * lib/gc-pbkdf2-sha1.c: Likewise.
94625         * lib/getaddrinfo.c: Likewise.
94626         * lib/getdelim.c: Likewise.
94627         * lib/getline.c: Likewise.
94628         * lib/hmac-md5.c: Likewise.
94629         * lib/hmac-sha1.c: Likewise.
94630         * lib/iconvme.c: Likewise.
94631         * lib/md2.c: Likewise.
94632         * lib/md4.c: Likewise.
94633         * lib/memxor.c: Likewise.
94634         * lib/read-file.c: Likewise.
94635         * lib/readline.c: Likewise.
94636         * lib/rijndael-alg-fst.c: Likewise.
94637         * lib/rijndael-api-fst.c: Likewise.
94638         * lib/xgetdomainname.c: Likewise.
94640 2006-10-28  Eric Blake  <ebb9@byu.net>
94642         * lib/xstrndup.c: Assume config.h.
94644 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
94646         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
94647         stat-macros.h is now for our own macros, whereas stat_h is for
94648         macros in the <sys/stat.h> name space.
94649         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
94650         (STAT_MACROS_H): Remove.
94651         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
94652         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
94653         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
94654         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
94655         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
94656         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
94657         Move these macros to ...
94658         * lib/stat_.h: here.  Don't include stat-macros.h.
94659         * lib/canonicalize.c: Don't include stat-macros.h.
94660         * lib/chown.c: Likewise.
94661         * lib/euidaccess.c: Likewise.
94662         * lib/file-type.c: Likewise.
94663         * lib/filemode.c: Likewise.
94664         * lib/glob.c: Likewise.
94665         * lib/isapipe.c: Likewise.
94666         * lib/lchown.c: Likewise.
94667         * lib/lstat.c: Likewise.
94668         * lib/mkdir-p.c: Likewise.
94669         * lib/rmdir.c: Likewise.
94670         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
94671         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
94672         unless mkdir isn't declared, to speed up 'configure'.
94673         Always create sys/stat.h, since it's unlikely any real sys/stat.h
94674         would define all the S_* symbols.
94675         * modules/canonicalize (Depends-on):
94676         Depend on sys_stat, not stat-macros.
94677         * modules/chown: Likewise.
94678         * modules/euidaccess: Likewise.
94679         * modules/filemode: Likewise.
94680         * modules/file-type: Likewise.
94681         * modules/glob: Likewise.
94682         * modules/isapipe: Likewise.
94683         * modules/lchown: Likewise.
94684         * modules/lstat: Likewise.
94685         * modules/mkancesdirs: Likewise.
94686         * modules/rmdir: Likewise.
94687         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
94688         * modules/modechange: Likewise.
94689         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
94690         (configure.ac): Remove gl_STAT_MACROS.
94691         * modules/sys_stat (Depends-on): Remove stat-macros.
94693 2006-10-27  Bruno Haible  <bruno@clisp.org>
94695         * m4/signed.m4: Remove file.
94696         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
94697         invocation.
94698         * modules/vasnprintf (Files): Remove m4/signed.m4.
94700 2006-10-27  Bruno Haible  <bruno@clisp.org>
94702         Update to GNU gettext 0.16.
94703         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
94704         m4/inttypes-h.m4, m4/signed.m4.
94705         * m4/gettext.m4: Update to GNU gettext 0.16.
94706         * m4/intl.m4: New file, from GNU gettext.
94707         * m4/intldir.m4: New file, from GNU gettext.
94708         * config/srclist.txt: Update
94710 2006-10-27  Eric Blake  <ebb9@byu.net>
94712         * MODULES.html.sh: Document tempname.
94713         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
94714         dependencies.
94715         (Files): Move lib/tempname.c...
94716         * modules/tempname: ...to this new module.
94717         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
94718         (gl_PREREQ_TEMPNAME): Move...
94719         * m4/tempname.m4: ...to this new file.
94720         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
94721         * modules/sys_stat (Depends-on): Add stat-macros.
94722         * lib/stat_.h (includes): Pick up stat macros.
94723         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
94724         if stat macros are broken.
94725         * lib/tempname.c (includes): No need to include "stat-macros.h".
94726         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
94727         (direxists, __path_search) [!_LIBC]: Don't compile these in
94728         gnulib; the tmpdir module covers that.
94729         * lib/tempname.h: New file.
94731 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
94733         * COPYING: Explain how gnulib-tool converts licence headers.
94734         Almost all wording by Eric Blake.
94736 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
94738         * lib/mbchar.h (is_basic_table): Make read-only.
94739         * lib/mbchar.c (is_basic_table): Likewise.
94740         Reported by John Darrington.
94742 2006-10-25  Bruno Haible  <bruno@clisp.org>
94744         * lib/progname.h (set_program_name): Undefine before defining.
94746 2006-10-25  Bruno Haible  <bruno@clisp.org>
94748         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
94749         false for non-gcc C++ compilers.
94750         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
94752 2006-10-24  Bruno Haible  <bruno@clisp.org>
94754         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
94755         iconv implementations like Irix iconv.
94757 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94759         * modules/vararrays: New file.
94760         * m4/vararrays.m4: New file, taken from diffutils.
94761         * MODULES.html.sh: New module vararrays.
94763 2006-10-24  Karl Berry  <karl@gnu.org>
94765         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
94766         Don't call GNU Unix.
94768 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94770         * users.txt: Add Libtool.
94772         Sync from Libtool:
94774         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94776         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
94777         to gnulib's policy of including config.h unconditionally.
94779 2006-10-24  Bruno Haible  <bruno@clisp.org>
94781         * modules/wcwidth (Files): Add m4/wint_t.m4.
94782         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
94783         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
94785 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
94787         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
94788         to pacify GCC with some -W flags enabled.  Problem reported by
94789         Bruno Haible.
94791 2006-10-24  Jim Meyering  <jim@meyering.net>
94793         * MODULES.html.sh: Remove uinttostr.  It's not a module.
94794         Reported by Karl Berry.
94796 2006-10-23  Bruno Haible  <bruno@clisp.org>
94798         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
94800 2006-10-24  Bruno Haible  <bruno@clisp.org>
94802         * lib/gl_list.h: Use C comment style, not C++ comment style.
94804 2006-10-23  Eric Blake  <ebb9@byu.net>
94806         * lib/getaddrinfo.c (includes): Add missing include.
94808 2006-10-23  Bruno Haible  <bruno@clisp.org>
94809             Paul Eggert  <eggert@cs.ucla.edu>
94811         Ability to rename obstack_free.
94812         * lib/obstack.h (__obstack_free): New macro. Declare instead of
94813         obstack_free.
94814         (obstack_free): Invoke the __obstack_free macro.
94815         * lib/obstack.c (obstack_free): Use __obstack_free macro.
94817 2006-10-23  Bruno Haible  <bruno@clisp.org>
94818             Paul Eggert  <eggert@cs.ucla.edu>
94820         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
94821         __argc, __argv from the declaration. (They are defined as macros on
94822         mingw.)
94824 2006-10-22  Bruno Haible  <bruno@clisp.org>
94826         * doc/gnulib-intro.texi: New file.
94827         * doc/gnulib.texi: Include it.
94829 2006-10-21  Bruno Haible  <bruno@clisp.org>
94831         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
94832         "Introduction", "Miscellanous Notes", "Particular Modules".
94834 2006-10-21  Bruno Haible  <bruno@clisp.org>
94836         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
94837         Change mostlyclean-local rule to avoid sh syntax error from bash
94838         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
94840 2006-10-23  Jim Meyering  <jim@meyering.net>
94842         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
94843         in place of snprintf.
94845         * modules/inttostr (Files): Add lib/uinttostr.c.
94846         * lib/uinttostr.c (inttostr): New file/function.
94847         * lib/inttostr.h (uinttostr): Declare.
94848         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
94849         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
94850         Add uinttostr.
94851         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
94853 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94855         * lib/canonicalize.c (ELOOP): Define if not already defined.
94856         Problem reported by Bruno Haible in
94857         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
94859 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
94861         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
94862         Problem reported by Perry Smith and Ville Laurikari.
94864         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
94865         uses.
94867 2006-10-19  Bruno Haible  <bruno@clisp.org>
94869         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
94870         for mingw.
94872 2006-10-19  Bruno Haible  <bruno@clisp.org>
94874         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
94875         Needed for mingw.
94877 2006-10-19  Bruno Haible  <bruno@clisp.org>
94879         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
94881 2006-10-19  Bruno Haible  <bruno@clisp.org>
94883         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
94884         it.
94886 2006-10-19  Bruno Haible  <bruno@clisp.org>
94888         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
94889         invocation.
94891 2006-10-19  Bruno Haible  <bruno@clisp.org>
94893         * gnulib-tool (func_create_testdir): Don't include ftruncate and
94894         mountlist by default.
94896 2006-10-16  Bruno Haible  <bruno@clisp.org>
94898         * lib/c-strstr.c: Include c-strstr.h.
94900 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
94902         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
94903         in a slash.
94905 2006-10-18  Bruno Haible  <bruno@clisp.org>
94907         * lib/lock.h [C++]: Wrap definitions in extern "C".
94909 2006-10-18  Bruno Haible  <bruno@clisp.org>
94911         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
94912         gl_LIBOBJS list.
94914 2006-10-18  Bruno Haible  <bruno@clisp.org>
94916         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
94918 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
94920         * lib/xstrtol.h: Include gettext.h.
94921         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
94922         Problem reported by Eric Blake.
94923         * modules/xstrtol (Depends-on): Add gettext-h.
94925 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
94927         * lib/strftime.c (advance): New macro.
94928         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
94929         incomplete type, so you can't add 0 to it.  Problem and patch
94930         reported by Eelco Dolstra for dietlibc.
94932 2006-10-18  Jim Meyering  <jim@meyering.net>
94934         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
94935         type for a local, and rename it: s/up/user_proc/.
94937 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
94939         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
94940         READ_UTMP_USER_PROCESS.
94941         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
94943 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
94945         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
94946         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
94948 2006-10-17  Eric Blake  <ebb9@byu.net>
94950         * lib/sigprocmask.c (sigprocmask): Fix typo.
94952         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
94954         * modules/clean-temp (Makefile.am): Don't add to make output...
94955         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
94956         config.h.
94958 2006-10-17  Bruno Haible  <bruno@clisp.org>
94960         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
94961         differently if DEFAULT_TEXT_DOMAIN is set.
94963 2006-10-16  Bruno Haible  <bruno@clisp.org>
94965         * lib/clean-temp.c: Include fwriteerror.h.
94967 2006-10-16  Bruno Haible  <bruno@clisp.org>
94969         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
94971 2006-10-16  Bruno Haible  <bruno@clisp.org>
94973         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
94974         * lib/sigprocmask.h: Include <sys/types.h>.
94975         (sigset_t): Use the system's definition if present.
94977 2006-10-17  Eric Blake  <ebb9@byu.net>
94979         * lib/xvasprintf.c (includes): Assume config.h.
94980         * lib/xasprintf.c (includes): Likewise.
94982 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
94984         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
94985         at least as wide as intmax_t.
94987 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
94989         (Imported from Automake.)
94990         * build-aux/gnupload: Update to version 1.1 of directive file.
94992 2006-10-16  Eric Blake  <ebb9@byu.net>
94994         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
94995         match Automake 1.10a.
94997 2006-10-14  Bruno Haible  <bruno@clisp.org>
94999         * modules/sigprocmask: New file.
95000         * lib/sigprocmask.h: New file.
95001         * lib/sigprocmask.c: New file.
95002         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
95003         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
95004         request sigprocmask.o.
95005         (gl_PREREQ_SIGPROCMASK): New macro.
95006         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
95007         (Depends-on): Add sigprocmask.
95008         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
95009         gt_SIGNALBLOCKING. Test for 'raise' only once.
95010         * lib/fatal-signal.c: Include sigprocmask.h.
95011         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
95012         unblock_fatal_signals): Define always.
95013         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
95014         sigprocmask.
95016 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
95018         Sync from Automake.
95019         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
95020         which incorrectly sets the mode of an existing destination
95021         directory.  In some cases the unpatched install-sh could do the
95022         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
95023         system.  We hope this is rare in practice, but it's clearly worth
95024         fixing.  Problem reported by Alex Unleashed in
95025         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
95026         Also, don't bother to check for -m bugs unless we're using -m;
95027         suggested by Stepan Kasal.
95029 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95031         Sync from Automake.
95032         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
95033         `-c' flag, so they appear at the same position as in %FASTDEP%
95034         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
95035         which ignores unknown options only after the first non-option.
95036         Bug report against M4 by Nelson H. F. Beebe.
95038 2006-10-13  Jim Meyering  <jim@meyering.net>
95040         Fix a bug in yesterday's change.
95041         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
95042         p->fts_statp->st_dev would be used uninitialized.
95043         Ensures that we always call fts_stat on the very first entry.
95044         Miklos Szeredi reported that find -xdev stopped working.
95046 2006-10-12  Bruno Haible  <bruno@clisp.org>
95048         * gnulib-tool (func_get_automake_snippet): Append an automatically
95049         computed EXTRA_DIST augmentation.
95050         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
95051         * modules/alloca-opt (Makefile.am): Likewise.
95052         * modules/allocsa (Makefile.am): Likewise.
95053         * modules/arcfour (Makefile.am): Likewise.
95054         * modules/arctwo (Makefile.am): Likewise.
95055         * modules/argmatch (Makefile.am): Likewise.
95056         * modules/argz (Makefile.am): Likewise.
95057         * modules/atexit (Makefile.am): Likewise.
95058         * modules/backupfile (Makefile.am): Likewise.
95059         * modules/byteswap (Makefile.am): Likewise.
95060         * modules/c-strtod (Makefile.am): Likewise.
95061         * modules/c-strtold (Makefile.am): Likewise.
95062         * modules/calloc (Makefile.am): Likewise.
95063         * modules/canon-host (Makefile.am): Likewise.
95064         * modules/canonicalize (Makefile.am): Likewise.
95065         * modules/chdir-long (Makefile.am): Likewise.
95066         * modules/chdir-safer (Makefile.am): Likewise.
95067         * modules/check-version (Makefile.am): Likewise.
95068         * modules/chown (Makefile.am): Likewise.
95069         * modules/cloexec (Makefile.am): Likewise.
95070         * modules/close-stream (Makefile.am): Likewise.
95071         * modules/closeout (Makefile.am): Likewise.
95072         * modules/crc (Makefile.am): Likewise.
95073         * modules/csharpexec (Makefile.am): Likewise.
95074         * modules/cycle-check (Makefile.am): Likewise.
95075         * modules/des (Makefile.am): Likewise.
95076         * modules/dev-ino (Makefile.am): Likewise.
95077         * modules/dirfd (Makefile.am): Likewise.
95078         * modules/dirname (Makefile.am): Likewise.
95079         * modules/dup2 (Makefile.am): Likewise.
95080         * modules/eealloc (Makefile.am): Likewise.
95081         * modules/error (Makefile.am): Likewise.
95082         * modules/euidaccess (Makefile.am): Likewise.
95083         * modules/exclude (Makefile.am): Likewise.
95084         * modules/exitfail (Makefile.am): Likewise.
95085         * modules/fcntl-safer (Makefile.am): Likewise.
95086         * modules/fcntl (Makefile.am): Likewise.
95087         * modules/file-type (Makefile.am): Likewise.
95088         * modules/fileblocks (Makefile.am): Likewise.
95089         * modules/filemode (Makefile.am): Likewise.
95090         * modules/filenamecat (Makefile.am): Likewise.
95091         * modules/fnmatch (Makefile.am): Likewise.
95092         * modules/fopen-safer (Makefile.am): Likewise.
95093         * modules/fpending (Makefile.am): Likewise.
95094         * modules/fprintftime (Makefile.am): Likewise.
95095         * modules/free (Makefile.am): Likewise.
95096         * modules/fsusage (Makefile.am): Likewise.
95097         * modules/ftruncate (Makefile.am): Likewise.
95098         * modules/fts (Makefile.am): Likewise.
95099         * modules/gc-arcfour (Makefile.am): Likewise.
95100         * modules/gc-des (Makefile.am): Likewise.
95101         * modules/gc-hmac-md5 (Makefile.am): Likewise.
95102         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
95103         * modules/gc-md4 (Makefile.am): Likewise.
95104         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95105         * modules/gc-sha1 (Makefile.am): Likewise.
95106         * modules/gc (Makefile.am): Likewise.
95107         * modules/getaddrinfo (Makefile.am): Likewise.
95108         * modules/getcwd (Makefile.am): Likewise.
95109         * modules/getdelim (Makefile.am): Likewise.
95110         * modules/getdomainname (Makefile.am): Likewise.
95111         * modules/getgroups (Makefile.am): Likewise.
95112         * modules/gethostname (Makefile.am): Likewise.
95113         * modules/gethrxtime (Makefile.am): Likewise.
95114         * modules/getline (Makefile.am): Likewise.
95115         * modules/getloadavg (Makefile.am): Likewise.
95116         * modules/getlogin_r (Makefile.am): Likewise.
95117         * modules/getndelim2 (Makefile.am): Likewise.
95118         * modules/getopt (Makefile.am): Likewise.
95119         * modules/getpagesize (Makefile.am): Likewise.
95120         * modules/getpass-gnu (Makefile.am): Likewise.
95121         * modules/getpass (Makefile.am): Likewise.
95122         * modules/getsubopt (Makefile.am): Likewise.
95123         * modules/gettime (Makefile.am): Likewise.
95124         * modules/gettimeofday (Makefile.am): Likewise.
95125         * modules/getugroups (Makefile.am): Likewise.
95126         * modules/getusershell (Makefile.am): Likewise.
95127         * modules/glob (Makefile.am): Likewise.
95128         * modules/group-member (Makefile.am): Likewise.
95129         * modules/hard-locale (Makefile.am): Likewise.
95130         * modules/hash (Makefile.am): Likewise.
95131         * modules/hmac-md5 (Makefile.am): Likewise.
95132         * modules/hmac-sha1 (Makefile.am): Likewise.
95133         * modules/human (Makefile.am): Likewise.
95134         * modules/idcache (Makefile.am): Likewise.
95135         * modules/imaxabs (Makefile.am): Likewise.
95136         * modules/imaxdiv (Makefile.am): Likewise.
95137         * modules/inet_ntop (Makefile.am): Likewise.
95138         * modules/inet_pton (Makefile.am): Likewise.
95139         * modules/intprops (Makefile.am): Likewise.
95140         * modules/inttostr (Makefile.am): Likewise.
95141         * modules/inttypes (Makefile.am): Likewise.
95142         * modules/isapipe (Makefile.am): Likewise.
95143         * modules/javaversion (Makefile.am): Likewise.
95144         * modules/lchmod (Makefile.am): Likewise.
95145         * modules/lchown (Makefile.am): Likewise.
95146         * modules/localcharset (Makefile.am): Likewise.
95147         * modules/long-options (Makefile.am): Likewise.
95148         * modules/lstat (Makefile.am): Likewise.
95149         * modules/malloc (Makefile.am): Likewise.
95150         * modules/mathl (Makefile.am): Likewise.
95151         * modules/mbchar (Makefile.am): Likewise.
95152         * modules/md2 (Makefile.am): Likewise.
95153         * modules/md4 (Makefile.am): Likewise.
95154         * modules/md5 (Makefile.am): Likewise.
95155         * modules/memcasecmp (Makefile.am): Likewise.
95156         * modules/memchr (Makefile.am): Likewise.
95157         * modules/memcmp (Makefile.am): Likewise.
95158         * modules/memcoll (Makefile.am): Likewise.
95159         * modules/memcpy (Makefile.am): Likewise.
95160         * modules/memmem (Makefile.am): Likewise.
95161         * modules/memmove (Makefile.am): Likewise.
95162         * modules/mempcpy (Makefile.am): Likewise.
95163         * modules/memrchr (Makefile.am): Likewise.
95164         * modules/memset (Makefile.am): Likewise.
95165         * modules/memxor (Makefile.am): Likewise.
95166         * modules/mkancesdirs (Makefile.am): Likewise.
95167         * modules/mkdir-p (Makefile.am): Likewise.
95168         * modules/mkdir (Makefile.am): Likewise.
95169         * modules/mkdtemp (Makefile.am): Likewise.
95170         * modules/mkstemp (Makefile.am): Likewise.
95171         * modules/mktime (Makefile.am): Likewise.
95172         * modules/modechange (Makefile.am): Likewise.
95173         * modules/mountlist (Makefile.am): Likewise.
95174         * modules/nanosleep (Makefile.am): Likewise.
95175         * modules/obstack (Makefile.am): Likewise.
95176         * modules/openat (Makefile.am): Likewise.
95177         * modules/pagealign_alloc (Makefile.am): Likewise.
95178         * modules/pathmax (Makefile.am): Likewise.
95179         * modules/physmem (Makefile.am): Likewise.
95180         * modules/poll (Makefile.am): Likewise.
95181         * modules/posixtm (Makefile.am): Likewise.
95182         * modules/posixver (Makefile.am): Likewise.
95183         * modules/putenv (Makefile.am): Likewise.
95184         * modules/quote (Makefile.am): Likewise.
95185         * modules/quotearg (Makefile.am): Likewise.
95186         * modules/raise (Makefile.am): Likewise.
95187         * modules/read-file (Makefile.am): Likewise.
95188         * modules/readline (Makefile.am): Likewise.
95189         * modules/readlink (Makefile.am): Likewise.
95190         * modules/readtokens (Makefile.am): Likewise.
95191         * modules/readutmp (Makefile.am): Likewise.
95192         * modules/realloc (Makefile.am): Likewise.
95193         * modules/regex (Makefile.am): Likewise.
95194         * modules/rename-dest-slash (Makefile.am): Likewise.
95195         * modules/rename (Makefile.am): Likewise.
95196         * modules/rijndael (Makefile.am): Likewise.
95197         * modules/rmdir (Makefile.am): Likewise.
95198         * modules/rpmatch (Makefile.am): Likewise.
95199         * modules/safe-read (Makefile.am): Likewise.
95200         * modules/safe-write (Makefile.am): Likewise.
95201         * modules/same-inode (Makefile.am): Likewise.
95202         * modules/same (Makefile.am): Likewise.
95203         * modules/save-cwd (Makefile.am): Likewise.
95204         * modules/savedir (Makefile.am): Likewise.
95205         * modules/setenv (Makefile.am): Likewise.
95206         * modules/settime (Makefile.am): Likewise.
95207         * modules/sha1 (Makefile.am): Likewise.
95208         * modules/sig2str (Makefile.am): Likewise.
95209         * modules/snprintf (Makefile.am): Likewise.
95210         * modules/stat-macros (Makefile.am): Likewise.
95211         * modules/stat-time (Makefile.am): Likewise.
95212         * modules/stdbool (Makefile.am): Likewise.
95213         * modules/stdint (Makefile.am): Likewise.
95214         * modules/stdlib-safer (Makefile.am): Likewise.
95215         * modules/stpcpy (Makefile.am): Likewise.
95216         * modules/stpncpy (Makefile.am): Likewise.
95217         * modules/strcase (Makefile.am): Likewise.
95218         * modules/strcasestr (Makefile.am): Likewise.
95219         * modules/strchrnul (Makefile.am): Likewise.
95220         * modules/strcspn (Makefile.am): Likewise.
95221         * modules/strdup (Makefile.am): Likewise.
95222         * modules/strerror (Makefile.am): Likewise.
95223         * modules/strftime (Makefile.am): Likewise.
95224         * modules/strndup (Makefile.am): Likewise.
95225         * modules/strnlen (Makefile.am): Likewise.
95226         * modules/strpbrk (Makefile.am): Likewise.
95227         * modules/strsep (Makefile.am): Likewise.
95228         * modules/strstr (Makefile.am): Likewise.
95229         * modules/strtod (Makefile.am): Likewise.
95230         * modules/strtoimax (Makefile.am): Likewise.
95231         * modules/strtok_r (Makefile.am): Likewise.
95232         * modules/strtol (Makefile.am): Likewise.
95233         * modules/strtoll (Makefile.am): Likewise.
95234         * modules/strtoul (Makefile.am): Likewise.
95235         * modules/strtoull (Makefile.am): Likewise.
95236         * modules/strtoumax (Makefile.am): Likewise.
95237         * modules/strverscmp (Makefile.am): Likewise.
95238         * modules/sys_socket (Makefile.am): Likewise.
95239         * modules/sys_stat (Makefile.am): Likewise.
95240         * modules/sysexits (Makefile.am): Likewise.
95241         * modules/time_r (Makefile.am): Likewise.
95242         * modules/timegm (Makefile.am): Likewise.
95243         * modules/timespec (Makefile.am): Likewise.
95244         * modules/tmpfile-safer (Makefile.am): Likewise.
95245         * modules/trim (Makefile.am): Likewise.
95246         * modules/unistd-safer (Makefile.am): Likewise.
95247         * modules/unlinkdir (Makefile.am): Likewise.
95248         * modules/unlocked-io (Makefile.am): Likewise.
95249         * modules/userspec (Makefile.am): Likewise.
95250         * modules/utime (Makefile.am): Likewise.
95251         * modules/utimecmp (Makefile.am): Likewise.
95252         * modules/utimens (Makefile.am): Likewise.
95253         * modules/vasnprintf (Makefile.am): Likewise.
95254         * modules/vasprintf (Makefile.am): Likewise.
95255         * modules/vsnprintf (Makefile.am): Likewise.
95256         * modules/xalloc (Makefile.am): Likewise.
95257         * modules/xgetcwd (Makefile.am): Likewise.
95258         * modules/xnanosleep (Makefile.am): Likewise.
95259         * modules/xreadlink (Makefile.am): Likewise.
95260         * modules/xstrtod (Makefile.am): Likewise.
95261         * modules/xstrtol (Makefile.am): Likewise.
95262         * modules/xstrtold (Makefile.am): Likewise.
95263         * modules/yesno (Makefile.am): Likewise.
95264         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
95266 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95268         * modules/error (Makefile.am): Distribute files through
95269         EXTRA_DIST, not lib_SOURCES.
95271 2006-10-12  Eric Blake  <ebb9@byu.net>
95273         * modules/error (Makefile.am): Distribute files in /lib.
95274         * modules/obstack (Makefile.am): Likewise.
95276 2006-10-12  Bruno Haible  <bruno@clisp.org>
95278         * modules/acl (Makefile.am): Distribute all files in lib/ through
95279         EXTRA_DIST.
95280         * modules/arcfour (Makefile.am): Likewise.
95281         * modules/arctwo (Makefile.am): Likewise.
95282         * modules/argmatch (Makefile.am): Likewise.
95283         * modules/argz (Makefile.am): Likewise.
95284         * modules/atexit (Makefile.am): Likewise.
95285         * modules/backupfile (Makefile.am): Likewise.
95286         * modules/c-strtod (Makefile.am): Likewise.
95287         * modules/c-strtold (Makefile.am): Likewise.
95288         * modules/calloc (Makefile.am): Likewise.
95289         * modules/canon-host (Makefile.am): Likewise.
95290         * modules/canonicalize (Makefile.am): Likewise.
95291         * modules/chdir-long (Makefile.am): Likewise.
95292         * modules/chdir-safer (Makefile.am): Likewise.
95293         * modules/check-version (Makefile.am): Likewise.
95294         * modules/chown (Makefile.am): Likewise.
95295         * modules/cloexec (Makefile.am): Likewise.
95296         * modules/close-stream (Makefile.am): Likewise.
95297         * modules/closeout (Makefile.am): Likewise.
95298         * modules/crc (Makefile.am): Likewise.
95299         * modules/cycle-check (Makefile.am): Likewise.
95300         * modules/des (Makefile.am): Likewise.
95301         * modules/dirfd (Makefile.am): Likewise.
95302         * modules/dirname (Makefile.am): Likewise.
95303         * modules/dup2 (Makefile.am): Likewise.
95304         * modules/euidaccess (Makefile.am): Likewise.
95305         * modules/exclude (Makefile.am): Likewise.
95306         * modules/exitfail (Makefile.am): Likewise.
95307         * modules/fcntl-safer (Makefile.am): Likewise.
95308         * modules/file-type (Makefile.am): Likewise.
95309         * modules/fileblocks (Makefile.am): Likewise.
95310         * modules/filemode (Makefile.am): Likewise.
95311         * modules/filenamecat (Makefile.am): Likewise.
95312         * modules/fnmatch (Makefile.am): Likewise.
95313         * modules/fopen-safer (Makefile.am): Likewise.
95314         * modules/fpending (Makefile.am): Likewise.
95315         * modules/fprintftime (Makefile.am): Likewise.
95316         * modules/free (Makefile.am): Likewise.
95317         * modules/fsusage (Makefile.am): Likewise.
95318         * modules/ftruncate (Makefile.am): Likewise.
95319         * modules/fts (Makefile.am): Likewise.
95320         * modules/gc (Makefile.am): Likewise.
95321         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
95322         * modules/getaddrinfo (Makefile.am): Likewise.
95323         * modules/getcwd (Makefile.am): Likewise.
95324         * modules/getdelim (Makefile.am): Likewise.
95325         * modules/getdomainname (Makefile.am): Likewise.
95326         * modules/getgroups (Makefile.am): Likewise.
95327         * modules/gethostname (Makefile.am): Likewise.
95328         * modules/gethrxtime (Makefile.am): Likewise.
95329         * modules/getline (Makefile.am): Likewise.
95330         * modules/getloadavg (Makefile.am): Likewise.
95331         * modules/getlogin_r (Makefile.am): Likewise.
95332         * modules/getopt (Makefile.am): Likewise.
95333         * modules/getpass (Makefile.am): Likewise.
95334         * modules/getpass-gnu (Makefile.am): Likewise.
95335         * modules/getsubopt (Makefile.am): Likewise.
95336         * modules/gettime (Makefile.am): Likewise.
95337         * modules/gettimeofday (Makefile.am): Likewise.
95338         * modules/getugroups (Makefile.am): Likewise.
95339         * modules/getusershell (Makefile.am): Likewise.
95340         * modules/glob (Makefile.am): Likewise.
95341         * modules/group-member (Makefile.am): Likewise.
95342         * modules/hard-locale (Makefile.am): Likewise.
95343         * modules/hash (Makefile.am): Likewise.
95344         * modules/hmac-md5 (Makefile.am): Likewise.
95345         * modules/hmac-sha1 (Makefile.am): Likewise.
95346         * modules/human (Makefile.am): Likewise.
95347         * modules/idcache (Makefile.am): Likewise.
95348         * modules/imaxabs (Makefile.am): Likewise.
95349         * modules/imaxdiv (Makefile.am): Likewise.
95350         * modules/inet_ntop (Makefile.am): Likewise.
95351         * modules/inet_pton (Makefile.am): Likewise.
95352         * modules/inttostr (Makefile.am): Likewise.
95353         * modules/isapipe (Makefile.am): Likewise.
95354         * modules/lchown (Makefile.am): Likewise.
95355         * modules/long-options (Makefile.am): Likewise.
95356         * modules/lstat (Makefile.am): Likewise.
95357         * modules/malloc (Makefile.am): Likewise.
95358         * modules/mathl (Makefile.am): Likewise.
95359         * modules/mbchar (Makefile.am): Likewise.
95360         * modules/md2 (Makefile.am): Likewise.
95361         * modules/md4 (Makefile.am): Likewise.
95362         * modules/md5 (Makefile.am): Likewise.
95363         * modules/memcasecmp (Makefile.am): Likewise.
95364         * modules/memchr (Makefile.am): Likewise.
95365         * modules/memcmp (Makefile.am): Likewise.
95366         * modules/memcoll (Makefile.am): Likewise.
95367         * modules/memcpy (Makefile.am): Likewise.
95368         * modules/memmem (Makefile.am): Likewise.
95369         * modules/memmove (Makefile.am): Likewise.
95370         * modules/mempcpy (Makefile.am): Likewise.
95371         * modules/memrchr (Makefile.am): Likewise.
95372         * modules/memset (Makefile.am): Likewise.
95373         * modules/memxor (Makefile.am): Likewise.
95374         * modules/mkancesdirs (Makefile.am): Likewise.
95375         * modules/mkdir (Makefile.am): Likewise.
95376         * modules/mkdir-p (Makefile.am): Likewise.
95377         * modules/mkdtemp (Makefile.am): Likewise.
95378         * modules/mkstemp (Makefile.am): Likewise.
95379         * modules/mktime (Makefile.am): Likewise.
95380         * modules/modechange (Makefile.am): Likewise.
95381         * modules/mountlist (Makefile.am): Likewise.
95382         * modules/nanosleep (Makefile.am): Likewise.
95383         * modules/openat (Makefile.am): Likewise.
95384         * modules/pagealign_alloc (Makefile.am): Likewise.
95385         * modules/physmem (Makefile.am): Likewise.
95386         * modules/poll (Makefile.am): Likewise.
95387         * modules/posixtm (Makefile.am): Likewise.
95388         * modules/posixver (Makefile.am): Likewise.
95389         * modules/putenv (Makefile.am): Likewise.
95390         * modules/quote (Makefile.am): Likewise.
95391         * modules/quotearg (Makefile.am): Likewise.
95392         * modules/raise (Makefile.am): Likewise.
95393         * modules/read-file (Makefile.am): Likewise.
95394         * modules/readline (Makefile.am): Likewise.
95395         * modules/readlink (Makefile.am): Likewise.
95396         * modules/readtokens (Makefile.am): Likewise.
95397         * modules/readutmp (Makefile.am): Likewise.
95398         * modules/realloc (Makefile.am): Likewise.
95399         * modules/regex (Makefile.am): Likewise.
95400         * modules/rename (Makefile.am): Likewise.
95401         * modules/rename-dest-slash (Makefile.am): Likewise.
95402         * modules/rijndael (Makefile.am): Likewise.
95403         * modules/rmdir (Makefile.am): Likewise.
95404         * modules/rpmatch (Makefile.am): Likewise.
95405         * modules/safe-read (Makefile.am): Likewise.
95406         * modules/safe-write (Makefile.am): Likewise.
95407         * modules/same (Makefile.am): Likewise.
95408         * modules/save-cwd (Makefile.am): Likewise.
95409         * modules/savedir (Makefile.am): Likewise.
95410         * modules/setenv (Makefile.am): Likewise.
95411         * modules/settime (Makefile.am): Likewise.
95412         * modules/sha1 (Makefile.am): Likewise.
95413         * modules/sig2str (Makefile.am): Likewise.
95414         * modules/snprintf (Makefile.am): Likewise.
95415         * modules/stdlib-safer (Makefile.am): Likewise.
95416         * modules/stpcpy (Makefile.am): Likewise.
95417         * modules/stpncpy (Makefile.am): Likewise.
95418         * modules/strcase (Makefile.am): Likewise.
95419         * modules/strcasestr (Makefile.am): Likewise.
95420         * modules/strchrnul (Makefile.am): Likewise.
95421         * modules/strcspn (Makefile.am): Likewise.
95422         * modules/strdup (Makefile.am): Likewise.
95423         * modules/strerror (Makefile.am): Likewise.
95424         * modules/strftime (Makefile.am): Likewise.
95425         * modules/strndup (Makefile.am): Likewise.
95426         * modules/strnlen (Makefile.am): Likewise.
95427         * modules/strpbrk (Makefile.am): Likewise.
95428         * modules/strsep (Makefile.am): Likewise.
95429         * modules/strstr (Makefile.am): Likewise.
95430         * modules/strtod (Makefile.am): Likewise.
95431         * modules/strtoimax (Makefile.am): Likewise.
95432         * modules/strtok_r (Makefile.am): Likewise.
95433         * modules/strtol (Makefile.am): Likewise.
95434         * modules/strtoll (Makefile.am): Likewise.
95435         * modules/strtoul (Makefile.am): Likewise.
95436         * modules/strtoull (Makefile.am): Likewise.
95437         * modules/strtoumax (Makefile.am): Likewise.
95438         * modules/strverscmp (Makefile.am): Likewise.
95439         * modules/time_r (Makefile.am): Likewise.
95440         * modules/timegm (Makefile.am): Likewise.
95441         * modules/tmpfile-safer (Makefile.am): Likewise.
95442         * modules/unistd-safer (Makefile.am): Likewise.
95443         * modules/unlinkdir (Makefile.am): Likewise.
95444         * modules/userspec (Makefile.am): Likewise.
95445         * modules/utime (Makefile.am): Likewise.
95446         * modules/utimecmp (Makefile.am): Likewise.
95447         * modules/utimens (Makefile.am): Likewise.
95448         * modules/vasnprintf (Makefile.am): Likewise.
95449         * modules/vasprintf (Makefile.am): Likewise.
95450         * modules/vsnprintf (Makefile.am): Likewise.
95451         * modules/xalloc (Makefile.am): Likewise.
95452         * modules/xgetcwd (Makefile.am): Likewise.
95453         * modules/xnanosleep (Makefile.am): Likewise.
95454         * modules/xreadlink (Makefile.am): Likewise.
95455         * modules/xstrtod (Makefile.am): Likewise.
95456         * modules/xstrtol (Makefile.am): Likewise.
95457         * modules/xstrtold (Makefile.am): Likewise.
95458         * modules/yesno (Makefile.am): Likewise.
95460 2006-10-12  Jim Meyering  <jim@meyering.net>
95462         * m4/getloadavg.m4: Revert the change below.
95464         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
95465         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
95466         fail with a symlink, which is what coreutils' ./bootstrap now
95467         creates by default.
95469 2006-10-12  Bruno Haible  <bruno@clisp.org>
95471         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
95472         mingw.
95473         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
95474         MSVC and mingw explicitly.
95476 2006-10-11  Simon Josefsson  <jas@extundo.com>
95477             Bruno Haible  <bruno@clisp.org>
95479         Add support for multiple gnulib-tool invocations in the scope of a
95480         single configure.ac file.
95481         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
95482         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
95483         with the same contents as the _LIBADD variable.
95484         (func_emit_initmacro_start, func_emit_initmacro_end,
95485         func_emit_initmacro_done): New functions.
95486         (func_import, func_create_testdir): Invoke them. Allow the identifiers
95487         gl_LIBOBJS and gl_LTLIBOBJS.
95489 2006-10-11  Bruno Haible  <bruno@clisp.org>
95491         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
95492         (func_create_testdir): Don't create po/Makefile.am, don't invoke
95493         autoreconf. Instead, invoke autopoint explicitly but move back the
95494         *.m4 files from gnulib.
95496 2006-10-11  Bruno Haible  <bruno@clisp.org>
95498         * gnulib-tool (func_usage): Make module names after --create-testdir
95499         optional.
95500         (func_create_testdir): If no module was specified, use nearly all
95501         modules.
95503 2006-10-12  Jim Meyering  <jim@meyering.net>
95505         Big performance improvement for fts-based tools that use FTS_NOSTAT.
95506         Avoid spurious inode-mismatch problems on non-POSIX file systems.
95507         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
95508         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
95509         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
95510         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
95511         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
95512         (fts_set_stat_required): New function.
95513         (fts_open): Defer the calls to fts_stat, if possible or requested.
95514         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
95515         into fts_stat itself.
95516         (fts_read): Perform any required (deferred) fts_stat call.
95517         (fts_build): Likewise, for the directory we're about to open and read.
95518         In the readdir loop, carefully decide whether each entry will require
95519         an eventual call to fts_stat, using dirent.d_type info if available.
95520         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
95521         a command line argument into this function.  Update all callers.
95522         Map a return value of FTS_DOT to FTS_D for a command line argument.
95523         * modules/fts (Depends-on): Add d-type.  Alphabetize.
95524         Thanks to Miklos Szeredi for his tenacity and for the initial
95525         bug report about "find" failing on a FUSE-based file system.
95527         * lib/fts.c (fts_open): Use consistent indentation.
95529 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
95531         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
95532         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
95533         reported by Jim Meyering.  All uses of cache variables renamed
95534         to match Autoconf's.
95535         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
95536         the other one.
95538         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
95539         Fix misspelling in diagnostic.
95541 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95543         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
95544         defined.  Problem reported by Matthew Woehlke.
95546         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
95547         Add support for Tandem NonStop R series.
95548         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
95549         Use new macro.
95551         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
95552         (has_trailing_slash): Omit size arg; all callers changed.
95553         Omit 'inline', since it doesn't help performance and we'd
95554         need to configure it.
95555         Don't count //, ///, etc. as having a trailing slash.
95556         As a side effect, this removes a C99ism reported by Matthew Woehlke.
95557         (rpl_rename_dest_slash): On failure, use rename's errno rather
95558         than (in some cases) an incorrect or junk errno.
95559         Simplify code by removing need to compute length; this does
95560         cause it to make two passes instead of one over the file name,
95561         but it's worth it.
95563         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
95564         change, since Autoconf's version may no longer be appropriate now
95565         that we are using CVS Autoconf's version.  Add support for Tandem.
95567 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
95568             Bruno Haible  <bruno@clisp.org>
95570         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
95571         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
95572         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
95573         gl_AC_TYPE_LONG_LONG.
95575         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
95576         instead of HAVE_LONG_LONG.
95577         * lib/printf-args.c (printf_fetchargs): Likewise.
95578         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
95579         * lib/vasnprintf.c (VASNPRINTF): Likewise.
95580         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
95581         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
95582         gl_AC_TYPE_LONG_LONG.
95584 2006-10-11  Bruno Haible  <bruno@clisp.org>
95586         * m4/longlong.m4: Add comments.
95587         * m4/ulonglong.m4: Likewise.
95589 2006-10-10  Bruno Haible  <bruno@clisp.org>
95591         Make it possible to #define stpcpy, strdup to aliases.
95592         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
95593         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
95595 2006-10-10  Bruno Haible  <bruno@clisp.org>
95597         Make it possible to #define gcd to an alias.
95598         * lib/gcd.c: Include config.h.
95600 2006-10-10  Bruno Haible  <bruno@clisp.org>
95602         Make it possible to #define c_isascii to an alias.
95603         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
95604         defined. Undefine the macros before defining them, to avoid gcc
95605         warnings.
95606         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
95607         define NO_C_CTYPE_MACROS early.
95609 2006-10-10  Bruno Haible  <bruno@clisp.org>
95611         Make it possible to #define set_program_name to an alias.
95612         * lib/progname.c: Don't undefine set_program_name; instead, undefine
95613         ENABLE_RELOCATABLE early.
95615 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
95617         Port to Tandem NSK OSS, which has 64-bit signed int but at most
95618         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
95619         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
95620         More generally, don't assume that 64-bit signed int is available
95621         if unsigned int is, and vice versa.
95622         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
95623         unsigned symbols, not on their signed counterparts.
95624         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
95625         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
95626         (UINT64_C, UINTMAX_C):
95627         Likewise.
95628         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
95629         unsigned counterparts.
95630         (Have_long_long, Unsigned): New macros.
95631         (Int): Renamed from INT.
95632         (strtoimax): Use the new macros.
95633         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
95634         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
95635         * modules/inttypes (inttypes.h): Substitute
95636         HAVE_UNSIGNED_LONG_LONG_INT.
95637         * modules/stdint (stdint.h): Likewise.
95638         (Files): Add m4/ulonglong.m4.
95640 2006-10-10  Bruno Haible  <bruno@clisp.org>
95642         Fix a gcc -Wshadow warning.
95643         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
95644         to 'bucket'.
95645         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
95646         gl_linked_indexof_from_to): Likewise.
95647         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
95648         Likewise.
95649         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
95650         Likewise.
95651         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
95652         Reported by Eric Blake.
95654 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
95656         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
95657         for NetBSD.  Problem reported by Bruno Haible.
95659 2006-10-09  Jim Meyering  <jim@meyering.net>
95661         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
95662         Patch from Bruno Haible.
95664 2006-10-09  Jim Meyering  <jim@meyering.net>
95666         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
95667         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
95668         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
95670 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
95672         Don't include <config.h> twice; this doesn't work in some cases,
95673         e.g., when config.h has "#define intmax_t long long int" and
95674         we include <config.h>, <inttypes.h>, <config.h> in that order.
95675         Problem reported by Matthew Woehlke in:
95676         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
95677         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
95678         * lib/fts-cycle.c: Don't include config.h.
95679         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
95680         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
95681         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
95682         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
95683         inttypes.h.
95684         * lib/xstrtoumax.c: Likewise.
95685         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
95686         __strtol and the like, so that this module is more like its siblings.
95687         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
95688         Remove; no longer needed now that we assume gnulib inttypes.h.
95690 2006-10-08  Bruno Haible  <bruno@clisp.org>
95692         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
95693         option.
95695 2006-10-07  Jim Meyering  <jim@meyering.net>
95697         * modules/inttypes (inttypes.h): Revert what seems to have been
95698         an inadvertent part of today's change: use "|", not "/" in the
95699         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
95701 2006-10-07  Bruno Haible  <bruno@clisp.org>
95703         * modules/sublist: New file.
95705 2006-10-07  Bruno Haible  <bruno@clisp.org>
95707         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
95708         * modules/argz (argz.h): Likewise.
95709         * modules/arpa_inet (arpa/inet.h): Likewise.
95710         * modules/byteswap (byteswap.h): Likewise.
95711         * modules/configmake (configmake.h): Likewise.
95712         * modules/fcntl (fcntl.h): Likewise.
95713         * modules/fnmatch (fnmatch.h): Likewise.
95714         * modules/getopt (getopt.h): Likewise.
95715         * modules/glob (glob.h): Likewise.
95716         * modules/inttypes (inttypes.h): Likewise.
95717         * modules/netinet_in (netinet/in.h): Likewise.
95718         * modules/poll (poll.h): Likewise.
95719         * modules/stdbool (stdbool.h): Likewise.
95720         * modules/stdint (stdint.h): Likewise.
95721         * modules/sys_select (sys/select.h): Likewise.
95722         * modules/sys_socket (sys/socket.h): Likewise.
95723         * modules/sys_stat (sys/stat.h): Likewise.
95724         * modules/sysexits (sysexits.h): Likewise.
95725         * modules/unistd (unistd.h): Likewise.
95726         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
95727         Add a "DO NOT EDIT" comment to the generated file.
95728         (func_import): Likewise for gnulib-comp.m4.
95730 2006-10-07  Bruno Haible  <bruno@clisp.org>
95732         * lib/gl_sublist.h: New file.
95733         * lib/gl_sublist.c: New file.
95735 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
95737         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
95738         name (relative to the original working directory) and the file
95739         name component (relative to the temporary working directory).  All
95740         callers changed.
95741         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
95742         * lib/mkdir-p.c (make_dir_parents): Likewise.
95743         * lib/mkdir-p.h (make_dir_parents): Likewise.
95745 2006-10-06  Eric Blake  <ebb9@byu.net>
95747         Define several macros for use by the clean-temp module.
95748         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
95749         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
95750         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
95752         * lib/clean-temp.h (close_stream_temp): New declaration.
95753         * lib/clean-temp.c (includes): Pull in headers according to what
95754         other modules are in use.
95755         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
95757 2006-10-06  Bruno Haible  <bruno@clisp.org>
95759         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
95760         instead of fopen, fwriteerror.
95762 2006-10-06  Bruno Haible  <bruno@clisp.org>
95764         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
95765         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
95766         int.
95767         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
95768         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
95769         Return an error indicator.
95770         Suggested by Eric Blake.
95772 2006-10-06  Bruno Haible  <bruno@clisp.org>
95774         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
95775         Reported by Eric Blake.
95777 2006-10-06  Bruno Haible  <bruno@clisp.org>
95779         * modules/closeout (Description): Mention stderr too.
95781 2006-10-06  Bruno Haible  <bruno@clisp.org>
95782         and Paul Eggert  <eggert@cs.ucla.edu>
95784         * lib/closeout.c (close_stdout): Also close stderr.
95785         * lib/closeout.h: Update comment.
95787 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
95789         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
95790         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
95791         * lib/dirchownmod.c: Include lchown.h.
95792         * lib/lchown.c: Don't include files that lchown.h now includes.
95793         Don't declare chown, since lchown.h now does that.
95794         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
95795         (lchown): Define to rpl_chown if lchown is declared but
95796         does not exist.  Declare using a prototype if lchown is not
95797         declared.  Add a copyright notice.
95798         * lib/mkstemp.h: Include <unistd.h>.
95799         * lib/openat.c: Include lchown.h.
95801         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
95802         we now test for that separately.
95803         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
95804         rather than O_NOFOLLOW, when testing whether it's possible to
95805         avoid a race condition reliably.
95806         * lib/savewd.c (savewd_chdir): Likewise.
95808         Remove macros that are no longer needed now that stdint.h is
95809         reliable.
95810         * lib/fsusage.c (UINTMAX_MAX): Remove.
95811         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
95812         * lib/utimecmp.c (SIZE_MAX): Remove.
95814         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
95816         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
95817         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
95818         O_NOATIME works.
95820 2006-10-05  Bruno Haible  <bruno@clisp.org>
95822         * lib/gl_list.h (gl_sortedlist_search_from_to,
95823         gl_sortedlist_indexof_from_to): New declarations.
95824         (gl_list_implementation): New fields sortedlist_search_from_to,
95825         sortedlist_indexof_from_to.
95826         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
95827         inline functions.
95828         * lib/gl_list.c (gl_sortedlist_search_from_to,
95829         gl_sortedlist_indexof_from_to): New functions.
95830         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
95831         function.
95832         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
95833         (gl_array_sortedlist_search_from_to): New function.
95834         (gl_array_list_implementation): Update.
95835         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
95836         function.
95837         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
95838         (gl_carray_sortedlist_search_from_to): New function.
95839         (gl_carray_list_implementation): Update.
95840         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
95841         gl_linked_sortedlist_indexof_from_to): New functions.
95842         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95843         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95844         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
95845         gl_tree_sortedlist_indexof_from_to): New functions.
95846         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95847         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95848         Update.
95849         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95850         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
95851         Update.
95853 2006-10-05  Bruno Haible  <bruno@clisp.org>
95855         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
95856         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
95857         (struct gl_list_implementation): Add fields search_from_to,
95858         indexof_from_to. Remove fields search, indexof.
95859         (gl_list_search): Use the search_from_to method.
95860         (gl_list_search_from, gl_list_search_from_to): New functions.
95861         (gl_list_indexof): Use the indexof_from_to method.
95862         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95863         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
95864         (gl_list_search_from, gl_list_search_from_to): New functions.
95865         (gl_list_indexof): Use the indexof_from_to method.
95866         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
95867         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
95868         gl_array_indexof. Add start_index, end_index arguments.
95869         (gl_array_search_from_to): Renamed from gl_array_search. Add
95870         start_index, end_index arguments.
95871         (gl_array_remove, gl_array_list_implementation): Update.
95872         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
95873         gl_carray_indexof. Add start_index, end_index arguments.
95874         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
95875         start_index, end_index arguments.
95876         (gl_carray_remove, gl_carray_list_implementation): Update.
95877         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
95878         gl_linked_search. Add start_index, end_index arguments.
95879         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
95880         start_index, end_index arguments.
95881         (gl_linked_remove): Update.
95882         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
95883         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
95884         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
95885         field to 'size_t'.
95886         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
95887         gl_tree_search. Add start_index, end_index arguments.
95888         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95889         start_index, end_index arguments.
95890         (gl_tree_remove): Update.
95891         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
95892         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
95893         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
95894         function.
95895         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
95896         gl_tree_search. Add start_index, end_index arguments.
95897         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
95898         start_index, end_index arguments.
95899         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
95900         Update.
95901         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
95903 2006-10-05  Bruno Haible  <bruno@clisp.org>
95905         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
95907         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
95908         fwriteerror_temp): New declarations.
95909         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
95910         (descriptors): New variable.
95911         (cleanup): First, close the descriptors.
95912         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
95913         fclose_temp, fwriteerror_temp): New functions.
95915 2006-10-04  Jim Meyering  <jim@meyering.net>
95917         * lib/fts.c (fts_open): Tiny comment change.
95919 2006-10-04  Bruno Haible  <bruno@clisp.org>
95921         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
95922         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
95923         gl_LOCK_BODY.
95924         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
95925         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
95926         gl_LOCK_EARLY_BODY.
95927         (gl_LOCK): Require gl_LOCK_BODY.
95929 2006-10-04  Bruno Haible  <bruno@clisp.org>
95931         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
95932         (gl_oset_search_atleast): New declaration.
95933         (struct gl_oset_implementation): Add field 'search_atleast'.
95934         (gl_oset_search_atleast): New inline function.
95935         * lib/gl_oset.c (gl_oset_search_atleast): New function.
95936         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
95937         (gl_array_oset_implementation): Update.
95938         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
95939         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
95940         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
95942 2006-10-04  Bruno Haible  <bruno@clisp.org>
95944         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
95946 2006-10-03  Bruno Haible  <bruno@clisp.org>
95948         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
95949         from gl_avltreehash_list_implementation.
95951 2006-10-03  Bruno Haible  <bruno@clisp.org>
95953         * lib/gl_oset.c (gl_oset_add): Fix return type.
95955 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
95957         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
95959 2006-10-02  Eric Blake  <ebb9@byu.net>
95961         * modules/strnlen (Depends-on): Add extensions.
95963 2006-10-02  Eric Blake  <ebb9@byu.net>
95965         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
95966         definition in 2.60+.
95968 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
95970         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
95971         checks.
95973 2006-10-02  Bruno Haible  <bruno@clisp.org>
95975         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
95976         to the AUTOMAKE_OPTIONS.
95977         Reported by Jim Meyering.
95979 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
95981         Work around bug in Solaris 10 /proc file system:
95982         /proc/self/fd/NNN/.. isn't the parent directory of
95983         the directory whose file descriptor is NNN.  This needs to
95984         be worked around at run time, not compile time, since a
95985         program might be built on Solaris 8, where things work, and
95986         run on Solaris 10.
95987         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
95988         to use the following interface instead:
95989         (OPENAT_BUFFER_SIZE): New macro.
95990         (openat_proc_name): New function.
95991         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
95992         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
95993         Likewise.
95994         * lib/openat-proc.c: New file.
95995         * modules/openat (Files): Add lib/openat-proc.c.
95996         (Depends-on): Add same-inode, stdbool.
95997         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
95999 2006-09-29  Bruno Haible  <bruno@clisp.org>
96001         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
96002         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
96003         argument. Set stdout_closed before testing for ferror, not after.
96004         (fwriteerror, fwriteerror_no_ebadf): New functions.
96006 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96008         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
96010 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
96012         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
96013         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
96015 2006-09-28  Jim Meyering  <jim@meyering.net>
96017         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
96018         Include <unistd.h>.
96020 2006-09-28  Bruno Haible  <bruno@clisp.org>
96022         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
96023         * modules/linkedhash-list (Depends-on): Likewise.
96024         * modules/rbtreehash-list (Depends-on): Likewise.
96026 2006-09-28  Bruno Haible  <bruno@clisp.org>
96028         * lib/strndup.h: Simplify the redefinition of strndup.
96029         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
96030         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
96032 2006-09-28  Bruno Haible  <bruno@clisp.org>
96034         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
96035         * lib/gl_linkedhash_list.c: Likewise.
96036         * lib/gl_rbtreehash_list.c: Likewise.
96038 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
96040         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
96041         getaddrinfo.
96043         * lib/__fpending.h: Don't include <stdio_ext.h> unless
96044         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
96045         it causes <stdio_ext.h> to cause a compile-time error.
96046         Problem reported by Nelson H. F. Beebe.
96047         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
96048         of HAVE_DECL___PENDING.
96050         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
96051         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
96052         declaration.
96054 2006-09-27  Jim Meyering  <jim@meyering.net>
96056         This file could end up with a definition for a function
96057         named __strndup, rather than rpl_strndup on a system with
96058         incomplete weak_alias support.
96059         * lib/strndup.c (strndup): Rename from __strndup.
96060         Remove #defines that used to map __strndup to strndup.
96061         Don't use K&R prototypes.
96062         Remove LIBC-related code, since this file is not sync'd with glibc.
96063         * lib/strndup.h: Revamp, accordingly.
96064         * m4/strndup.m4: Modernize.
96066 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
96068         * modules/savewd (Depends-on): Add 'raise'.
96069         * lib/savewd.c: Include <signal.h>, for 'raise'.
96071 2006-09-26  Jim Meyering  <jim@meyering.net>
96073         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
96074         when we detect Darwin 8.7.0's acl_get_file bug.
96075         Rearrange to perform the new (below) run-test while $LIBS
96076         contains any acl-related library.  Set USE_ACL at the end.
96077         (gl_ACL_GET_FILE): New function.
96079 2006-09-26  Eric Blake  <ebb9@byu.net>
96081         * lib/verror.c: Include <config.h> unconditionally.
96083 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
96085         * modules/clock-time (Maintainer): Add self.
96086         * modules/getlogin_r (Depends-on): Add extensions.
96088 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96090         * modules/clock-time: New module.
96091         * modules/nanosleep (Depends-on): Add clock-time.
96092         * modules/gethrxtime (Depends-on): Likewise.
96093         * modules/gettime (Depends-on): Likewise.
96094         * modules/settime (Depends-on): Likewise.
96096         * modules/fts-lgpl: Depend on openat.
96097         * modules/mkancesdirs: Depend on savewd.
96098         * modules/mkdir-p: Likewise.
96100 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96102         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
96104         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
96105         `gl_have_arbitrary_file_name_length_limit' to
96106         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
96107         actually works between configure runs.
96109 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96110             Bruno Haible  <bruno@clisp.org>
96112         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
96114 2006-09-25  Jim Meyering  <jim@meyering.net>
96116         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
96117         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
96119 2006-09-25  Eric Blake  <ebb9@byu.net>
96121         * gnulib-tool (func_import, func_create_testdir): Fix typos in
96122         exec's in 2006-09-18 patch when shuffling fds.
96124 2006-09-25  Bruno Haible  <bruno@clisp.org>
96126         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
96127         Reported by Jim Meyering.
96129 2006-09-24  Jim Meyering  <jim@meyering.net>
96131         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
96132         compare a pointer against a literal "0".  That caused failures with
96133         at least HP-UX's hpcc.
96135 2006-09-22  Simon Josefsson  <jas@extundo.com>
96137         * modules/gc-sha1:
96138         * modules/gc-md4:
96139         * modules/gc-hmac-sha1:
96140         * modules/gc-hmac-md5:
96141         * modules/gc-des:
96142         * modules/gc-arcfour: Distribute more files.
96144 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96146         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
96147         (gl_linked_iterator_from_to): Initialize struct completely.
96148         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
96149         (gl_tree_iterator_from_to): Likewise
96150         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
96151         * lib/gl_array_list.c [lint] (gl_array_iterator)
96152         (gl_array_iterator_from_to): Likewise.
96153         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
96154         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
96155         (gl_carray_iterator_from_to): Likewise.
96157         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
96158         * lib/md4.c (md4_process_block): Remove unused variable.
96159         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
96160         parentheses for clarity.
96162 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96164         * modules/bison-i18n (Depends-on): Add gettext.
96166 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96168         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
96169         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
96170         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
96171         also add missing comma that caused broken test.
96172         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
96173         stdlib.h, for `abort'.
96174         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
96175         variables.
96176         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
96177         include unistd.h if present, for `rmdir'.
96178         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
96179         variables.
96180         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
96181         in the process include standard headers for prototypes.
96182         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
96183         gets declared on GNU/Linux.
96184         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
96185         unistd.h, for `rmdir'.
96186         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
96188         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
96189         always true.
96190         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
96192         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
96194 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96196         * gnulib-tool (func_version): Create output all at once.  This
96197         may help avoid triggering unnecessary SIGPIPEs, and at any
96198         rate it doesn't hurt.
96200 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96201             Bruno Haible  <bruno@clisp.org>
96203         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
96204         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
96205         * m4/signed.m4 (bh_C_SIGNED): Likewise.
96207         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
96208         (gl_FUNC_VASPRINTF): Invoke it.
96210 2006-09-22  Bruno Haible  <bruno@clisp.org>
96212         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
96213         getloadavg.c as first argument.
96215 2006-09-22  Bruno Haible  <bruno@clisp.org>
96217         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
96218         at the beginning of the gl_INIT macro.
96219         * modules/getloadavg (configure.ac): Pass $gl_source_base to
96220         gl_GETLOADAVG.
96222 2006-09-22  Bruno Haible  <bruno@clisp.org>
96224         * gnulib-tool (func_create_megatestdir): Don't include the config-h
96225         module.
96226         Suggested by Ralf Wildenhues.
96228 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
96230         Import this patch from libc:
96232         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
96234         * lib/regex_internal.c (re_string_reconstruct): Handle
96235         offset < pstr->valid_raw_len && pstr->offsets_needed case.
96236         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
96237         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
96238         re_string_context_at.
96240         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
96241         now requires it.
96242         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
96243         gl_REGEX now does it for us.
96244         (gl_REGEX): Add test taken from
96245         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
96247         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
96248         Check that large offsets work.  Modernize Autoconf usages.
96249         Prefer "yes" to mean a good thing rather than a bad.
96250         Don't put "#define mkstemp" in config.h, as this might interfere
96251         with standard system headers that "#define mkstemp mkstemp64".
96253         * modules/mkstemp (Depends-on): Add extensions, so that
96254         mkstemp is visible on some platforms.
96255         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
96256         (Include): Change to "mkstemp.h" from <stdlib.h>.
96257         (Files): Add mkstemp.h.
96259         * lib/mkstemp.h: New file, since some standard headers
96260         #define mkstemp.
96261         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
96262         Include "mkstemp.h".
96263         Make the _LIBC code resemble glibc original more,
96264         e.g., use K&R style.
96265         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
96266         (mkstemp): Remove, since mkstemp.h does this for us.
96267         * lib/stdlib--.h: Include mkstemp.h.
96269         Import this patch from libc:
96271         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96273         * lib/tempname.c (__gen_tempname): Change attempts_min
96274         into a macro.  Use preprocessor to decide how to initialize
96275         attempts [Coverity CID 67].
96277 2006-09-20  Bruno Haible  <bruno@clisp.org>
96279         * lib/mkdtemp.c: Import from libc.
96280         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
96281                 * sysdeps/posix/tempname.c (__gen_tempname): Change
96282                 attempts_min into a macro.  Use preprocessor to decide how to
96283                 initialize attempts [Coverity CID 67].
96284         2001-11-27  Paul Eggert  <eggert@twinsun.com>
96285                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
96286                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
96288 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96290         * gnulib-tool (func_exit): New function, to allow to pass the
96291         exit status portably through the trap.  Use everywhere.
96292         (--help, --version): Signal a write error.
96293         (trap): catch SIGPIPE, for write errors.
96294         Exit at the end of the trap, with the correct exit status.
96296 2006-09-19  Karl Berry  <karl@gnu.org>
96298         * doc/gnulib.texi: note about the license texinfo files.
96300 2006-09-19  Eric Blake  <ebb9@byu.net>
96302         * gnulib-tool: Avoid space-tab.
96304 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96306         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
96307         that prevented coreutils 6.1 from building.  Problem reported
96308         by Petter Reinholdtsen.
96310 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
96312         * gnulib-tool (avoidlist): Fix typo that broke options like
96313         --avoid=lock that are used by coreutils bootstrap.
96315 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
96317         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
96318         more systematically.
96320 2006-09-18  Jim Meyering  <jim@meyering.net>
96322         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
96324 2006-09-18  Bruno Haible  <bruno@clisp.org>
96326         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
96328 2006-09-18  Bruno Haible  <bruno@clisp.org>
96330         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
96331         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
96332         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
96333         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
96334         * m4/gettext.m4: Require autoconf >= 2.52.
96335         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
96336         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
96337         of gl_cv_header_inttypes_h.
96339 2006-09-18  Bruno Haible  <bruno@clisp.org>
96341         * lib/javaversion.c: Include configmake.h.
96343 2006-09-18  Bruno Haible  <bruno@clisp.org>
96345         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
96346         avoid that the while loops be executed in a subshell.
96348 2006-09-18  Bruno Haible  <bruno@clisp.org>
96350         * MODULES.html.sh (func_module): Break long lines.
96351         Suggested by Bruce Korb <bkorb@gnu.org>.
96353 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96355         Speed up by a factor of 1.12.
96356         * gnulib-tool (nl): New variable.
96357         (func_import): Rewrite include directive extraction to only read each
96358         directive once.
96360 2006-09-17  Bruno Haible  <bruno@clisp.org>
96362         * modules/javaversion (Makefile.am): Remove DEFS setting.
96363         (Depends-on): Add configmake, for PKGDATADIR definition.
96365 2006-09-17  Bruno Haible  <bruno@clisp.org>
96367         * gnulib-tool (func_create_testdir): Rewrite all files at once.
96369 2006-09-17  Bruno Haible  <bruno@clisp.org>
96371         * gnulib-tool (func_append): New function, stolen from libtool.m4.
96372         (func_modules_transitive_closure, func_modules_add_dummy,
96373         func_modules_to_filelist, func_import, func_create_testdir,
96374         func_create_megatestdir, ...): Use it wherever possible.
96375         Suggested by Ralf Wildenhues.
96377 2006-09-16  Karl Berry  <karl@gnu.org>
96379         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
96380         to avoid sectioning errors.
96381         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
96382         [ifinfo]: blank line after @center-ed titles.
96383         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
96384         Spell FSF address consistently with others.
96385         (These changes approved by rms.)
96387 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96389         Speed up by a factor of 1.61.
96390         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
96391         already checked module names again.
96393 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96395         Speed up by a factor of 1.13.
96396         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
96397         for new_files, and the input to func_add_or_update.
96399 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96401         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
96402         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
96404 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96406         * modules/mkancesdirs (Depends-on): Add fcntl.
96407         * modules/savewd: New file.
96408         * MODULES.html.sh (File system functions): Add savewd.
96410         * modules/configmake (Makefile.am): Add support for the
96411         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
96413 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96415         * m4/savewd.m4: New file.
96417 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
96419         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
96420         (dirchownmod): New arg FD.  All callers changed.
96421         Use FD rather than opening the directory ourself, as opening is
96422         now the caller's responsibility.
96423         * lib/dirchownmod.h: Likewise.
96424         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
96425         hosts that require <sys/types.h> before <sys/stat.h>.  Include
96426         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
96427         (test_dir): Remove.
96428         (mkancesdirs): Return length of prefix of FILE that has already
96429         been made, or -2 if there is a child doing the work.  Redo
96430         algorithm so that it is O(N) rather than O(N**2).  Optimize away
96431         ".", and treat ".." specially since it might stray back into
96432         already-created areas.  Use a subprocess if necessary.  New arg
96433         WD; all users changed.  MAKE_DIR function should now return 1
96434         if it creates a directory that is not readable.  Return -2 if
96435         a child process is spun off.
96436         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
96437         Adjust signature to match code.
96438         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
96439         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
96440         all users changed.
96441         * lib/savewd.c, lib/savewd.h: New files.
96443 2006-09-15  Jim Meyering  <jim@meyering.net>
96445         * modules/rename-dest-slash: New module.
96446         * MODULES.html.sh (posix_compat): Add it here.
96448         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
96450 2006-09-15  Jim Meyering  <jim@meyering.net>
96452         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
96453         file.
96455         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
96457 2006-09-15  Jim Meyering  <jim@meyering.net>
96459         * lib/rename-dest-slash.c (has_trailing_slash): Use
96460         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
96461         (rpl_rename_dest_slash): Perform the cheaper trailing slash
96462         test before testing whether SRC is a directory.
96463         Suggestions from Bruno Haible.
96465         Avoid a warning about an unused variable.
96466         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
96467         into the #ifdef block where it's used.
96469         * lib/rename-dest-slash.c: New file.
96471 2006-09-14  Bruno Haible  <bruno@clisp.org>
96473         * lib/allocsa.c: Include <config.h> unconditionally.
96474         * lib/asnprintf.c: Likewise.
96475         * lib/asprintf.c: Likewise.
96476         * lib/c-strcasecmp.c: Likewise.
96477         * lib/c-strcasestr.c: Likewise.
96478         * lib/c-strncasecmp.c: Likewise.
96479         * lib/c-strstr.c: Likewise.
96480         * lib/classpath.c: Likewise.
96481         * lib/clean-temp.c: Likewise.
96482         * lib/concatpath.c: Likewise.
96483         * lib/copy-file.c: Likewise.
96484         * lib/csharpcomp.c: Likewise.
96485         * lib/csharpexec.c: Likewise.
96486         * lib/execute.c: Likewise.
96487         * lib/fatal-signal.c: Likewise.
96488         * lib/findprog.c: Likewise.
96489         * lib/fwriteerror.c: Likewise.
96490         * lib/gl_array_list.c: Likewise.
96491         * lib/gl_array_oset.c: Likewise.
96492         * lib/gl_avltree_list.c: Likewise.
96493         * lib/gl_avltree_oset.c: Likewise.
96494         * lib/gl_avltreehash_list.c: Likewise.
96495         * lib/gl_carray_list.c: Likewise.
96496         * lib/gl_linked_list.c: Likewise.
96497         * lib/gl_linkedhash_list.c: Likewise.
96498         * lib/gl_list.c: Likewise.
96499         * lib/gl_oset.c: Likewise.
96500         * lib/gl_rbtree_list.c: Likewise.
96501         * lib/gl_rbtree_oset.c: Likewise.
96502         * lib/gl_rbtreehash_list.c: Likewise.
96503         * lib/imaxabs.c: Likewise.
96504         * lib/imaxdiv.c: Likewise.
96505         * lib/javacomp.c: Likewise.
96506         * lib/javaexec.c: Likewise.
96507         * lib/javaversion.c: Likewise.
96508         * lib/linebreak.c: Likewise.
96509         * lib/localcharset.c: Likewise.
96510         * lib/lock.c: Likewise.
96511         * lib/mbchar.c: Likewise.
96512         * lib/mbswidth.c: Likewise.
96513         * lib/mkdtemp.c: Likewise.
96514         * lib/pipe.c: Likewise.
96515         * lib/printf-args.c: Likewise.
96516         * lib/printf-parse.c: Likewise.
96517         * lib/progname.c: Likewise.
96518         * lib/progreloc.c: Likewise.
96519         * lib/readlink.c: Likewise.
96520         * lib/sh-quote.c: Likewise.
96521         * lib/stpcpy.c: Likewise.
96522         * lib/stpncpy.c: Likewise.
96523         * lib/strcasecmp.c: Likewise.
96524         * lib/strcasestr.c: Likewise.
96525         * lib/strcspn.c: Likewise.
96526         * lib/striconv.c: Likewise.
96527         * lib/strncasecmp.c: Likewise.
96528         * lib/strnlen1.c: Likewise.
96529         * lib/strstr.c: Likewise.
96530         * lib/strtok_r.c: Likewise.
96531         * lib/tls.c: Likewise.
96532         * lib/tmpdir.c: Likewise.
96533         * lib/unicodeio.c: Likewise.
96534         * lib/unsetenv.c: Likewise.
96535         * lib/vasnprintf.c: Likewise.
96536         * lib/vasprintf.c: Likewise.
96537         * lib/wait-process.c: Likewise.
96538         * lib/xallocsa.c: Likewise.
96539         * lib/xsetenv.c: Likewise.
96540         * lib/xstriconv.c: Likewise.
96542 2006-09-13  Simon Josefsson  <jas@extundo.com>
96544         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
96545         that internally, suggested by Ralf Wildenhues
96546         <Ralf.Wildenhues@gmx.de>.
96548 2006-09-13  Simon Josefsson  <jas@extundo.com>
96550         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
96551         @LIBOBJS@.
96552         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96554 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
96556         * lib/_fpending.c: Include <config.h> unconditionally, since we no
96557         longer worry about uses that don't define HAVE_CONFIG_H.
96558         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
96559         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
96560         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
96561         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
96562         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
96563         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
96564         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
96565         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
96566         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
96567         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
96568         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
96569         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
96570         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
96571         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
96572         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
96573         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
96574         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
96575         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
96576         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
96577         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
96578         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
96579         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
96580         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
96581         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
96582         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
96583         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
96584         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
96585         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
96586         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
96587         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
96588         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
96589         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
96590         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
96591         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
96592         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
96593         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
96594         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
96595         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
96596         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
96597         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
96598         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
96599         Likewise.
96601 2006-09-13  Eric Blake  <ebb9@byu.net>
96603         * lib/getopt.c: Fix typo in last commit.
96605 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96607         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
96608         dgettext.
96610 2006-09-12  Jim Meyering  <jim@meyering.net>
96612         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
96613         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
96614         Reported by Nelson H. F. Beebe.
96616 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
96618         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
96619         program_invocation_name and program_invocation_short_name are
96620         initialized.
96621         * lib/argp-namefrob.h: Move declarations of program_invocation_name
96622         and program_invocation_short_name to argp.h, so they are visible
96623         to user programs.
96624         * lib/argp.h: Likewise
96626 2006-09-10  Bruno Haible  <bruno@clisp.org>
96628         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
96629         m4/inttypes_h.m4, m4/uintmax_t.m4.
96631 2006-09-10  Bruno Haible  <bruno@clisp.org>
96633         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
96634         gl_AC_TYPE_UINTMAX_T.
96636 2006-09-10  Bruno Haible  <bruno@clisp.org>
96638         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
96640 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
96642         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
96643         convention.  Text proposed by Bruno Haible.
96644         (struct argp_option): Document the use of N_() wrappers.
96646         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
96647         '\v', and translate the two parts separately, instead of feeding
96648         the whole string to gettext.  This allows to exclude
96649         '\v' from the strings visible to the translator by writing doc
96650         strings as N_("..") "\v" N_("..").
96652 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
96654         * config/srclist.txt: Undo latest change; the bug was fixed.
96656 2006-09-09  Bruno Haible  <bruno@clisp.org>
96658         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
96659         assignments if building a library without libtool.
96660         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
96661         in func_emit_lib_Makefile_am.
96662         (func_import): When building a static library libfoo.a, arrange to
96663         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
96664         (func_create_testdir): Likewise.
96665         * modules/gc (configure.ac, Makefile.am): If building statically,
96666         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
96667         * modules/iconvme (configure.ac, Makefile.am): Likewise.
96668         * modules/striconv (configure.ac, Makefile.am): Likewise.
96669         Based on a suggestion by Ralf Wildenhues.
96671 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96673         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
96674         Check for unistd.h too, since Autoconf doesn't assume POSIX.
96675         Also:
96677         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96678         Add year_2050_test to catch glibc bug 2821
96679         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96681         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
96682         Prefer #ifdef to #if.
96684         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
96685         Return from 'main' instead of calling 'exit'.
96687 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96689         * lib/mktime.c (guess_time_tm): Fix bug where mktime
96690         returned the maximum time_t value rather than (time_t) -1.
96691         Problem originally reported by William Bardwell
96692         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
96694         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96695         Moved to here ...
96696         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
96697         ... from here.
96699 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
96701         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
96702         2821 is fixed.
96704 2006-09-08  Jim Meyering  <jim@meyering.net>
96706         Don't make generated files read-only.  That would bother too many
96707         people.  However, do retain the ability to work when targets are
96708         read-only: remove the destination and temporary files before writing
96709         them (when generated via sed or echo), or by using the -f option for
96710         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
96711         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96712         * modules/byteswap, modules/configmake, modules/fcntl:
96713         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96714         * modules/localcharset, modules/netinet_in, modules/poll:
96715         * modules/stdbool, modules/stdint, modules/sys_select:
96716         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96718 2006-09-08  Jim Meyering  <jim@meyering.net>
96720         Avoid new build failure on FreeBSD 6.0.
96721         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
96722         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
96723         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
96725 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96727         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
96729 2006-09-07  Jim Meyering  <jim@meyering.net>
96731         Fix global typo in last change: use chmod u-w, not chmod u-x.
96732         Spotted by Paul Eggert and Bruce Korb.
96733         * modules/alloca-opt, modules/argz, modules/arpa_inet:
96734         * modules/byteswap, modules/configmake, modules/fcntl:
96735         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
96736         * modules/localcharset, modules/netinet_in, modules/poll:
96737         * modules/stdbool, modules/stdint, modules/sys_select:
96738         * modules/sys_socket, modules/sys_stat, modules/sysexits:
96740 2006-09-06  Jim Meyering  <jim@meyering.net>
96742         Make generated files be read-only.
96743         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
96744         Ensure that each generated file is now read-only.
96745         * modules/argz: Likewise.
96746         * modules/arpa_inet: Likewise.
96747         * modules/byteswap: Likewise.
96748         * modules/configmake: Likewise.
96749         * modules/fcntl: Likewise.
96750         * modules/fnmatch: Likewise.
96751         * modules/getopt: Likewise.
96752         * modules/glob: Likewise.
96753         * modules/inttypes: Likewise.
96754         * modules/netinet_in: Likewise.
96755         * modules/poll: Likewise.
96756         * modules/stdbool: Likewise.
96757         * modules/stdint: Likewise.
96758         * modules/sys_select: Likewise.
96759         * modules/sys_socket: Likewise.
96760         * modules/sys_stat: Likewise.
96761         * modules/sysexits: Likewise.
96762         * modules/localcharset: Same as above, but continue using temporary
96763         file named "t-$@" (why different?) rather than the "$@-t" used
96764         everywhere else.
96766         * modules/sysexits (Makefile.am): Replace literal occurrences
96767         of "sysexit.h" more readable, and more consistent, "$@".
96769 2006-09-06  Bruno Haible  <bruno@clisp.org>
96771         * modules/striconv: New file.
96772         * modules/xstriconv: New file.
96773         * MODULES.html.sh (Internationalization functions): Add striconv,
96774         xstriconv.
96776 2006-09-06  Bruno Haible  <bruno@clisp.org>
96778         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
96779         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
96780         not using libtool correctly.
96782 2006-09-06  Bruno Haible  <bruno@clisp.org>
96784         * lib/striconv.h: New file.
96785         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
96786         iconvstring.c.
96787         * lib/xstriconv.h: New file.
96788         * lib/xstriconv.c: New file.
96790 2006-09-06  Bruno Haible  <bruno@clisp.org>
96792         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
96793         lib_..._LDFLAGS.
96795 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96797         * lib/argz_.h: Sync from Libtool.
96799         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
96800                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
96802         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
96804 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96806         * modules/trim: New file.
96808 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
96810         * lib/trim.h: New file.
96811         * lib/trim.c: New file.
96813 2006-09-05  Bruno Haible  <bruno@clisp.org>
96815         * MODULES.html.sh (String handling): Add trim.
96817 2006-09-04  Karl Berry  <karl@gnu.org>
96819         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
96820         until next release.
96822 2006-09-03  Bruno Haible  <bruno@clisp.org>
96824         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
96825         correctly.
96827 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96829         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
96830         not gl_GETLOADAVG.  Omit unneeded semicolons.
96831         Problems reported by Ralf Wildenhues in
96832         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96833         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
96834         at the end, which is the usual gnulib style.
96836         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
96837         of doing all the work ourselves.
96838         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
96839         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
96841 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96843         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
96844         Problem reported by Ralf Wildenhues in
96845         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
96847         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
96848         HAVE_STRUCT_STATFS_F_FSTYPENAME.
96850 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
96852         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
96853         yesterday's patch by changing test -n to test -z.
96855 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96857         * modules/getloadavg (Files): Add m4/getloadavg.m4.
96858         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
96859         the former is now obsolescent.
96861         * modules/chdir-long (Depends-on): Add fcntl.
96863 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96865         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
96866         obsolescent, and programs should use gnulib instead.
96867         * m4/getloadavg.m4: New file, with contents taken from Autoconf
96868         but with prefixes changed.
96870 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
96872         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
96873         or stdbool.h, because they might not exist while configuring.
96875         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
96876         Don't include unistd.h or limits.h; not needed, since chdir-long.h
96877         does that for us.
96878         (O_DIRECTORY): Remove.
96880 2006-08-31  Eric Blake  <ebb9@byu.net>
96882         * gnulib-tool: Don't let emacs change spaces to TAB.
96884 2006-08-31  Bruno Haible  <bruno@clisp.org>
96886         * gnulib-tool: When calling func_import more than once, do it in a
96887         subshell.
96888         Reported by Eric Blake <ebb9@byu.net>.
96890 2006-08-31  Bruno Haible  <bruno@clisp.org>
96892         * gnulib-tool (nl): Remove variable.
96893         (sed_transform_lib_file): Use more robust test for config-h module.
96894         (func_import): Fix typo in 2006-08-25 patch.
96896 2006-08-31  Bruno Haible  <bruno@clisp.org>
96898         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
96899         specified, augment Makefile.am variables instead of assigning them.
96901 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96903         Work around a bug in both the Linux and SunOS 64-bit kernels:
96904         nanosleep mishandles sleeps for longer than 2**31 seconds.
96905         Problem reported by Frank v Waveren in
96906         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96907         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
96908         Check for nanosleep bug.
96909         (LIB_NANOSLEEP): Append clock_gettime library if needed.
96911 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96913         Work around a bug in both the Linux and SunOS 64-bit kernels:
96914         nanosleep mishandles sleeps for longer than 2**31 seconds.
96915         Problem reported by Frank v Waveren in
96916         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
96917         * lib/nanosleep.c (BILLION): New constant.
96918         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
96919         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
96920         implementation.
96922 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96924         * modules/nanosleep (Depends-on): Add gettime.
96926 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
96927         and Simon Josefsson  <jas@extundo.com>
96928         and Oskar Liljeblad  <oskar@osk.mine.nu>
96930         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
96931         * gnulib-tool (func_import): New license type 'unmodifiable license
96932         text'.
96933         * modules/fdl: Use it.  Longer description.
96934         * module/gpl, module/lgpl: New files.
96936 2006-08-30  Jim Meyering  <jim@meyering.net>
96938         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
96939         shadowing the parameter.
96941 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96943         Sync from Libtool:
96945         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96947         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
96948         sharing with gnulib.  Report by Eric Blake.
96950 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96952         * modules/isapipe: New file.
96953         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
96955 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96957         * modules/configmake (Makefile.am): Add a comment, and omit
96958         the CONFIGMAKE_ prefix from generated macro names.  Suggested
96959         by Bruno Haible.
96961 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96963         * m4/isapipe.m4: New file.
96965 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
96967         * lib/isapipe.c, lib/isapipe.h: New files.
96969 2006-08-29  Jim Meyering  <jim@meyering.net>
96971         * modules/configmake (Makefile.am): Make configmake.h depend on
96972         Makefile.  Otherwise, a stale configmake.h could hang around.
96974 2006-08-29  Eric Blake  <ebb9@byu.net>
96976         * lib/error.c (error_at_line, print_errno_message): Match libc, after
96977         resolution of upstream bug 3044.
96979 2006-08-29  Bruno Haible  <bruno@clisp.org>
96981         * modules/localcharset (Depends-on): Add configmake.
96982         (Makefile.am): Remove setting of LIBDIR through DEFS.
96984 2006-08-29  Bruno Haible  <bruno@clisp.org>
96986         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
96987         defined.
96989 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
96991         * modules/fcntl: New file.
96992         * modules/chdir-safer (Depends-on): Add fcntl.
96993         * modules/fts: Likewise.
96994         * modules/mkdir-p: Likewise.
96996         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
96997         This undoes the most recent change, since we're now addressing the
96998         problem in a different way.
97000         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
97001         into output, since the output might be called Makefile.am even
97002         if $makefile_name is something different.
97003         (func_import): Use $makefile_am rather than
97004         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
97005         empty.
97007         * modules/inttypes (Files): Add m4/inttypes-h.m4.
97009 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97011         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
97012         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
97013         recent change to stdint.m4, since we're now addressing the problem in a
97014         different way.
97016 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97018         * m4/fcntl_h.m4: New file.
97020 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
97022         * lib/fcntl_.h: New file.
97023         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
97024         the fcntl module.
97025         * lib/dirchownmod.c: Likewise.
97026         * lib/fts.c: Likewise.
97028         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
97029         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
97030         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
97031         just before including <inttypes.h>, to avoid circular inclusion.
97033 2006-08-28  Jim Meyering  <jim@meyering.net>
97035         * doc/visibility.texi: Actually read and correct the grammar of the
97036         sentence affected by yesterday's change.
97038 2006-08-28  Eric Blake  <ebb9@byu.net>
97040         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
97041         needs wrapper.
97043 2006-08-28  Eric Blake  <ebb9@byu.net>
97045         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
97047 2006-08-28  Eric Blake  <ebb9@byu.net>
97049         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
97051 2006-08-28  Bruno Haible  <bruno@clisp.org>
97053         * modules/c-strstr: New file, from GNU gettext.
97054         * MODULES.html.sh (String handling): Add c-strstr.
97056 2006-08-28  Bruno Haible  <bruno@clisp.org>
97058         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
97059         macros.
97060         Reported by Eric Blake.
97062 2006-08-28  Bruno Haible  <bruno@clisp.org>
97064         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
97065         (VASNPRINTF): Return a string of length > INT_MAX without failing.
97066         * lib/vasprintf.c: Include errno.h, limits.h.
97067         (EOVERFLOW): New fallback definition.
97068         (vasprintf): Test here whether the string length is > INT_MAX.
97069         * lib/vsnprintf.c: Include errno.h, limits.h.
97070         (EOVERFLOW): New fallback definition.
97071         (vsnprintf): Fix bug when generated string was too long for the buffer.
97072         Test here whether the string length is > INT_MAX.
97074 2006-08-28  Bruno Haible  <bruno@clisp.org>
97076         * lib/inttypes_.h (SCNX*): Remove definitions.
97077         Reported by Eric Blake.
97079 2006-08-28  Bruno Haible  <bruno@clisp.org>
97081         * lib/c-strstr.h: New file, from GNU gettext.
97082         * lib/c-strstr.c: New file, from GNU gettext.
97084 2006-08-28  Bruno Haible  <bruno@clisp.org>
97086         * gnulib-tool: Reorder some statements.
97088 2006-08-28  Bruno Haible  <bruno@clisp.org>
97090         * gnulib-tool: New option --makefile-name.
97091         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
97092         $makefile_name.
97093         (func_import): Write $makefile_name to the cache file, and read it from
97094         there unless explicitly specified. Use $makefile_name as file name
97095         instead of Makefile.am. Adjust the recommendations accordingly.
97097 2006-08-28  Bruno Haible  <bruno@clisp.org>
97099         * gnulib-tool (func_verify_module): Check against misapplying patch.
97101 2006-08-28  Bruno Haible  <bruno@clisp.org>
97103         * gnulib-tool (func_relativize, func_relconcat): New functions.
97104         Give an error if --local-dir is given with --update.
97105         Remove trailing slashes from $local_gnulib_dir.
97106         (func_import): Store the relativized $local_gnulib_dir in
97107         gnulib-cache.m4, and read it from there if not specified explicitly.
97109 2006-08-28  Bruno Haible  <bruno@clisp.org>
97111         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
97112         is the current directory. Respect also $local_gnulib_dir.
97114 2006-08-28  Bruno Haible  <bruno@clisp.org>
97115             Simon Josefsson  <jas@extundo.com>
97117         BeOS portability.
97118         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
97120 2006-08-27  Jim Meyering  <jim@meyering.net>
97122         * doc/visibility.texi: Remove duplicate word: "pointer".
97124 2006-08-26  Bruno Haible  <bruno@clisp.org>
97126         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
97127         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
97128         (Makefile.am): Create inttypes.h from inttypes_.h.
97129         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
97131         * modules/imaxabs: New file.
97133         * modules/imaxdiv: New file.
97135 2006-08-26  Bruno Haible  <bruno@clisp.org>
97137         * m4/inttypes.m4: New file.
97138         * m4/_inttypes_h.m4: Remove file.
97139         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
97140         PRI_MACROS_BROKEN.
97141         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
97143         * m4/imaxabs.m4: New file.
97145         * m4/imaxdiv.m4: New file.
97147 2006-08-26  Bruno Haible  <bruno@clisp.org>
97149         * lib/inttypes_.h: New file.
97150         * lib/inttypes.h: Remove file.
97151         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
97153         * lib/imaxabs.c: New file.
97155         * lib/imaxdiv.c: New file.
97157 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97159         New config-h module, so that "make" output needn't be cluttered
97160         by -DHAVE_CONFIG_H.
97161         * MODULES.html.sh (Support for building libraries and executables):
97162         Add config-h.
97163         * modules/config-h: New file.
97164         * gnulib-tool (nl, sed_transform_lib_file): New vars.
97165         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
97166         the config-h module is used.
97168         New configmake module, so that "make" output needn't be cluttered
97169         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
97170         * MODULES.html.sh (Support for building libraries and executables):
97171         Add configmake.
97172         * modules/configmake: New file.
97174 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
97176         * m4/config-h.m4: New file.
97178 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97180         * config/srclist.txt: Add elisp-comp.
97182 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
97184         * MODULES.html.sh (Support for building libraries and executables):
97185         Add elisp-comp.
97186         * build-aux/elisp-comp: New file.
97187         * modules/elisp-comp: New file.
97189 2006-08-24  Bruno Haible  <bruno@clisp.org>
97191         * gnulib-tool (func_create_testdir): Use non-default values of
97192         sourcebase and m4base.
97194 2006-08-24  Bruno Haible  <bruno@clisp.org>
97196         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
97197         HTML structure.
97199 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
97201         * modules/openat (Depends-on): Add lchown.
97203 2006-08-23  Bruno Haible  <bruno@clisp.org>
97205         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
97206         of gl_LOCK_EARLY instead of gl_LOCK.
97208 2006-08-23  Bruno Haible  <bruno@clisp.org>
97210         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
97211         on OSF/1 to no.
97212         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
97214 2006-08-23  Bruno Haible  <bruno@clisp.org>
97216         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
97217         as unusable.
97219         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
97220         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
97221         (gl_LOCK): New macro.
97223 2006-08-22  Simon Josefsson  <jas@extundo.com>
97225         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
97226         to md5 module.
97228 2006-08-22  Simon Josefsson  <jas@extundo.com>
97230         * MODULES.html.sh: Add "Support for maintaining and release
97231         projects".
97233         * build-aux/gnupload: New file, from coreutils.
97235 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97237         Avoid the need for AC_LIBSOURCES in m4 macros.
97238         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
97239         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
97240         * modules/check-version (EXTRA_DIST): Add check-version.h.
97241         * modules/crc (EXTRA_DIST): Add crc.h.
97242         * modules/des (EXTRA_DIST): Add des.h.
97243         * modules/gc (EXTRA_DIST): Add gc.h.
97244         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
97245         * modules/getline (EXTRA_DIST): Add getline.h.
97246         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
97247         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
97248         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
97249         * modules/md2 (EXTRA_DIST): Add md2.h.
97250         * modules/md4 (EXTRA_DIST): Add md4.h.
97251         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
97252         * modules/read-file (EXTRA_DIST): Add read-file.h.
97253         * modules/readline (EXTRA_DIST): Add readline.h.
97254         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
97255         rijndael-api-fst.h.
97257 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97259         * m4/rijndael.m4 (gl_ARCFOUR):
97260         * m4/arctwo.m4 (gl_ARCTWO):
97261         * m4/check-version.m4 (gl_CHECK_VERSION):
97262         * m4/crc.m4 (gl_CRC):
97263         * m4/des.m4 (gl_DES):
97264         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
97265         * m4/gc.m4 (gl_GC):
97266         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
97267         * m4/getline.m4 (gl_FUNC_GETLINE):
97268         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
97269         * m4/hmac-md5.m4 (gl_HMAC_MD5):
97270         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
97271         * m4/md2.m4 (gl_MD2):
97272         * m4/md4.m4 (gl_MD4):
97273         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
97274         * m4/read-file.m4 (gl_FUNC_READ_FILE):
97275         * m4/readline.m4 (gl_FUNC_READLINE):
97276         * m4/rijndael.m4 (gl_RIJNDAEL):
97277         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97278         to get the necessary .h files and whatnot.
97280 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
97282         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
97283         gnulib rather than the other way around.
97284         * config/srclistvars.sh (COREUTILS): Remove.
97286 2006-08-22  Jim Meyering  <jim@meyering.net>
97288         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
97290         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
97292 2006-08-22  Eric Blake  <ebb9@byu.net>
97294         * modules/regexprops-generic: New file.
97295         * MODULES.html.sh (Support for building documentation): List it.
97297 2006-08-22  Eric Blake  <ebb9@byu.net>
97299         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
97300         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
97301         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
97302         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
97304 2006-08-22  Bruno Haible  <bruno@clisp.org>
97306         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
97307         and lib_LTLIBRARIES like the other lib_* variables.
97309 2006-08-22  Bruno Haible  <bruno@clisp.org>
97311         * build-aux/x-to-1.in: New file, from GNU gettext.
97313 2006-08-22  Bruno Haible  <bruno@clisp.org>
97315         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
97316         <utmpx.h> exists.
97318 2006-08-22  Bruno Haible  <bruno@clisp.org>
97320         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
97321         <utmpx.h> exists.
97323 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97325         BeOS portability.
97326         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
97327         exist.
97328         Problem reported by Bruno Haible.
97330 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97332         Avoid the need for AC_LIBSOURCES in m4 macros.
97333         * modules/acl (EXTRA_DIST): Add acl.h.
97334         * modules/argmatch (Files): Add m4/argmatch.m4.
97335         (configure.ac): Add gl_ARGMATCH.
97336         (EXTRA_DIST): Renamed from lib_SOURCES, for
97337         consistency with the other modules.  Remove argmatch.c.
97338         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
97339         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
97340         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
97341         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
97342         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
97343         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
97344         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
97345         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
97346         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
97347         * modules/closeout (EXTRA_DIST): Add closeout.h.
97348         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
97349         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
97350         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
97351         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
97352         dirname.h; remove basename.c and stripslash.c.
97353         * modules/exclude (EXTRA_DIST): Add exclude.h.
97354         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
97355         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
97356         * modules/file-type (EXTRA_DIST): Add file-type.h.
97357         * modules/filemode (EXTRA_DIST): Add filemode.h.
97358         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
97359         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97360         * modules/fpending (EXTRA_DIST): Add __fpending.h.
97361         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
97362         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
97363         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
97364         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
97365         * modules/getdate (EXTRA_DIST): Add getdate.c.
97366         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
97367         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
97368         * modules/getpass (EXTRA_DIST): Add getpass.h.
97369         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
97370         * modules/group-member (EXTRA_DIST): Add group-member.h.
97371         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
97372         * modules/hash (EXTRA_DIST): Add hash.h.
97373         * modules/human (EXTRA_DIST): Add human.h.
97374         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
97375         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
97376         * modules/lchown (EXTRA_DIST): Add lchown.h.
97377         * modules/long-options (EXTRA_DIST): Add long-options.h.
97378         * modules/lstat (EXTRA_DIST): Add lstat.h.
97379         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
97380         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
97381         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
97382         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
97383         * modules/memxor (EXTRA_DIST): Add memxor.h.
97384         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
97385         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
97386         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
97387         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
97388         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
97389         * modules/physmem (EXTRA_DIST): Add physmem.h.
97390         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
97391         * modules/posixver (EXTRA_DIST): Add posixver.h.
97392         * modules/quote (EXTRA_DIST): Add quote.h.
97393         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
97394         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
97395         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
97396         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
97397         regex_internal.h regexec.c.
97398         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
97399         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
97400         * modules/same (EXTRA_DIST): Add same.h.
97401         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
97402         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
97403         * modules/savedir (EXTRA_DIST): Add savedir.h.
97404         * modules/sha1 (EXTRA_DIST): Add sha1.h.
97405         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
97406         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
97407         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
97408         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
97409         * modules/strdup (EXTRA_DIST): Add strdup.h.
97410         * modules/strftime (EXTRA_DIST): Add strftime.h.
97411         * modules/strndup (EXTRA_DIST): Add strndup.h.
97412         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
97413         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
97414         * modules/time_r (EXTRA_DIST): Add time_r.h.
97415         * modules/timespec (EXTRA_DIST): Add timespec.h.
97416         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
97417         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
97418         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
97419         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
97420         * modules/userspec (EXTRA_DIST): Add userspec.h.
97421         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
97422         * modules/utimens (EXTRA_DIST): Add utimens.h.
97423         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
97424         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
97425         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
97426         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
97427         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
97428         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
97429         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
97430         * modules/yesno (EXTRA_DIST): Add yesno.h.
97432 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
97434         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
97436         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
97437         * m4/dev-ino.m4, same-inode.m4: Remove.
97439         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
97440         * m4/acl.m4 (AC_FUNC_ACL):
97441         * m4/backupfile.m4 (gl_BACKUPFILE):
97442         * m4/c-strtod.m4 (gl_C99_STRTOLD):
97443         * m4/canon-host.m4 (gl_CANON_HOST):
97444         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
97445         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
97446         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
97447         * m4/cloexec.m4 (gl_CLOEXEC):
97448         * m4/close-stream.m4 (gl_CLOSE_STREAM):
97449         * m4/closeout.m4 (gl_CLOSEOUT):
97450         * m4/dirfd.m4 (gl_FUNC_DIRFD):
97451         * m4/dirname.m4 (gl_DIRNAME):
97452         * m4/exclude.m4 (gl_EXCLUDE):
97453         * m4/exitfail.m4 (gl_EXITFAIL):
97454         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
97455         * m4/file-type.m4 (gl_FILE_TYPE):
97456         * m4/filemode.m4 (gl_FILEMODE):
97457         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
97458         * m4/fpending.m4 (gl_FUNC_FPENDING):
97459         * m4/fprintftime.m4 (gl_FPRINTFTIME):
97460         * m4/fts.m4 (gl_FUNC_FTS):
97461         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
97462         * m4/getdate.m4 (gl_GETDATE):
97463         * m4/gethrxtime.m4 (gl_GETHRXTIME):
97464         * m4/getpagesize.m4 (gl_GETPAGESIZE):
97465         * m4/getpass.m4 (gl_FUNC_GETPASS):
97466         * m4/gettime.m4 (gl_GETTIME):
97467         * m4/getugroups.m4 (gl_GETUGROUPS):
97468         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
97469         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
97470         * m4/hard-locale.m4 (gl_HARD_LOCALE):
97471         * m4/hash.m4 (gl_HASH):
97472         * m4/idcache.m4 (gl_IDCACHE):
97473         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
97474         * m4/lchown.m4 (gl_FUNC_LCHOWN):
97475         * m4/long-options.m4 (gl_LONG_OPTIONS):
97476         * m4/lstat.m4 (gl_FUNC_LSTAT):
97477         * m4/md5.m4 (gl_MD5):
97478         * m4/memcasecmp.m4 (gl_MEMCASECMP):
97479         * m4/memcoll.m4 (gl_MEMCOLL):
97480         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
97481         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
97482         * m4/memxor.m4 (gl_MEMXOR):
97483         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
97484         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
97485         * m4/modechange.m4 (gl_MODECHANGE):
97486         * m4/mountlist.m4 (gl_MOUNTLIST):
97487         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
97488         * m4/openat.m4 (gl_FUNC_OPENAT):
97489         * m4/pathmax.m4 (gl_PATHMAX):
97490         * m4/physmem.m4 (gl_PHYSMEM):
97491         * m4/posixtm.m4 (gl_POSIXTM):
97492         * m4/posixver.m4 (gl_POSIXVER):
97493         * m4/quote.m4 (gl_QUOTE):
97494         * m4/quotearg.m4 (gl_QUOTEARG):
97495         * m4/readtokens.m4 (gl_READTOKENS):
97496         * m4/readutmp.m4 (gl_READUTMP):
97497         * m4/regex.m4 (gl_REGEX):
97498         * m4/safe-read.m4 (gl_SAFE_READ):
97499         * m4/safe-write.m4 (gl_SAFE_WRITE):
97500         * m4/same.m4 (gl_SAME):
97501         * m4/save-cwd.m4 (gl_SAVE_CWD):
97502         * m4/savedir.m4 (gl_SAVEDIR):
97503         * m4/settime.m4 (gl_SETTIME):
97504         * m4/sha1.m4 (gl_SHA1):
97505         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
97506         * m4/stat-macros.m4 (gl_STAT_MACROS):
97507         * m4/stat-time.m4 (gl_STAT_TIME):
97508         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
97509         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
97510         * m4/strdup.m4 (gl_FUNC_STRDUP):
97511         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
97512         * m4/strndup.m4 (gl_FUNC_STRNDUP):
97513         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
97514         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
97515         * m4/time_r.m4 (gl_TIME_R):
97516         * m4/timespec.m4 (gl_TIMESPEC):
97517         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
97518         * m4/unlinkdir.m4 (gl_UNLINKDIR):
97519         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
97520         * m4/userspec.m4 (gl_USERSPEC):
97521         * m4/utimecmp.m4 (gl_UTIMECMP):
97522         * m4/utimens.m4 (gl_UTIMENS):
97523         * m4/xalloc.m4 (gl_XALLOC):
97524         * m4/xgetcwd.m4 (gl_XGETCWD):
97525         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
97526         * m4/xreadlink.m4 (gl_XREADLINK):
97527         * m4/xstrtod.m4 (gl_XSTRTOD):
97528         * m4/yesno.m4 (gl_YESNO):
97529         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
97530         to get the necessary .h files and whatnot.
97532 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
97533             Bruno Haible  <bruno@clisp.org>
97535         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
97536         /bin/sh understanding of '!' conditional negation.
97538 2006-08-21  Jim Meyering  <jim@meyering.net>
97540         * modules/openat (Depends-on): Really alphabetize.
97542         * modules/acl (Depends-on): Add error and quote.
97544         * check-module (find_included_lib_files): Add at-func.c to the
97545         ok-to-include-more-than-once white list.
97547         * modules/openat (Depends-on): Add lstat.  Alphabetize.
97549 2006-08-21  Bruno Haible  <bruno@clisp.org>
97551         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
97552         Emit a pkgdata_DATA variable only if some snippets add contents to it.
97553         Reported by Martin Lambers <marlam@marlam.de>.
97555 2006-08-21  Bruno Haible  <bruno@clisp.org>
97557         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
97558         specify an installation location, don't emit a noinst_LIBRARIES or
97559         noinst_LTLIBRARIES assignment.
97561 2006-08-21  Bruno Haible  <bruno@clisp.org>
97563         BeOS portability.
97564         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
97565         BeOS has mbrtowc() but no <wctype.h>.
97567 2006-08-21  Bruno Haible  <bruno@clisp.org>
97569         BeOS portability.
97570         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
97571         exist.
97573 2006-08-21  Bruno Haible  <bruno@clisp.org>
97575         BeOS portability.
97576         * lib/mbchar.h: Include <wctype.h> only if it exists.
97578 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97580         Remove files that are no longer needed by their respective modules.
97581         * m4/obstack.m4: Remove.
97582         * m4/strerror_r.m4: Remove.
97583         * m4/uint32_t.m4: Remove.
97584         * m4/uintptr_t.m4: Remove.
97585         * m4/ullong_max.m4: Remove.
97586         * m4/xstrtoimax.m4: Remove.
97587         * m4/xstrtoumax.m4: Remove.
97589         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
97590         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
97591         dependencies now capture this.
97593         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
97594         Do not use AC_LIBSOURCES, since gnulib modules now do this.
97595         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
97596         * m4/human.m4 (gl_HUMAN): Likewise.
97597         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
97598         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
97600         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
97602         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
97603         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
97604         stdint.
97605         * m4/human.m4 (gl_HUMAN): Likewise.
97606         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
97607         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
97608         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97609         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97610         * m4/xstrtol (gl_XSTRTOL): Likewise.
97612         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
97613         AC_TYPE_LONG_LONG_INT.
97614         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
97615         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
97616         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
97617         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
97619         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
97620         on stdbool.
97622         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
97623         (gl_PREREQ_XSTRTOUL): Remove.
97625         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
97627         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
97628         mode.
97630 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97632         Add and change modules to make it easier for coreutils to use
97633         gnulib-tool.
97634         * modules/backupfile (Files): Remove m4/d-ino.m4.
97635         (Depends-on): Add d-ino.
97636         * modules/cycle-check (Depends-on): Add stdint.
97637         (lib_SOURCES): Add cycle-check.h.
97638         * modules/d-ino: New module.
97639         * modules/d-type: New module.
97640         * modules/error (Files): Remove m4/strerror_r.m4.
97641         * modules/filemode (Files): Add m4/st_dm_mode.m4.
97642         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
97643         m4/inttypes_h.m4, m4/uintmax_t.m4.
97644         (Depends-on): Add stdint.
97645         (lib_SOURCES): Add fsusage.h.
97646         * modules/getcwd (Files): Remove d-ino.m4.
97647         (Depends-on): Add d-ino.
97648         * modules/getndelim2 (Depends-on): Add stdint.
97649         * modules/glob (Files): Remove m4/d-type.m4.
97650         (Depends-on): Add d-type.
97651         * modules/host-os: New module.
97652         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
97653         m4/inttypes_h.m4, m4/uintmax_t.m4.
97654         * Depends-on: Add stdint.
97655         (lib_SOURCES): Add human.h.
97656         * modules/inttostr (Files): Remove m4/intmax_t.m4,
97657         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
97658         m4/uintmax_t.m4, m4/ulonglong.m4.
97659         (Depends-on): Add stdint.
97660         (EXTRA_DIST): Add inttostr.h.
97661         * modules/lchmod: New module.
97662         * modules/link-follow: New module.
97663         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
97664         (Depends-on): Add lchmod.
97665         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
97666         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
97667         (Depends-on): Add stdint.
97668         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
97669         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
97670         (Depends-on): Add stdint.
97671         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
97672         * modules/perl: New module.
97673         * modules/regex (Depends-on): Add stdint.
97674         * modules/rmdir-errno: New module.
97675         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97676         m4/intmax_t.m4.
97677         (Depends-on): Add stdint.
97678         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
97679         m4/uintmax_t.m4.
97680         (Depends-on): Add stdint.
97681         * modules/unlink-busy: New module.
97682         * modules/utimecmp (Depends-on): Add stdint.
97683         * modules/uptime: New module.
97684         * modules/winsz-ioctl: New module.
97685         * modules/winsz-termios: New module.
97686         * modules/xnanosleep (Depends-on): Add nanosleep.
97687         * modules/ullong_max: Remove.
97688         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
97689         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
97690         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
97691         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
97692         (Depends-on): Add inttypes.
97693         (lib_SOURCES): Add xstrtol.h.
97694         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
97695         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
97696         * MODULES.html.sh: Move 'assert' into the assert section.
97697         Move 'dummy' into the linking section.
97698         Remove ullong_max.
97699         Add section for compatibility checks for POSIX:2001 functions,
97700         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
97701         winsz-ioctl, and winsz-termios into it.
97702         Add lchmod.
97703         Add top-level Misc section and put host-os, perl, and uptime
97704         into it.
97706 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
97708         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
97709         now assume the stdint module.  Do not include inttypes.h.
97710         * lib/fsusage.h: Likewise.
97711         * lib/getndelim2.c: Likewise.
97712         * lib/human.h: Likewise.
97713         * lib/inttostr.h: Likewise.
97714         * lib/obstack.c: Likewise.
97715         * lib/regex_internal.h: Likewise.
97716         * lib/tempname.c: Likewise.
97717         * lib/utimecmp.c: Likewise.
97718         * lib/xstrtol.h: Likewise.
97720         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
97722         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
97723         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
97724         * lib/xtime.h: Likewise.
97726 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97728         * modules/openat (Files): Add lib/fchmodat.c.
97729         Fixes problem reported by Jay Youngman.
97731 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
97733         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
97734         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
97736 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
97737             Bruno Haible  <bruno@clisp.org>
97739         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
97740         and is a script that invokes bison. Tighten the code. Add comments.
97742 2006-08-18  Jim Meyering  <jim@meyering.net>
97744         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
97745         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
97746         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
97747         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
97749 2006-08-18  Bruno Haible  <bruno@clisp.org>
97751         * modules/bison-i18n: New file.
97752         * MODULES.html.sh (Internationalization functions): Add it.
97754 2006-08-18  Bruno Haible  <bruno@clisp.org>
97756         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
97757         sys/statvfs.h. When getmntinfo was found, check its declaration and
97758         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
97760 2006-08-18  Bruno Haible  <bruno@clisp.org>
97762         * m4/bison-i18n.m4: New file, from bison.
97764 2006-08-18  Bruno Haible  <bruno@clisp.org>
97766         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
97767         (ME_DUMMY): Treat "kernfs" as a dummy.
97768         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
97770 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97772         Update from coreutils.
97774         2006-08-15  Jim Meyering  <jim@meyering.net>
97776         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
97778         2006-01-17  Jim Meyering  <jim@meyering.net>
97780         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
97782         2006-01-11  Jim Meyering  <jim@meyering.net>
97784         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
97785         Check for the lchmod function.
97787 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
97789         Update from coreutils.
97791         * lib/__fpending.h: Add copyright notice.
97792         * lib/fprintftime.h: Likewise.
97793         * lib/savedir.c: Use (C) in copyright notice.
97794         * lib/savedir.h: Likewise.
97796         2006-08-15  Jim Meyering  <jim@meyering.net>
97798         * lib/at-func.c: New file, with the logic of all emulated at-functions.
97799         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
97800         in support of the EXPECTED_ERRNO macro.
97801         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
97802         definitions.  Instead, define the appropriate symbols and include
97803         "at-func.c".
97804         * lib/mkdirat.c (mkdirat): Likewise.
97805         * lib/fchmodat.c (fchmodat): Likewise.
97806         (ENOSYS): Remove definition.
97807         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
97808         it.  Don't include "unistd--.h" -- it wasn't ever used.
97810         2006-01-17  Jim Meyering  <jim@meyering.net>
97812         Rewrite fts.c not to change the current working directory,
97813         by using openat, fstatat, fdopendir, etc..
97815         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
97816         (HAVE_OPENAT_SUPPORT): Define.
97817         [_LIBC] (fchdir): Don't undef or define; no longer used.
97818         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
97819         Now, this `function' always succeeds, and consumes its file descriptor
97820         parameter -- so callers must not close such FDs.  Update callers.
97821         (diropen_fd, opendirat, cwd_advance_fd): New functions.
97822         (diropen): Add parameter, SP.  Adjust all callers.
97823         Implement using diropen_fd, rather than open.
97824         (fts_open): Initialize new member, fts_cwd_fd.
97825         Remove fts_rft-setting code.
97826         (fts_close): Close fts_cwd_fd, if necessary.
97827         (__opendir2): Define in terms of opendir or opendirat,
97828         depending on whether the FST_NOCHDIR flag is set.
97829         (fts_build): Since fts_safe_changedir consumes its FD, and since
97830         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
97831         and close the dup'd file descriptor upon failure.
97832         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
97833         (fts_safe_changedir): Tweak semantics to reflect that this function
97834         now calls cwd_advance_fd and hence consumes its FD argument.
97835         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
97836         [struct FTS] (fts_rft): Remove now-unused member.
97837         [struct FTS] (fts_cycle.state): Improve comment.
97839         * lib/openat.c (openat_needs_fchdir): New function.
97840         * lib/openat.h (openat_needs_fchdir): Declare it.
97842 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
97844         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
97845         Problem and fix reported by Pádraig Brady in
97846         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
97848 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97850         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
97852 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97854         * lib/memcoll.c (memcoll): Optimize for the common case where the
97855         arguments are bytewise equal.
97857 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
97859         * doc/regexprops-generic.texi: Add a copyright notice.
97861 2006-08-15  Bruno Haible  <bruno@clisp.org>
97863         * modules/tmpdir (License): Change to LGPL.
97865 2006-08-15  Bruno Haible  <bruno@clisp.org>
97867         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
97868         module.
97870 2006-08-14  Simon Josefsson  <jas@extundo.com>
97872         * config/srclist.txt: Add gnupload.
97874 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97876         Change copyright notice from LGPL 2 to GPL 2, since that's the
97877         standard form used in the gnulib repository.
97878         * tests/test-lock.c: Likewise.
97879         * tests/test-stdint.c: Likewise.
97880         * tests/test-tls.c: Likewise.
97882         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
97883         prelude-manager.  User shorter URLs for GNU projects, without '?'.
97884         Add copyright notice.
97886         * check-module: Add copyright notice.  Output a copyright
97887         notice if "--version" is specified.
97888         * modules/COPYING: New file.
97889         * tests/test-getaddrinfo.c: Add copyright notice.
97890         * tests/test-verify.c: Likewise.
97892 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97894         Change copyright notice from LGPL 2 to GPL 2, since that's the
97895         standard form used in the gnulib repository.
97896         * lib/lock.c: LGPL -> GPL.
97897         * lib/lock.h: Likewise.
97898         * lib/strnlen1.c: Likewise.
97899         * lib/strnlen1.h: Likewise.
97900         * lib/tls.c: Likewise.
97901         * lib/tls.h: Likewise.
97902         * lib/tmpdir.c: Likewise.
97904         * lib/TODO: Remove; this belongs only in coreutils.
97906 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97908         Add copyright notices to long-enough files that lack them, since
97909         otherwise the files aren't clearly free.  Use the same notice that
97910         getdate.texi already uses.
97911         * doc/alloca-opt.texi: Add copyright notice.
97912         * doc/alloca.texi: Likewise.
97913         * doc/ctime.texi: Likewise.
97914         * doc/functions.texi: Likewise.
97915         * doc/gcd.texi: Likewise.
97916         * doc/gnulib-tool.texi: Likewise.
97917         * doc/inet_ntoa.texi: Likewise.
97918         * doc/visibility.texi: Likewise.
97920         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
97921         * doc/quote.texi: Add copyright notice.
97923         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
97924         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
97925         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
97926         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
97927         is now obsolete, and give a pointer to the Sun list.
97928         Add copyright notice.
97930 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
97932         * config/srclistvars.sh: Add copyright notice.
97934 2006-08-14  Eric Blake  <ebb9@byu.net>
97936         Import the following change from libc:
97938         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
97940         Upstream bug 2997.
97941         * lib/misc/error.c: Add space between program name and message if file
97942         name is missing.
97944 2006-08-12  Karl Berry  <karl@gnu.org>
97946         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
97947         remove, these originate in gnulib now.
97949 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97951         * doc/Makefile (standards.info standards.html standards.dvi):
97952         Also depend on make-stds.texi.
97954 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
97956         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
97957         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
97959         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
97960         in wchar_t.  Problem reported by Eric Blake.
97962         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
97963         LEN is smaller than SIZE.  Suggested by Bruno Haible.
97964         Also, help the compiler to keep LEN in a register.
97966 2006-08-11  Eric Blake  <ebb9@byu.net>
97968         * users.txt: Sort.  Add tar.
97970 2006-08-11  Bruno Haible  <bruno@clisp.org>
97972         * users.txt: New file.
97974 2006-08-11  Bruno Haible  <bruno@clisp.org>
97976         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
97977         before <wchar.h>. Needed for OSF/1 and BSD/OS.
97979 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97981         * modules/snprintf (Depends-on): Remove minmax.
97982         (Maintainer): Add self and Bruno.
97984 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
97986         * lib/.cppi-disable: Add snprintf.h, socket_.h.
97987         * lib/snprintf.c: Include <errno.h> and <limits.h>.
97988         (EOVERFLOW): Define if the system does not.
97989         Do not include "minmax.h"; it wasn't used.
97990         (snprintf): Don't assume size_t promotes to an unsigned type.
97991         Fix bug when generated string was too long for the buffer: the
97992         buffer's contents are supposed to be the initial prefix of the
97993         output.  Don't assume vasnprintf returns EOVERFLOW if the size
97994         exceeds INT_MAX; do the check ourselves.
97996         Import the following changes from libc:
97998         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
98000         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
98001         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
98002         set wc to the byte which couldn't be converted.
98003         (re_string_reconstruct): Don't clear valid_raw_len before calling
98004         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
98005         tip_context using re_string_context_at.
98007         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
98009         * lib/posix/regex.h: g++ still cannot handled [restrict].
98011         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
98013         * lib/posix/regex.h: Remove special handling for VMS.
98015 2006-08-10  Jim Meyering  <jim@meyering.net>
98017         * modules/same-inode: New module.
98018         * modules/dev-ino: New module.
98019         * modules/cycle-check: Depend on these modules, rather than simply
98020         including their .h files.
98021         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
98022         required via m4/cycle-check.m4.
98023         * modules/same: Depend on new same-inode module, rather than
98024         including same-inode.h.
98025         * modules/chdir-safer: New file.
98027         * modules/chown (Depends-on): Add stat-macros.
98029 2006-08-10  Jim Meyering  <jim@meyering.net>
98031         * m4/cycle-check.m4: New file.
98032         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
98033         * m4/dev-ino.m4, m4/same-inode.m4: New files.
98035 2006-08-10  Eric Blake  <ebb9@byu.net>
98037         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
98038         in from original proposal.
98040 2006-08-10  Eric Blake  <ebb9@byu.net>
98041         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
98043         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
98044         namespace.
98046 2006-08-10  Bruno Haible  <bruno@clisp.org>
98048         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
98049         as well.
98051 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98053         Sync from coreutils.
98055         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
98057         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
98058         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
98060 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98062         * modules/restrict: Remove; no longer needed now that we assume
98063         Autoconf 2.59 or later.
98064         * MODULES.html.sh: Remove 'restrict'.
98065         * modules/argp (Depends-on): Remove 'restrict'.
98066         * modules/base64 (Depends-on): Likewise.
98067         * modules/gc (Depends-on): Likewise.
98068         * modules/getaddrinfo (Depends-on): Likewise.
98069         * modules/glob (Depends-on): Likewise.
98070         * modules/inet_ntop (Depends-on): Likewise.
98071         * modules/inet_pton (Depends-on): Likewise.
98072         * modules/memxor (Depends-on): Likewise.
98073         * modules/regex (Depends-on): Likewise.
98074         * modules/strtok_r (Depends-on): Likewise.
98075         * modules/time_r (Depends-on): Likewise.
98077 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
98079         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
98080         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
98081         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
98082         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
98083         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
98084         * m4/memxor.m4 (gl_MEMXOR): Likewise.
98085         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
98086         gl_C_RESTRICT replaced by AC_C_RESTRICT.
98088         Merge from coreutils.
98089         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
98090         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
98091         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
98092         * m4/time_r.m4 (gl_TIME_R): Likewise.
98094 2006-08-09  Karl Berry  <karl@gnu.org>
98096         * config/srclist.txt: no more gettext-tools, per Bruno.
98098 2006-08-08  Eric Blake  <ebb9@byu.net>
98100         * modules/verror: New module.
98101         * MODULES.html.sh: Document it.
98103 2006-08-08  Eric Blake  <ebb9@byu.net>
98105         * lib/verror.h, lib/verror.c: New files.
98107 2006-08-08  Eric Blake  <ebb9@byu.net>
98109         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
98110         verror_at_line output complies with GNU Coding Standards even when
98111         file is NULL.
98113 2006-08-07  Bruno Haible  <bruno@clisp.org>
98115         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
98116         versions of AIX.
98117         Reported by Ralf Wildenhues.
98119 2006-08-07  Bruno Haible  <bruno@clisp.org>
98121         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
98122         in an AC_DEFUN. Needed so that the autoconf snippets can use
98123         AC_REQUIRE.
98125 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98127         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98128         Initialize pkgdata_DATA.
98129         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
98130         overriding it.
98132 2006-08-06  Eric Blake  <ebb9@byu.net>
98134         * lib/error.h: Fold in some upstream changes from glibc.
98135         * lib/error.c: Likewise.
98137 2006-08-04  Bruno Haible  <bruno@clisp.org>
98139         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98140         Make the mostlyclean-local rule depend on mostlyclean-generic.
98141         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
98143 2006-07-31  Bruno Haible  <bruno@clisp.org>
98145         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
98146         <stdlib.h>, <string.h>.
98148 2006-07-30  Bruno Haible  <bruno@clisp.org>
98150         * modules/readlink (License): Change to LGPL.
98152 2006-07-30  Bruno Haible  <bruno@clisp.org>
98154         * modules/javaversion (Makefile.am): Distribute javaversion.java and
98155         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
98156         set PKGDATADIR to point to it.
98158 2006-07-30  Bruno Haible  <bruno@clisp.org>
98160         * modules/csharpexec (configure.ac): Comment out macro invocation.
98161         * modules/javaexec (configure.ac): Likewise.
98162         * modules/javacomp-script (configure.ac): Likewise.
98164         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
98166 2006-07-30  Bruno Haible  <bruno@clisp.org>
98168         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
98169         linked-list.
98171 2006-07-30  Bruno Haible  <bruno@clisp.org>
98173         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
98175 2006-07-30  Bruno Haible  <bruno@clisp.org>
98177         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
98178         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
98179         get removed.
98181 2006-07-29  Bruno Haible  <bruno@clisp.org>
98183         Make it possible for gnulib-tool to work with locally modified or
98184         augmented gnulib repositories.
98185         * gnulib-tool (func_usage): Document --local-dir option.
98186         (local_gnulib_dir): New variable.
98187         Handle --local-dir option.
98188         (func_lookup_file): New function.
98189         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
98190         (func_get_description, func_get_filelist, func_get_description,
98191         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
98192         func_get_automake_snippet, func_get_include_directive,
98193         func_get_license, func_get_maintainer): Use func_lookup_file.
98194         (func_import, func_create_testdir): Use func_lookup_file.
98196 2006-07-29  Bruno Haible  <bruno@clisp.org>
98198         * modules/setenv (Depends-on): Add unistd.
98200 2006-07-29  Bruno Haible  <bruno@clisp.org>
98202         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
98204 2006-07-29  Bruno Haible  <bruno@clisp.org>
98206         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
98208 2006-07-29  Bruno Haible  <bruno@clisp.org>
98210         * gnulib-tool (import, update): If there is no Makefile.am, look at
98211         aclocal.m4, instead of bailing out.
98213 2006-07-29  Bruno Haible  <bruno@clisp.org>
98215         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
98216         Categorize the options by when they are useful.
98218 2006-07-29  Bruno Haible  <bruno@clisp.org>
98220         * gnulib-tool (func_usage): Document option --no-libtool.
98221         Handle option --no-libtool.
98222         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
98223         for changed semantics of $libtool variable.
98224         (func_import): Likewise. If libtool is not used, show this through
98225         an option --no-libtool.
98226         (func_create_testdir): Update.
98228 2006-07-29  Bruno Haible  <bruno@clisp.org>
98230         * gnulib-tool (func_import): Extend error message about missing
98231         --doc-base.
98233 2006-07-29  Bruno Haible  <bruno@clisp.org>
98235         * gnulib-tool (func_import): Don't create the $docbase directory if
98236         there is no file to store there.
98238 2006-07-29  Bruno Haible  <bruno@clisp.org>
98240         * gnulib-tool (autoconf_minversion): If a --dir option is given and
98241         relevant, look for configure.ac there, not in the current directory.
98242         Also use a simple search for AC_PREREQ, not "autoconf --trace".
98244 2006-07-29  Bruno Haible  <bruno@clisp.org>
98246         * gnulib-tool (SORT): New variable.
98247         (func_usage): Undocument --assume-autoconf option.
98248         Remove --assume-autoconf option handling.
98249         (autoconf_minversion): Determine from the contents of configure.ac.
98250         (func_import): Remove autoconf_minversion handling.
98251         Suggested by Eric Blake.
98253 2006-07-29  Bruno Haible  <bruno@clisp.org>
98255         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
98257 2006-07-29  Bruno Haible  <bruno@clisp.org>
98259         * config/srclist.txt (*setenv.[ch]): Remove rules.
98261 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98263         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
98265 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98267         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
98268         arpa/inet.h.
98270 2006-07-28  Simon Josefsson  <jas@extundo.com>
98272         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
98273         * modules/inet_pton (Depends-on): Likewise.
98275 2006-07-28  Simon Josefsson  <jas@extundo.com>
98277         * m4/netinet_in_h.m4: New file.
98279 2006-07-28  Simon Josefsson  <jas@extundo.com>
98281         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
98282         #include's.
98284 2006-07-28  Simon Josefsson  <jas@extundo.com>
98286         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
98287         #include's.
98289 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
98291         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
98292         setgid on directories only if they set these bits.
98293         * lib/modechange.h: Remove obsolete comment about masks.
98295 2006-07-28  Eric Blake  <ebb9@byu.net>
98297         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
98298         macro expansion.
98300 2006-07-28  Bruno Haible  <bruno@clisp.org>
98302         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
98304 2006-07-28  Bruno Haible  <bruno@clisp.org>
98306         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
98308 2006-07-28  Bruno Haible  <bruno@clisp.org>
98310         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
98311         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
98312         Define fallbacks.
98313         Avoids link error on FreeBSD 4.x.
98314         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98316         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
98317         encoding.
98318         * lib/mbswidth.c (iswcntrl): Likewise.
98320 2006-07-27  Bruno Haible  <bruno@clisp.org>
98322         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
98323         test.
98325 2006-07-27  Bruno Haible  <bruno@clisp.org>
98327         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
98328         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
98329         defined.
98331 2006-07-26  Eric Blake  <ebb9@byu.net>
98333         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
98335 2006-07-26  Eric Blake  <ebb9@byu.net>
98337         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
98338         like mingw that lack mkstemp.
98339         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
98340         avoid compilation warning on mingw.
98342 2006-07-26  Bruno Haible  <bruno@clisp.org>
98344         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
98345         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
98346         INT_FAST*_MIN, INTPTR_MIN.
98348 2006-07-25  Bruno Haible  <bruno@clisp.org>
98350         * modules/version-etc (Depends-on): Add stdarg.
98352 2006-07-25  Bruno Haible  <bruno@clisp.org>
98354         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
98355         complex commands.
98357 2006-07-25  Bruno Haible  <bruno@clisp.org>
98359         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
98360         defined in <stdarg.h> or config.h.
98362 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98364         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
98365         (gl_STDIO_SAFER): Remove.
98367 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
98369         * MODULES.html.sh (File stream based Input/Output):
98370         Add fopen-safer, tmpfile-safer; remove stdio-safer.
98371         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
98372         * modules/fopen-safer, modules/tmpfile-safer: New files.
98373         * modules/stdio-safer: Remove.
98375 2006-07-24  Bruno Haible  <bruno@clisp.org>
98377         * modules/tmpdir: New file.
98378         * MODULES.html.sh (File system functions): Add it.
98380 2006-07-24  Bruno Haible  <bruno@clisp.org>
98382         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
98383         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
98385 2006-07-24  Bruno Haible  <bruno@clisp.org>
98387         * modules/clean-temp: New file.
98389 2006-07-24  Bruno Haible  <bruno@clisp.org>
98391         * m4/tmpdir.m4: New file, from GNU gettext.
98393 2006-07-24  Bruno Haible  <bruno@clisp.org>
98395         * lib/tmpdir.h: New file, from GNU gettext.
98396         * lib/tmpdir.c: New file, from GNU gettext.
98398 2006-07-24  Bruno Haible  <bruno@clisp.org>
98400         * lib/clean-temp.h: New file, from GNU gettext.
98401         * lib/clean-temp.c: New file, from GNU gettext.
98403 2006-07-23  Eric Blake  <ebb9@byu.net>
98405         * modules/stdio-safer (Files): Add tmpfile-safer.c.
98406         (Depends-on): Add binary-io.
98408 2006-07-23  Eric Blake  <ebb9@byu.net>
98410         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
98412 2006-07-23  Eric Blake  <ebb9@byu.net>
98414         * lib/tmpfile-safer.c: New file.
98415         * lib/stdio-safer.h (fopen_safer): Add prototype.
98416         * lib/stdio--.h (tmpfile): Make safer.
98418 2006-07-23  Bruno Haible  <bruno@clisp.org>
98420         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
98421         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
98422         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
98423         gl_linked_remove_at): Use it.
98425 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
98426         and Simon Josefsson <jas@extundo.com>
98428         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
98430         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
98432 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98434         * modules/close-stream: New file.
98435         * modules/closeout (Description): Make it clear that it exits
98436         with a diagnostic on error.
98437         (Depends-on): Add close-stream.  Remove fpending, stdbool.
98438         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
98440 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98442         * m4/close-stream.m4: New file.
98444 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
98446         * lib/close-stream.c, lib/close-stream.h: New files.
98448 2006-07-22  Bruno Haible  <bruno@clisp.org>
98450         Merge from GNU gettext 0.15.
98452         2006-05-01  Bruno Haible  <bruno@clisp.org>
98454                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
98456         2006-07-22  Bruno Haible  <bruno@clisp.org>
98458                 * modules/javaversion: New file.
98459                 * MODULES.html.sh (Java): Add javaversion.
98461         2006-03-12  Bruno Haible  <bruno@clisp.org>
98463                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
98465         2005-12-04  Bruno Haible  <bruno@clisp.org>
98467                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
98468                 (untested).
98470         2006-06-21  Bruno Haible  <bruno@clisp.org>
98472                 Avoid warnings from recent versions of mcs.
98473                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
98474                 -o, -L, -r any more. Use options documented since mcs-1.0
98475                 instead. Similarly for -g.
98477         2005-12-04  Bruno Haible  <bruno@clisp.org>
98479                 * build-aux/csharpcomp.sh.in: Suffix for resources is
98480                 .resources, not .resource.
98482         2005-07-09  Bruno Haible  <bruno@clisp.org>
98484                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
98485                 add a .dll suffix.
98486                 Reported by Mark Junker <mjscod@gmx.de>.
98488         2006-07-22  Bruno Haible  <bruno@clisp.org>
98490                 * modules/gettext: Upgrade to gettext-0.15.
98491                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
98492                 m4/visibility.m4.
98493                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
98495 2006-07-22  Bruno Haible  <bruno@clisp.org>
98497         Merge from GNU gettext 0.15.
98499         2006-03-25  Bruno Haible  <bruno@clisp.org>
98501                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
98503         2006-07-21  Bruno Haible  <bruno@clisp.org>
98505                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
98506                 "1.1".
98508         2006-05-09  Bruno Haible  <bruno@clisp.org>
98510                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
98511                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
98512                 for the conftestver execution.
98514         2006-05-01  Bruno Haible  <bruno@clisp.org>
98516                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
98517                 optional target-version argument. Verify that the compiler
98518                 groks source of the specified source-version, or add -source
98519                 option as necessary. Verify that the compiler produces
98520                 bytecode in the specified target-version, or add -target and
98521                 -source options as necessary. Make the result of the test
98522                 available as variable CONF_JAVAC. Also log error output in
98523                 config.log.
98525         2006-03-11  Bruno Haible  <bruno@clisp.org>
98527                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
98529         2006-05-09  Bruno Haible  <bruno@clisp.org>
98531                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
98532                 CLASSPATH_SEPARATOR to a semicolon.
98534         2006-03-12  Bruno Haible  <bruno@clisp.org>
98536                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
98537                 available as variable CONF_JAVA, for subsequent autoconf
98538                 tests. Also log error output in config.log.
98540         2006-07-19  Bruno Haible  <bruno@clisp.org>
98542                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
98543                 that getline works on glibc2 systems. Needed to avoid trouble
98544                 in relocatable.c.
98545                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
98547         2005-12-04  Bruno Haible  <bruno@clisp.org>
98549                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
98550                 launcher (untested).
98552         2005-12-04  Bruno Haible  <bruno@clisp.org>
98554                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
98556         2006-07-22  Bruno Haible  <bruno@clisp.org>
98558                 * gettext.m4: Update from GNU gettext-0.15.
98559                 * nls.m4: Likewise.
98560                 * po.m4: Likewise.
98561                 * inttypes-pri.m4: Likewise.
98562                 * inttypes-h.m4: Renamed from inttypes.m4.
98563                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
98565 2006-07-22  Bruno Haible  <bruno@clisp.org>
98567         Merge from GNU gettext 0.15.
98569         2005-07-05  Bruno Haible  <bruno@clisp.org>
98571                 * printf-args.c (printf_fetchargs): Work around broken
98572                 definition of wint_t on mingw.
98574         2005-02-12  Bruno Haible  <bruno@clisp.org>
98576                 * xallocsa.h: Add extern "C" for C++.
98578         2006-05-17  Bruno Haible  <bruno@clisp.org>
98580                 Cygwin portability.
98581                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
98583         2006-04-30  Bruno Haible  <bruno@clisp.org>
98585                 * progreloc.c: Include <mach-o/dyld.h> if available.
98586                 (find_executable): Use _NSGetExecutablePath when possible.
98588         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
98590                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
98591                 function.
98593         2005-12-29  Bruno Haible  <bruno@clisp.org>
98595                 * progreloc.c (set_program_name_and_installdir): Fix
98596                 compilation error.
98598         2005-12-04  Bruno Haible  <bruno@clisp.org>
98600                 Cygwin portability.
98601                 * progreloc.c: Include <windows.h> also on Cygwin.
98602                 (find_executable): Add support for Cygwin.
98603                 (set_program_name_and_installdir): Handle also platforms with
98604                 nonempty EXEEXT.
98606         2006-07-11  Bruno Haible  <bruno@clisp.org>
98608                 * javacomp.c: Fix a comment.
98609                 Reported by Jim Meyering.
98611         2006-04-30  Bruno Haible  <bruno@clisp.org>
98613                 * javacomp.h (compile_java_class): Add source_version,
98614                 target_version arguments.
98615                 * javacomp.c: Rewritten to choose only a compiler that
98616                 respects the specified source_version and target_version.
98618         2006-06-27  Bruno Haible  <bruno@clisp.org>
98620                 Assume correct S_ISDIR macro.
98621                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
98623         2006-07-22  Bruno Haible  <bruno@clisp.org>
98625                 * javaversion.h: New file, from GNU gettext.
98626                 * javaversion.c: New file, from GNU gettext.
98627                 * javaversion.java: New file, from GNU gettext.
98628                 * javaversion.class: New file, from GNU gettext.
98630         2006-05-17  Bruno Haible  <bruno@clisp.org>
98632                 Cygwin portability.
98633                 * javaexec.c (execute_java_class): Test for jview program
98634                 also on Cygwin.
98636         2006-04-09  Bruno Haible  <bruno@clisp.org>
98638                 * fatal-signal.c: Don't include string.h.
98639                 (at_fatal_signal): Use a copying loop instead of memcpy.
98641         2005-12-04  Bruno Haible  <bruno@clisp.org>
98643                 * csharpexec.c: Add support for 'clix' launcher (untested).
98644                 (execute_csharp_using_sscli): New function.
98645                 (execute_csharp_program): Call it.
98647         2006-06-21  Bruno Haible  <bruno@clisp.org>
98649                 Avoid warnings from recent versions of mcs.
98650                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
98651                 -o, -L, -r any more. Use options documented since mcs-1.0
98652                 instead. Similarly for -g.
98654         2005-07-09  Bruno Haible  <bruno@clisp.org>
98656                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
98657                 add a .dll suffix.
98658                 Reported by Mark Junker <mjscod@gmx.de>.
98660         2006-06-17  Bruno Haible  <bruno@clisp.org>
98662                 * config.charset: Update for NetBSD 3.0.
98664         2006-05-17  Bruno Haible  <bruno@clisp.org>
98666                 Cygwin portability.
98667                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
98669         2006-05-16  Bruno Haible  <bruno@clisp.org>
98671                 * localcharset.c [CYGWIN]: Include <windows.h>.
98672                 (get_charset_aliases): For Cygwin, return the same CPxxx
98673                 aliases list as under WIN32.
98674                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
98675                 the environment variables. Fall back to GetACP().
98677         2006-04-05  Bruno Haible  <bruno@clisp.org>
98679                 * config.charset: Update Juan Manuel Guerrero's address.
98681         2005-02-12  Bruno Haible  <bruno@clisp.org>
98683                 * allocsa.h: Add extern "C" for C++.
98685         2005-02-10  Bruno Haible  <bruno@clisp.org>
98687                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
98688                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
98690         2006-07-22  Bruno Haible  <bruno@clisp.org>
98692                 * gettext.h: Update to GNU gettext-0.15.
98694 2006-07-22  Bruno Haible  <bruno@clisp.org>
98696         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
98697         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
98698         lib-prefix.m4, longdouble.m4, ssize_t.m4.
98700 2006-07-21  Eric Blake  <ebb9@byu.net>
98702         * modules/stdlib-safer: New file.
98703         * MODULES.html.sh (File stream based Input/Output): Add
98704         stdlib-safer.
98706 2006-07-21  Eric Blake  <ebb9@byu.net>
98708         * lib/stdlib-safer.h: New file from coreutils, required by
98709         stdlib--.h.
98711 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
98713         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
98715 2006-07-20  Bruno Haible  <bruno@clisp.org>
98717         * gnulib-tool: Recognize new option --assume-autoconf.
98718         (autoconf_minversion): New variable.
98719         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
98721 2006-07-20  Bruno Haible  <bruno@clisp.org>
98723         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
98725 2006-07-19  Derek R. Price  <derek@ximbiot.com>
98727         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
98728         Reindent and repaginate.
98730 2006-07-19  Derek Price  <derek@ximbiot.com>
98732         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
98733         Correct grammar.
98735 2006-07-17  Bruno Haible  <bruno@clisp.org>
98737         * modules/list: New file.
98738         * modules/array-list: New file.
98739         * modules/carray-list, modules/carray-list-tests: New files.
98740         * modules/linked-list, modules/linked-list-tests: New files.
98741         * modules/avltree-list, modules/avltree-list-tests: New files.
98742         * modules/rbtree-list, modules/rbtree-list-tests: New files.
98743         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
98744         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
98745         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
98746         * modules/oset: New file.
98747         * modules/array-oset: New file.
98748         * modules/avltree-oset, modules/avltree-oset-tests: New files.
98749         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
98750         * tests/test-carray_list.c: New file.
98751         * tests/test-linked_list.c: New file.
98752         * tests/test-avltree_list.c: New file.
98753         * tests/test-rbtree_list.c: New file.
98754         * tests/test-linkedhash_list.c: New file.
98755         * tests/test-avltreehash_list.c: New file.
98756         * tests/test-rbtreehash_list.c: New file.
98757         * tests/test-avltree_oset.c: New file.
98758         * tests/test-rbtree_oset.c: New file.
98759         * MODULES.html.sh (Container data structures): New section.
98761 2006-07-17  Bruno Haible  <bruno@clisp.org>
98763         * m4/gl_list.m4: New file.
98765 2006-07-17  Bruno Haible  <bruno@clisp.org>
98767         * lib/gl_list.h: New file.
98768         * lib/gl_list.c: New file.
98769         * lib/gl_array_list.h: New file.
98770         * lib/gl_array_list.c: New file.
98771         * lib/gl_carray_list.h: New file.
98772         * lib/gl_carray_list.c: New file.
98773         * lib/gl_linked_list.h: New file.
98774         * lib/gl_linked_list.c: New file.
98775         * lib/gl_anylinked_list1.h: New file.
98776         * lib/gl_anylinked_list2.h: New file.
98777         * lib/gl_avltree_list.h: New file.
98778         * lib/gl_avltree_list.c: New file.
98779         * lib/gl_anyavltree_list1.h: New file.
98780         * lib/gl_anyavltree_list2.h: New file.
98781         * lib/gl_rbtree_list.h: New file.
98782         * lib/gl_rbtree_list.c: New file.
98783         * lib/gl_anyrbtree_list1.h: New file.
98784         * lib/gl_anyrbtree_list2.h: New file.
98785         * lib/gl_anytree_list1.h: New file.
98786         * lib/gl_anytree_list2.h: New file.
98787         * lib/gl_linkedhash_list.h: New file.
98788         * lib/gl_linkedhash_list.c: New file.
98789         * lib/gl_anyhash_list1.h: New file.
98790         * lib/gl_anyhash_list2.h: New file.
98791         * lib/gl_avltreehash_list.h: New file.
98792         * lib/gl_avltreehash_list.c: New file.
98793         * lib/gl_rbtreehash_list.h: New file.
98794         * lib/gl_rbtreehash_list.c: New file.
98795         * lib/gl_anytreehash_list1.h: New file.
98796         * lib/gl_anytreehash_list2.h: New file.
98798         * lib/gl_oset.h: New file.
98799         * lib/gl_oset.c: New file.
98800         * lib/gl_array_oset.h: New file.
98801         * lib/gl_array_oset.c: New file.
98802         * lib/gl_avltree_oset.h: New file.
98803         * lib/gl_avltree_oset.c: New file.
98804         * lib/gl_rbtree_oset.h: New file.
98805         * lib/gl_rbtree_oset.c: New file.
98806         * lib/gl_anytree_oset.h: New file.
98808 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98810         * m4/mkancesdirs.m4: New file.
98811         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
98812         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
98813         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
98814         it.
98816 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98818         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
98819         * lib/mkancesdirs.h: New files.
98820         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
98821         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
98822         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
98823         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
98824         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
98825         callers changed.  Revamp internals significantly, by not
98826         attempting to create directories that are temporarily more
98827         permissive than the final results.  Do not attempt to use
98828         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
98829         This removes some race conditions, fixes some bugs, and simplifies
98830         things.  Use new dirchownmod function to do owner and mode changes.
98831         * lib/mkdir-p.h: Likewise.
98832         * lib/modechange.c (octal_to_mode): New function.
98833         (struct mode_change): New member mentioned.
98834         (make_node_op_equals): New arg mentioned.  All callers changed.
98835         (mode_compile): Keep track of which mode bits the user has explicitly
98836         mentioned.
98837         (mode_adjust): New arg DIR, so that we implement the X op correctly.
98838         New arg PMODE_BITS, to keep track of which mode bits the user
98839         mentioned; it treats S_ISUID and S_ISGID speciall.
98840         All callers changed.
98841         * lib/modechange.h: Likewise.
98843 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
98845         * MODULES.html.sh: Add mkancestors.
98846         * modules/mkancesdirs: New module.
98847         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
98848         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
98849         The chdir-safer and afs files are now orphans; I'll remove them
98850         unless someone speaks up.
98851         Add lib/dirchownmod.c, lib/dirchownmod.h.
98852         (Depends-on): Remove alloca, chown, save-cwd, dirname.
98853         Add lchown, mkancesdirs.
98854         (Maintainer): Add self.
98856 2006-07-15  Karl Berry  <karl@gnu.org>
98858         * gnulib-tool: help message wording/arrangement.
98860 2006-07-14  Simon Josefsson  <jas@extundo.com>
98862         * doc/gnulib.texi (Libtool and Windows): New section.
98864 2006-07-12  Simon Josefsson  <jas@extundo.com>
98866         * modules/gendocs (License): Fix license, approved by Karl.
98868 2006-07-12  Eric Blake  <ebb9@byu.net>
98870         * MODULES.html.sh: Add gendocs.
98872 2006-07-11  Eric Blake  <ebb9@byu.net>
98874         * modules/fdl: New module, to install doc/fdl.texi.
98875         * MODULES.html.sh: Add new section for documentation modules.
98876         * gnulib-tool: Avoid space-tab.
98877         (--doc-base): New option, to manage files from doc.
98879 2006-07-11  Eric Blake  <ebb9@byu.net>
98881         * m4/absolute-header.m4: Fix comments to match recent change.
98883 2006-07-11  Eric Blake  <ebb9@byu.net>
98885         * gnulib-tool: List --doc-base before --tests-base.
98887 2006-07-11  Derek R. Price  <derek@ximbiot.com>
98889         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
98891 2006-07-11  Bruno Haible  <bruno@clisp.org>
98893         * README: Mention where to put documentation.
98895 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98897         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
98899 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98901         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
98902         to stdint.m4.
98904 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
98906         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
98907         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
98908         "no/such/file/stdint.h" when there is no such file, so that
98909         the resulting C code can be parsed by dodgy compilers.
98910         Problems reported by Bob Proulx.
98912 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98914         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
98915         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98916         macros into the GNU _D_EXACT_NAMLEN.
98917         * lib/savedir.c:  Likewise.
98918         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
98920 2006-07-10  Derek R. Price  <derek@ximbiot.com>
98921         and Paul Eggert  <eggert@cs.ucla.edu>
98923         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
98924         * m4/savedir.m4:
98925         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
98926         macros into the GNU _D_EXACT_NAMLEN.
98928 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98930         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
98931         around the absolute name, to work around a problem with the HP-UX
98932         11.23 native C compiler, reported by Bob Proulx.
98934 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98936         * doc/maintain.texi, make-stds.texi: Sync from
98937         <http://savannah.gnu.org/projects/gnustandards>.
98939 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
98941         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
98943 2006-07-09  Jim Meyering  <jim@meyering.net>
98945         * m4/glob.m4: Remove a doubled word in a comment.
98947 2006-07-09  Jim Meyering  <jim@meyering.net>
98949         * lib/argp-pv.c: Remove a doubled word in a comment.
98950         * lib/check-version.c (check_version): Likewise.
98951         * lib/javacomp.c (compile_java_class): Likewise.
98953 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
98955         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
98956         for the benefit of people using Autoconf 2.60.  If you want to
98957         support older Autoconf versions you can copy m4/onceonly_2_57.m4
98958         (or m4/onceonly.m4, if pre-2.57) manually.
98960 2006-07-08  Jim Meyering  <jim@meyering.net>
98962         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
98963         comment.
98964         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
98965         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
98966         comment.
98968 2006-07-08  Jim Meyering  <jim@meyering.net>
98970         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
98972 2006-07-07  Simon Josefsson  <jas@extundo.com>
98974         * tests/test-crc.c: Change expected crc value, the test vector
98975         were probably computed using the old broken crc.c?
98977 2006-07-06  Simon Josefsson  <jas@extundo.com>
98979         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
98980         now the canonical place for the M4 file).
98982         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
98983         from the sys_socket dependency now.
98985         * modules/inet_pton (Files): Ditto.
98987         * modules/inet_ntop (Files): Ditto.
98989 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
98991         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
98992         not gl_PREREQ_GETUSERSHELL.
98994 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98996         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
98997         with only one argument, for Autoconf 2.60.
98998         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
98999         expand to nothing, so add a shell command to avoid syntax error.
99000         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
99002 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99004         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
99006 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99008         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
99009         no longer needed.  Check for isblank decl.
99010         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
99011         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
99012         of existence.
99014 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99016         * lib/getloadavg.c: Use __VMS, not VMS.
99017         * lib/getopt.c: Likewise.
99018         * lib/getpagesize.h: Likewise.
99019         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
99020         and probably does not work.
99022 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
99024         * lib/.cppi-disable: Add wcwidth.
99025         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
99026         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
99027         (ISGRAPH): Remove.  All uses changed to isgraph.
99028         (FOLD) [!defined _LIBC]: Remove special case.
99029         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
99030         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
99031         HAVE_ISBLANK.
99032         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
99033         case.
99035 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99037         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
99038         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
99039         brackets.  Other minor changes to suppress some compiler
99040         warnings.
99042 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99043         and Paul Eggert  <eggert@cs.ucla.edu>
99045         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
99046         of invoking obsolescent AC_HEADER_DIRENT macro.
99047         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
99048         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
99049         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
99050         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
99051         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
99052         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
99053         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
99054         * m4/readdir.m4: Remove; no longer needed.
99056 2006-07-06  Derek R. Price  <derek@ximbiot.com>
99057         and Paul Eggert  <eggert@cs.ucla.edu>
99059         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
99060         Don't worry about this obsolete case any more.
99061         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
99062         directories.
99063         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
99064         worry about this obsolete case any more.
99065         * lib/fts.c: Likewise.
99066         * lib/getcwd.c: Likewise.
99067         * lib/glob.h: Likewise.
99068         * lib/savedir.c: Likewise.
99070 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99072         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
99073         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
99074         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
99075         needed.
99076         All uses removed.
99077         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99078         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99079         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
99080         needed.
99081         * m4/getdate.m4 (gl_GETDATE): Likewise.
99082         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99083         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99084         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99085         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99086         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
99087         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99088         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
99089         needed.
99091 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
99093         * lib/memcasecmp.c: Include <limits.h>.
99094         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
99095         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
99096         Don't assume isdigit succeeds only on '0' through '9'.
99098 2006-07-05  Eric Blake  <ebb9@byu.net>
99100         * modules/getaddrinfo (Depends-on): Add snprintf.
99102 2006-07-05  Eric Blake  <ebb9@byu.net>
99104         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
99105         to avoid 'header present but could not be compiled' on cygwin.
99107 2006-07-05  Eric Blake  <ebb9@byu.net>
99109         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
99110         missing from netdb.h.
99111         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
99113 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99115         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
99116         no longer needed.
99117         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
99118         * m4/getdate.m4 (gl_GETDATE): Likewise.
99119         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
99120         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
99121         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
99122         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
99123         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
99125 2006-07-05  Derek R. Price  <derek@ximbiot.com>
99127         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
99128         All uses of is_space replaced by isspace.
99129         * lib/exit.h: Don't talk about STDC_HEADERS.
99130         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
99131         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
99132         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
99133         replaced by isprint etc.
99134         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
99135         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99136         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
99137         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
99138         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
99139         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
99141 2006-07-05  Bruno Haible  <bruno@clisp.org>
99143         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
99144         the function exists, before testing against AIX.
99145         Reported by Martin Lambers <marlam@marlam.de>.
99147 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99149         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
99150         From Mark D. Baushke.
99152 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
99154         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
99155         to the absolute name, not just one, to bypass Sun C 5.8's
99156         "warning: #include of /usr/include/... may be non-portable".
99158 2006-07-04  Eric Blake  <ebb9@byu.net>
99160         * modules/dirname-tests: New test module.
99161         * tests/test-dirname.c: New file, replacing dirname.c
99162         TEST_DIRNAME section that was recently deleted.
99164 2006-07-04  Bruno Haible  <bruno@clisp.org>
99166         Assume ANSI C header files and <ctype.h> functions.
99167         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
99168         (mbsnwidth): Use isprint, iscntrl instead.
99170 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99172         Merge from coreutils.
99173         * MODULES.html.sh: Add xstrtold.
99174         * modules/xstrtold: New file.
99175         * modules/cycle-check (Files): Add lib/same-inode.h.
99176         * modules/dirname (Files): Add m4/double-slash-root.m4.
99177         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
99178         * modules/mkdir-p (Files): Add lib/same-inode.h.
99179         * modules/same (Files): Add lib/same-inode.h.
99181 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99183         * m4/absolute-header.m4: Renamed from full-header-path.m4.
99184         This is to keep the terminology clean; POSIX talks about
99185         "absolute pathnames", not "full pathnames", but the GNU
99186         Coding Standards say to use "path" for something else;
99187         so use "absolute" to keep both sides happy.
99188         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
99189         Set gl_absolute_header, not gl_full_header_path.
99190         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
99191         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
99192         All uses changed.
99194         Merge from coreutils.
99196         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99198         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
99199         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
99200         want to require the building of c-strtod.o.
99201         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
99202         needs -lm directly.
99203         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
99205         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99207         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
99208         --as-needed option if available.  Problem reported by Albert Chin in
99209         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
99210         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
99211         cc merely issues a bunch of annoying warnings for --as-needed
99212         (this problem was reported by Bob Proulx).  Also, try linking with
99213         -lm to detect a bug in binutils 2.16 (this problem was reported
99214         by Ralf Wildenhues).
99216         2006-06-18  Jim Meyering  <jim@meyering.net>
99218         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
99219         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
99220         macro.
99221         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
99222         also check for glibc-2.4's abort-inducing bug.
99224         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
99225         Low-probability clean-up should be to use rmdir to get rid of
99226         the just-created directory, not unlink.
99228         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
99229         configure fail, and request a bug report to inform us about it.
99230         Add a comment that, barring reports to the contrary, in 2007 we'll
99231         assume ftruncate is universally available.
99233         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99235         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
99237         2006-03-12  Jim Meyering  <jim@meyering.net>
99239         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
99240         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
99241         * m4/same.m4 (gl_SAME): Likewise.
99242         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
99244         2006-03-11  Eric Blake  <ebb9@byu.net>
99246         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
99247         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
99248         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
99249         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
99251 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
99253         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
99254         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
99255         reported by Mark D. Baushke, one in
99256         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
99258         Merge from coreutils.
99260         * lib/.cppi-disable: Add stdint_.h.
99261         * lib/.cvsignore: Add stdint.h.
99263         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
99265         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
99266         both double and long double versions.
99267         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
99268         * lib/xstrtold.c: New file.
99269         * lib/xstrtod.h (xstrtold): New decl.
99271         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
99273         * lib/filemode.c (setst): Remove.
99274         (strmode): Rewrite to avoid setst.  This makes the code shorter,
99275         (arguably) clearer, and the generated code is a bit smaller on my
99276         Debian GNU/Linux stable x86 host.
99278         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
99280         * lib/filemode.c: Include "filemode.h" first, to test the interface.
99281         Assume that filemode.h includes sys/types.h and sys/stat.h.
99282         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
99283         (ftypelet): Reorder to put common cases first, for efficiency.
99284         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
99285         to do 'M'.
99286         (strmode): Renamed from mode_string, and now stores 12 bytes instead
99287         of 10, for compatibility with FreeBSD.  All callers changed.
99288         (filemodestring): Now stores 12 bytes instead of 10, and sets file
99289         types that can't be deduced solely from st_mode.  First arg is now a
99290         const pointer.
99291         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
99292         (strmode): Renamed from mode_string.
99293         (filemodestring): New decl.
99294         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
99295         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
99296         needed.
99297         (S_ISPORT, S_ISWHT): New macros, if not already defined.
99299         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
99301         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
99302         fsusage.h now does that.  Include fsusage.h first, to test interface.
99303         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
99304         at most one method (the old code could have generated decls that
99305         didn't conform to C89, not that this was ever exercised).
99306         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
99308         2006-03-19  Jim Meyering  <jim@meyering.net>
99310         Work even in a chroot where d_ino values for entries in "/"
99311         don't match the stat.st_ino values for the same names.
99312         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
99313         number, iterate through all entries again, using lstat instead.
99314         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
99315         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
99317         * lib/getcwd.c (__getcwd): Clarify a comment.
99318         Use memcpy in place of a call to strcpy.
99320         2006-03-12  Jim Meyering  <jim@meyering.net>
99322         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
99323         matches that of the current directory (which we're about to chdir ".."
99324         out of), then save the dev-ino of the parent, instead.
99326         * lib/same-inode.h (SAME_INODE): New file/macro.
99327         * lib/chdir-safer.c (SAME_INODE): Remove definition.
99328         Include "same-inode.h", instead.
99329         * lib/same.c: Likewise.
99330         * lib/cycle-check.h: Include "same-inode.h".
99331         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
99332         * lib/cycle-check.c (SAME_INODE): Remove definition.
99333         * lib/root-dev-ino.h: Include "same-inode.h".
99335         2006-03-11  Eric Blake  <ebb9@byu.net>
99337         * lib/same.c (same_name): s/base_name/last_component/
99338         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
99339         * lib/filenamecat.c (file_name_concat): Likewise.
99341         2006-03-11  Eric Blake  <ebb9@byu.net>,
99342                     Paul Eggert  <eggert@cs.ucla.edu>
99344         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
99345         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
99346         drive prefix.
99347         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
99348         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
99349         (last_component): New method.
99350         * lib/dirname.c (dir_len): Determine when drive letters need a
99351         subsequent slash.  Preserve // when it is special.
99352         (dir_name): Don't append dot when drive letter is absolute.
99353         [TEST_DIRNAME]: Move into a full-blown gnulib test.
99354         * lib/basename.c (base_name): New semantics - malloc the result.
99355         Preserve // when it is special.  Preserve relative files that look
99356         like drive letters.
99357         (base_len): Preserve // when it is special.
99358         (last_component): New method, similar to old base_name semantics.
99359         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
99360         base_name.  Strip redundant slashes from ///.
99362 2006-07-03  Jim Meyering  <jim@meyering.net>
99364         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
99365         macro is used before the first cycle_check call.
99367 2006-07-03  Eric Blake  <ebb9@byu.net>
99369         * modules/dirname (Depends-on): Add xstrndup.
99371 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99373         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
99374         test cases, so that config.log is a bit easier to follow.
99376 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
99378         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
99379         both are 64 bits, since this seems to be the tradition, and this
99380         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
99381         we ever run into a host that prefers long long to long in this
99382         case, we'll need another configure-time test.  Problem reported by
99383         Jim Meyering.
99385 2006-07-02  Eric Blake  <ebb9@byu.net>
99387         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
99389 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99391         * modules/inttypes (Depends-on): No longer depends on stdint.
99392         * modules/stdint (Description): Say more about assumptions.
99393         Say that the fast types might differ.  Say macros are used.
99394         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
99395         (Makefile.am): Revise list of substituted symbols to match
99396         new stdint.m4.
99397         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
99398         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
99399         * tests/test-stdint.c (verify_same_types)
99400         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
99401         the code conforms to C99/C89.
99402         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
99403         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
99405 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99407         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
99408         but fix a bug, by requiring at least 64 bits.
99409         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99410         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
99411         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
99412         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
99414         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
99415         changes.  Make 2.59 a prerequisite.  Check and substitute for
99416         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
99417         inttypes.h.  Do not use special include files; just use the
99418         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
99419         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
99420         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
99421         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
99422         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
99423         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
99424         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
99425         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
99426         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
99427         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
99428         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
99429         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
99430         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
99431         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
99432         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
99433         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
99434         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
99435         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
99436         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
99437         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
99438         WINT_MAX.  Check for C99 conformance more strictly, by detecting
99439         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
99440         not check for things that C99 does not require, e.g., int8_t.  If
99441         a test isn't needed unless <stdint.h> isn't working, and is
99442         unlikely to be needed for any other reason, then don't do it
99443         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
99444         size_t, since we assume C89 freestanding at least.  Do not check
99445         for sig_atomic_t, wchar_t, or wint_t, since the code now does
99446         the right thing even if the types are not defined.  Instead use:
99447         (gl_STDINT_TYPE_PROPERTIES): New macro.
99448         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
99449         testing whether <sys/types.h> clashes, as Autoconf does this for
99450         us now.  All uses removed.
99451         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
99452         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
99453         (gl_CHECK_TYPE_SAME):
99454         Remove; no longer needed.
99455         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
99456         exists, since we'll return 0 anyway in that case.
99457         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
99459 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
99461         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
99462         possible collision with system files.
99463         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
99464         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
99465         WCHAR_MIN and WCHAR_MAX in this case.
99466         (<stddef.h>): Do not include; no longer needed.
99467         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
99468         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
99469         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
99470         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
99471         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
99472         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
99473         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
99474         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
99475         !defined(__c99))]: Include in this case too, since it's harmless
99476         now.
99477         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
99478         dangerous to do so.
99479         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
99480         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
99481         (_STDINT_MIN, _STDINT_MAX): New macros.
99482         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
99483         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
99484         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
99485         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
99486         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
99487         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
99488         macros, not typedefs; this simplifies things quite a bit.
99489         Use long int for all types narrower than int64_t.
99490         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
99491         Define in terms of long long int or int64_t or long int,
99492         not int64_t or int32_t.  This saves some compile-time testing.
99493         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
99494         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
99495         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
99496         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
99497         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
99498         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
99499         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
99500         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
99501         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
99502         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
99503         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99504         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99505         undef any previous version and define our own version, for
99506         simplicity and consistency with the new macros for types.
99507         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
99508         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
99509         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
99510         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
99511         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
99512         @WINT_T_SUFFIX@ to keep things simple here.
99513         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
99514         Simplify by assuming typical 8/16/32/64 host, since we're
99515         already doing that elsewhere anyway.
99516         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
99517         and assume long long int is 64 bits if available.  This
99518         speeds up 'configure'.
99520 2006-07-01  Eric Blake  <ebb9@byu.net>
99522         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
99523         Reported by Andreas Buening.
99525 2006-07-01  Eric Blake  <ebb9@byu.net>
99527         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
99529 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
99531         * lib/getaddrinfo.c: fixed typo
99533 2006-06-29  Jim Meyering  <jim@meyering.net>
99535         * modules/strftime (Maintainer): Add my name, since with the
99536         FPRINTFTIME changes strftime.c has forked from glibc.
99538 2006-06-29  Eric Blake  <ebb9@byu.net>
99540         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
99542 2006-06-29  Eric Blake  <ebb9@byu.net>
99544         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
99546 2006-06-29  Eric Blake  <ebb9@byu.net>
99548         * lib/stat_.h: New file.
99550 2006-06-29  Eric Blake  <ebb9@byu.net>
99552         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
99553         unused static function.
99555 2006-06-29  Eric Blake  <ebb9@byu.net>
99557         * doc/functions.texi (Function Portability): Document missing lstat
99558         on mingw.
99560 2006-06-29  Eric Blake  <ebb9@byu.net>
99562         * MODULES.html.sh: Add sys_stat.
99563         * modules/sys_stat: New module.
99564         * modules/mkstemp (Depends-on): Add sys_stat.
99566 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99568         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
99570 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99572         * m4/c-bs-a.m4: Removed.
99574 2006-06-29  Derek R. Price  <derek@ximbiot.com>
99576         * lib/strftime.c: Assume strftime() exists.
99578 2006-06-29  Derek Price  <derek@ximbiot.com>
99580         * modules/c-bs-a: Removed - \a is C89.
99581         * MODULES.html.sh: Remove c-bs-a.
99583 2006-06-29  Bruno Haible  <bruno@clisp.org>
99585         * modules/wcwidth (License): Change to LGPL.
99587 2006-06-28  Simon Josefsson  <jas@extundo.com>
99589         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
99590         on _WIN32.
99592         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
99593         getnameinfo.
99595 2006-06-28  Simon Josefsson  <jas@extundo.com>
99597         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
99599 2006-06-28  Simon Josefsson  <jas@extundo.com>
99601         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
99602         functions there.  It will succeed on Windows XP, but on Windows
99603         2000 and (presumably) earlier, it will fail, and use the internal
99604         re-implementation.
99605         (use_win32_p): New function.
99606         (getaddrinfo): Use strtoul on servname, to support numeric ports.
99607         Support AI_NUMERICSERV to disable getservbyname.
99608         (getnameinfo): New function, only supports
99609         NI_NUMERICHOST|NI_NUMERICSERV for now.
99611         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
99612         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
99613         getnameinfo.
99615 2006-06-28  Eric Blake  <ebb9@byu.net>
99617         * modules/wcwidth: New file.
99618         * modules/mbchar (Depends-on): Add wcwidth.
99619         * modules/mbswidth (Depends-on): Add wcwidth.
99620         * MODULES.html.sh: Add wcwidth.
99622 2006-06-28  Eric Blake  <ebb9@byu.net>
99624         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
99625         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
99627 2006-06-28  Eric Blake  <ebb9@byu.net>
99629         * lib/xvasprintf.h: Fix comments.
99631 2006-06-28  Eric Blake  <ebb9@byu.net>
99633         * lib/mbchar.h (wcwidth): Include wcwidth.h.
99634         * lib/mbswidth.c (wcwidth): Move from here...
99635         * lib/wcwidth.h: ...to this new file.
99637 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99639         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
99641         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
99642         it's obsolete.
99643         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
99645 2006-06-28  Derek R. Price  <derek@ximbiot.com>
99647         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
99648         Autoconf 2.60 says this stuff was obsolete.
99650 2006-06-28  Bruno Haible  <bruno@clisp.org>
99652         * modules/wcwidth (Files): Add m4/wchar_t.m4.
99654 2006-06-28  Bruno Haible  <bruno@clisp.org>
99656         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
99657         gt_TYPE_WCHAR_T.
99659 2006-06-28  Bruno Haible  <bruno@clisp.org>
99661         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
99662         declaration for wcwidth.
99663         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
99665 2006-06-28  Bruno Haible  <bruno@clisp.org>
99667         * lib/mkdtemp.c [MINGW]: Include <io.h>.
99668         (mkdir): Define using _mkdir.
99670 2006-06-28  Bruno Haible  <bruno@clisp.org>
99672         * lib/getaddrinfo.h: Fix POSIX URL.
99673         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
99674         _WIN32.
99675         (use_win32_p): Make static.
99676         (getaddrinfo): Reject service name if it is empty or does not consist
99677         solely of decimal digits, or if its value is > 65535.
99678         (getnameinfo): Remove useless casts.
99680 2006-06-27  Simon Josefsson  <jas@extundo.com>
99682         * modules/sys_select: New file, suggested by Bruno Haible, Paul
99683         Eggert and Martin Lambers.
99685 2006-06-27  Simon Josefsson  <jas@extundo.com>
99687         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
99688         Eggert and Martin Lambers.
99690 2006-06-27  Bruno Haible  <bruno@clisp.org>
99692         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
99693         result to 0, not to empty.
99694         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
99696 2006-06-27  Bruno Haible  <bruno@clisp.org>
99698         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
99700 2006-06-26  Simon Josefsson  <jas@extundo.com>
99702         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
99703         present.
99705 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
99707         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
99708         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
99709         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
99711 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
99713         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
99715 2006-06-26  Bruno Haible  <bruno@clisp.org>
99717         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
99719 2006-06-26  Bruno Haible  <bruno@clisp.org>
99721         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
99723 2006-06-26  Bruno Haible  <bruno@clisp.org>
99725         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
99726         SGI C compiler in pre-C99 mode.
99727         Suggested by Mark D. Baushke and Larry Jones.
99729 2006-06-26  Bruno Haible  <bruno@clisp.org>
99731         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
99732         WCHAR_MAX.
99733         Reported by Mark D. Baushke and Larry Jones.
99735 2006-06-26  Bruno Haible  <bruno@clisp.org>
99737         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
99738         in pre-C99 mode.
99739         Suggested by Mark D. Baushke and Larry Jones.
99741 2006-06-23  Simon Josefsson  <jas@extundo.com>
99742             Bruno Haible  <bruno@clisp.org>
99744         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
99745         Emit mostlyclean-local rule.
99746         (func_emit_tests_Makefile_am): Likewise.
99747         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
99749 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
99751         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
99753 2006-06-23  Bruno Haible  <bruno@clisp.org>
99755         * tests/test-stdint.c: Update to match ISO C 99 Technical
99756         Corrigendum 1.
99758 2006-06-23  Bruno Haible  <bruno@clisp.org>
99760         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
99762 2006-06-23  Bruno Haible  <bruno@clisp.org>
99764         * lib/stdint_.h: Treat IRIX like OpenBSD.
99766 2006-06-23  Bruno Haible  <bruno@clisp.org>
99768         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
99769         ISO C 99 Technical Corrigendum 1.
99771 2006-06-22  Simon Josefsson  <jas@extundo.com>
99773         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
99774         MinGW.
99776 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
99778         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
99779         needed.  Some compiler complained about some of them.  Problem reported
99780         by Larry Jones in
99781         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
99783 2006-06-21  Simon Josefsson  <jas@extundo.com>
99785         * tests/test-getaddrinfo.c: New file.
99787         * modules/getaddrinfo-tests: New file.
99789         * MODULES.html.sh: Add inet_pton.
99791         * modules/inet_pton: New file.
99793 2006-06-21  Simon Josefsson  <jas@extundo.com>
99795         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
99796         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
99797         of using the (limited) gnulib implementation on Windows XP.
99799         * m4/inet_pton.m4: New file.
99801 2006-06-21  Simon Josefsson  <jas@extundo.com>
99803         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
99804         variable.
99806         * lib/socket_.h: Don't define WINVER.
99808         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
99809         slightly modified to work in gnulib.
99811 2006-06-21  Simon Josefsson  <jas@extundo.com>
99813         * doc/gnulib.texi (Windows sockets): Add.
99815 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
99817         * lib/read-file.c (fread_file): Start with buffer allocation of
99818         0 bytes rather than 1 byte; this simplifies the code.
99819         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
99820         code to free buffer and save/restore errno.
99821         (internal_read_file): Remove unused local.
99823 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
99825         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
99826         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
99827         Problem reported by Denis Excoffier in
99828         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
99830 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
99832         * modules/sys_socket, modules/socklen: Include sys/types since
99833         FreeBSD 4.x's sys/socket.h needs it.
99835 2006-06-19  Simon Josefsson  <jas@extundo.com>
99837         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
99839 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
99841         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
99843 2006-06-19  Bruno Haible  <bruno@clisp.org>
99845         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
99846         and FULL_PATH_INTTYPES_H in angle brackets.
99847         Reported by Mark D. Baushke <mdb@gnu.org>.
99849 2006-06-17  Eric Blake  <ebb9@byu.net>
99851         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
99852         errno.
99854 2006-06-17  Bruno Haible  <bruno@clisp.org>
99856         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
99857         <sys/inttypes.h>.
99859 2006-06-17  Bruno Haible  <bruno@clisp.org>
99861         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
99862         whether errno is declared. Assume <errno.h> declares errno.
99864 2006-06-17  Bruno Haible  <bruno@clisp.org>
99866         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
99868 2006-06-17  Bruno Haible  <bruno@clisp.org>
99870         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
99871         problem on Solaris 2.5.1.
99873 2006-06-16  Eric Blake  <ebb9@byu.net>
99875         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
99876         * lib/unicodeio.c [!defined errno]: Likewise.
99877         * lib/strtol.c [!defined errno]: Likewise.
99878         * lib/strtod.c [!defined errno]: Likewise.
99880 2006-06-15  Eric Blake  <ebb9@byu.net>
99882         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
99884 2006-06-15  Eric Blake  <ebb9@byu.net>
99886         * config/srclist.txt (ssize_t.m4): Lose sync.
99888 2006-06-15  Bruno Haible  <bruno@clisp.org>
99890         * modules/stdint (Files): Include m4/full-header-path.m4,
99891         m4/size_max.m4, m4/wchar_t.m4.
99892         (Makefile.am): Many more substitutions.
99893         * modules/stdint-tests: New file.
99894         * tests/test-stdint.c: New file.
99896 2006-06-15  Bruno Haible  <bruno@clisp.org>
99898         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
99899         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
99900         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
99901         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
99902         gl_CHECK_TYPE_SAME): New macros.
99904 2006-06-15  Bruno Haible  <bruno@clisp.org>
99906         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
99908 2006-06-15  Bruno Haible  <bruno@clisp.org>
99910         * lib/stdint_.h: Rewritten to be fully auto-configured.
99911         Fixes bug on HP-UX/IA64.
99913 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
99915         * lib/getdate.y (__attribute__): Don't define if already defined.
99916         Problem reported by Larry Jones.
99917         * lib/utimens.c (__attribute__): Likewise.
99919 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
99921         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
99922         reported by Andreas Schwab.
99924 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99925             Bruno Haible  <bruno@clisp.org>
99927         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
99928         check for the declaration of strnlen and a run test that exposes the
99929         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
99930         rpl_strndup.
99932 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99933             Bruno Haible  <bruno@clisp.org>
99935         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
99937 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99939         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
99940         compile test, for Tru64 4.0D.
99942 2006-05-28  Karl Berry  <karl@gnu.org>
99944         * config/srclist.txt (printf-args.c): lose sync.
99946 2006-05-26  Martin Lambers  <marlam@marlam.de>
99948         * lib/getpass.c: Updates the test for the native W32 API, and adds
99949         missing includes, thus fixing compilation warnings.
99951 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
99953         * lib/exclude.c (exclude_fnmatch): New function.
99954         (excluded_file_name): Call exclude_fnmatch.
99955         * lib/exclude.h (excluded_file_name): New prototype
99957 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
99959         * lib/tempname.c (small_open, large_open): New macros.
99960         (__open, __open64) [!_LIBC]: Remove.
99961         (__gen_tempname): Use small_open and large_open instead of __open
99962         and __open64.  This fixes a portability bug on HP-UX 11.11i
99963         reported by Simon Wing-Tang in
99964         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
99966 2006-05-24  Bruno Haible  <bruno@clisp.org>
99968         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
99969         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
99970         Reported by Thorsten Maerz <torte@netztorte.de> via
99971         Aaron Stone <aaron@serendipity.cx>.
99973 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99975         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
99976         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
99977         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
99978         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
99979         not really conditional on the cache.
99980         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
99982 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
99984         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
99985         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
99986         (my_usleep): Don't mishandle maximum value.
99988 2006-05-19  Jim Meyering  <jim@meyering.net>
99990         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
99992 2006-05-17  Bruno Haible  <bruno@clisp.org>
99994         Cygwin portability.
99995         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
99997 2006-05-17  Bruno Haible  <bruno@clisp.org>
99999         * lib/stdint_.h: Fix recognition of Cygwin.
100001 2006-05-15  Bruno Haible  <bruno@clisp.org>
100003         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
100004         on libtool patch by Ralf Wildenhues.
100006 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
100008         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
100009         test for C99 conformance; (bool) 0.5 is an integer constant
100010         expression, but (bool) -0.5 is not.  Problem reported by Fedor
100011         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
100013 2006-05-11  Simon Josefsson  <jas@extundo.com>
100015         * m4/xvasprintf.m4: Fix obvious typo.
100017 2006-05-11  Jim Meyering  <jim@meyering.net>
100019         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
100020         James Lemley.
100022 2006-05-10  Simon Josefsson  <jas@extundo.com>
100024         * lib/md4.c: Typo fix, update copyright years.
100025         (K1, K2): Don't use L because it turn computations into 64-bit on
100026         64-bit platforms.
100028 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
100030         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
100031         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
100032         unwanted sign propagation, e.g., on hosts with 64-bit int.
100033         There still are some problems with reeelly weird theoretical hosts
100034         (e.g., 33-bit int) but it's not worth worrying about now.
100035         * lib/sha1.c (rol): Likewise.
100036         (K1, K2, K3, K4): Remove unnecessary L suffix.
100038 2006-05-10  Bruno Haible  <bruno@clisp.org>
100040         * lib/des.c: Cast to avoid warnings.
100042 2006-05-09  Bruno Haible  <bruno@clisp.org>
100044         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
100045         (Depends-on): Depend also on xsize, stdarg.
100046         (configure.ac): Add gl_XVASPRINTF.
100048 2006-05-09  Bruno Haible  <bruno@clisp.org>
100050         * m4/xvasprintf.m4: New file.
100052 2006-05-09  Bruno Haible  <bruno@clisp.org>
100054         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
100055         (EOVERFLOW): Define fallback value.
100056         (xstrcat): New function.
100057         (xvasprintf): Recognize the special case of a string concatenation.
100059 2006-05-08  Eric Blake  <ebb9@byu.net>
100061         * gnulib-tool (func_version): Base copyright year on CVS date.
100062         (func_emit_copyright_notice): New function.
100063         (func_emit_lib_Makefile_am): Use it.
100064         (func_emit_tests_Makefile_am): Likewise.
100065         (func_import): Likewise.
100067 2006-05-08  Bruno Haible  <bruno@clisp.org>
100069         * modules/stdarg: New file.
100070         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
100072 2006-05-08  Bruno Haible  <bruno@clisp.org>
100074         * m4/stdarg.m4: New file, from GNU gettext.
100076 2006-05-08  Bruno Haible  <bruno@clisp.org>
100078         * config/srclist.txt (build-aux/config.rpath): different from latest
100079         release.
100081 2006-05-08  Bruno Haible  <bruno@clisp.org>
100083         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
100085 2006-05-05  Jim Meyering  <jim@meyering.net>
100087         * m4/warning.m4: New file, derived from bison's file by the same name.
100089 2006-05-03  Bruno Haible  <bruno@clisp.org>
100091         * lib/stdint_.h: Shorter URL.
100092         * lib/inttypes.h: Likewise.
100094 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100096         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
100098 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100100         * lib/verify.h: Document the internals better.  Most of this change
100101         was written by Bruno Haible.
100103 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
100105         * doc/verify.texi: New file, partly based on a proposal by
100106         Bruno Haible.
100108 2006-05-02  Bruno Haible  <bruno@clisp.org>
100110         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
100111         test from here...
100112         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
100114 2006-04-29  Bruno Haible  <bruno@clisp.org>
100116         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
100117         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
100119 2006-04-29  Bruno Haible  <bruno@clisp.org>
100121         * gnulib-tool: Make --update option actually work.
100123 2006-04-29  Bruno Haible  <bruno@clisp.org>
100125         * doc/gcd.texi: New file.
100126         * doc/gnulib.texi: Include it.
100128 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
100130         * lib/getdate.y (get_date): When adding relative date, start with the
100131         initial time, not with the result of the first mktime call.
100133 2006-04-25  Bruno Haible  <bruno@clisp.org>
100135         * gnulib-tool (func_import): Output the include directives in three
100136         blocks, sorted separately.
100137         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100139 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100141         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
100142         to define main with arguments, for C++.  Reported by Eric Blake.
100143         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
100144         Prefer 'int main ()' to 'int main (void)', for C++.
100145         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
100146         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
100147         for 'main', for C99 and C++.
100149 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
100151         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
100152         Don't assume that exit status -1 is valid.
100153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100154         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
100155         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
100156         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
100157         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
100158         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
100159         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
100160         functions can be used without declaring them, or that you can
100161         exit with status -1.
100162         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
100164 2006-04-24  Karl Berry  <karl@gnu.org>
100166         * config/srclist.txt (longdouble.m4): sync lost.
100168 2006-04-24  Eric Blake  <ebb9@byu.net>
100170         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
100172 2006-04-24  Bruno Haible  <bruno@clisp.org>
100174         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
100175         poll() implementation in AIX.
100176         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100178 2006-04-24  Bruno Haible  <bruno@clisp.org>
100180         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
100181         assigned exactly once.
100183 2006-04-23  Claudio Fontana  <claudio@gnu.org>
100184             Bruno Haible  <bruno@clisp.org>
100186         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
100187         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
100188         for AM_CPPFLAGS.
100190 2006-04-23  Bruno Haible  <bruno@clisp.org>
100192         * modules/copy-file: Depend on unistd.
100193         * modules/execute: Likewise.
100194         * modules/fatal-signal: Likewise.
100195         * modules/findprog: Likewise.
100196         * modules/mkdtemp : Likewise.
100197         * modules/pipe: Likewise.
100198         * modules/wait-process: Likewise.
100200 2006-04-23  Bruno Haible  <bruno@clisp.org>
100202         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
100203         condition was already detected.
100204         Reported by Ben Pfaff <blp@cs.stanford.edu>.
100206 2006-04-23  Bruno Haible  <bruno@clisp.org>
100208         * lib/copy-file.c: Include <unistd.h> unconditionally.
100209         * lib/execute.c: Likewise.
100210         * lib/fatal-signal.c: Likewise.
100211         * lib/findprog.c: Likewise.
100212         * lib/mkdtemp.c: Likewise.
100213         * lib/pipe.h: Likewise.
100214         * lib/pipe.c: Likewise.
100215         * lib/wait-process.h: Likewise.
100217 2006-04-23  Bruno Haible  <bruno@clisp.org>
100219         * gnulib-tool (func_usage): Fix --import description. Document
100220         --update.
100221         (func_import): Create temporary file in a temporary directory, if
100222         --dry-run is specified. Silence errors from 'grep' when there are no
100223         m4 files in $m4dir.
100224         (func_create_testdir): Silence errors from 'grep' when there are no
100225         m4 files in $m4dir.
100226         Reported by Karl Berry <karl@freefriends.org>.
100228 2006-04-20  Bruno Haible  <bruno@clisp.org>
100230         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
100231         one argument, so that the code will be portable to Autoconf 2.60.
100232         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
100233         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
100234         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
100236 2006-04-19  Derek Price  <derek@ximbiot.com>
100237             Eric Blake  <ebb9@byu.net>
100239         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
100240         rather than "/full/path.h".  Update comment to match.  Shorten &
100241         generalize m4_translit call via AS_TR_CPP.
100243 2006-04-19  Derek Price  <derek@ximbiot.com>
100244             Eric Blake  <ebb9@byu.net>
100246         * lib/inttypes.h: Correct grammar in comment.
100248 2006-04-18  Derek Price  <derek@ximbiot.com>
100249             Paul Eggert  <eggert@cs.ucla.edu>
100251         * modules/inttypes: New file.
100252         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
100254 2006-04-18  Derek Price  <derek@ximbiot.com>
100255             Paul Eggert  <eggert@cs.ucla.edu>
100257         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
100258         New files.
100260 2006-04-18  Derek Price  <derek@ximbiot.com>
100261             Paul Eggert  <eggert@cs.ucla.edu>
100263         * lib/inttypes.h: New file.
100264         * lib/strtoimax.c: Assume <inttypes.h>.
100266 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
100268         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
100269         isn't mounted.  Problem reported by Kir Kolyshkin.
100271 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
100273         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
100274         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
100275         Derek R. Price.
100276         * lib/regex.h (RE_DUP_MAX): Update comment to match current
100277         implementation.
100279 2006-04-12  Eric Blake  <ebb9@byu.net>
100281         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
100282         is now done automatically by the corresponding Autoconf macro.
100284 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
100286         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
100287         time_r.h.
100289 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100291         Merge regex changes from libc, removing some of our
100292         POSIX-conformance changes that were rejected and redoing them in a
100293         less-intrusive way.
100295         * lib/regcomp.c (re_compile_internal, init_dfa):
100296         Length arg is now size_t, not Idx.  All uses changed.
100297         (peek_token): Forward decl now says internal_function.
100298         (__re_error_msgid, __re_error_msgid_idx):
100299         Now static rather than extern with attribute_hidden.
100300         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
100301         For some reason libc prefers K&R style defns for external functions.
100302         (regerror) [!defined _LIBC]: Likewise.
100303         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
100304         (seek_collating_symbol_entry, lookup_collation_sequence_value):
100305         (build_range_exp, build_collating_symbol):
100306         Use K&R-style defn.
100307         (re_compile_fastmap): Use '\0' to memset, not 0.
100308         (utf8_sb_map): Make the calculations more obvious.
100309         (init_dfa, parse_bracket_exp, build_charclass_op):
100310         Call calloc and cast result, as glibc does.
100311         (init_word_char, fetch_token, peek_token, peek_token_bracket):
100312         (build_range_exp, build_collating_symbol):
100313         Now internal functions.
100315         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
100317         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
100318         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
100319         Don't depend on VMS; depend on __VMS instead, for POSIX
100320         namespace cleanness.
100321         (regoff_t): Define to ssize_t, not long int.
100323         Remove the REG_ macros named below.  Instead, make the old names
100324         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
100325         __USE_GNU_REGEX.
100326         (REG_BACKSLASH_ESCAPE_IN_LISTS):
100327         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
100328         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
100329         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
100330         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
100331         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
100332         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
100333         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
100334         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
100335         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
100336         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
100337         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
100338         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
100339         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
100340         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
100341         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
100342         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
100343         (REG_NREGS):
100344         Remove.  All uses replaced by the old RE_* names.
100345         (RE_BACKSLASH_ESCAPE_IN_LISTS):
100346         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
100347         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
100348         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
100349         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
100350         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
100351         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
100352         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
100353         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
100354         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
100355         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
100356         Don't bother having these macros be independent of each others'
100357         values, since they no longer exist in the POSIX name space.
100359         Rename the following member names back to their old names,
100360         unless !__USE_GNU_REGEX.  All uses changed back.
100361         (buffer): Renamed from re_buffer.
100362         (allocated): Renamed from re_allocated.
100363         (used): Renamed from re_used.
100364         (syntax): Renamed from re_syntax.
100365         (fastmap): Renamed from re_fastmap.
100366         (translate): Renamed from re_translate.
100367         (can_be_null): Renamed from re_can_be_null.
100368         (regs_allocated): Renamed from re_regs_allocated.
100369         (fastmap_accurate): Renamed from re_fastmap_accurate.
100370         (no_sub): Renamed from re_no_sub.
100371         (not_bol): Renamed from re_not_bol.
100372         (not_eol): Renamed from re_not_eol.
100373         (newline_anchor): Renamed from re_newline_anchor.
100374         (num_regs): Renamed from rm_num_regs.
100375         (start): Renamed from rm_start.
100376         (end): Renamed from rm_end.
100378         (free_state): Move up a bit.
100380         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
100381         #define to be empty.
100382         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
100383         when that is what is intended.
100384         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
100385         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
100386         (MAX): New macro.
100387         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
100388         All uses changed back to re_malloc, etc.  It's now the caller's
100389         responsibility to check for overflow; all callers changed.
100390         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
100391         (re_x2nrealloc): Remove.
100392         (free_state): Remove decl.
100394         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
100395         (re_set_registers, re_exec):
100396         Use K&R-style defn.
100398         2006-01-31  Roland McGrath  <roland@redhat.com>
100400         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
100401         Reported by Mike Frysinger <vapier@gentoo.org>.
100403         2006-01-15  Andreas Jaeger  <aj@suse.de>
100405         [BZ #1950]
100406         * lib/regex_internal.c (re_string_reconstruct): Adjust for
100407         build_wcs_upper_buffer change.
100408         (build_wcs_upper_buffer): Change return type.
100410         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
100412         * lib/regex_internal.h: Include <stdint.h> if available.
100414         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
100416         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
100418         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
100420         * lib/regcomp.c: Adjust for changed secondary hash function.
100422         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
100424         * lib/regex.h: Pretty printing.
100425         Clean up namespace a bit.
100427         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
100429         * lib/regexec.c (update_cur_sifted_state, check_arrival,
100430         check_arrival_add_next_nodes): Avoid using uninitialized variable.
100432         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
100433                     Ulrich Drepper  <drepper@redhat.com>
100435         [BZ #1302]
100436         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
100437         changed.
100438         (bitset_word_t): Renamed from bitset_word.  All uses changed.
100440         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
100442         [BZ #281]
100443         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
100444         * lib/regcomp.c: Remove unnecessary uses of
100445         unsigned RE_TRANSLATE_TYPE.
100446         * lib/regex_internal.h: Likewise.
100447         * lib/regex_internal.c: Likewise.
100448         * lib/regexec.c: Likewise.
100449         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
100451         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
100453         * lib/regexec.c (find_recover_state): Remove unnecessary
100454         initialization.
100455         (transit_state_bkref): Make DFA a const pointer.
100456         (get_subexp): Likewise.
100457         (check_arrival): Likewise.
100458         (update_cur_sifted_state): Likewise.
100459         (re_search_internal): Likewise.
100460         (prune_impossible_nodes): Likewise.
100461         (acquire_init_state_context): Likewise.
100462         (proceed_next_node): Likewise.
100463         (set_regs): Likewise.
100464         (free_fail_stack_return): Likewise.
100465         (check_arrival_expand_ecl): Mark DFA parameter as const.
100466         (check_arrival_expand_ecl_sub): Likewise.
100467         (check_subexp_limits): Likewise.
100468         (sub_epsilon_src_nodes):  Likewise.
100469         (add_epsilon_src_nodes):  Likewise.
100470         (merge_state_array): Likewise.
100471         (update_regs): Likewise.
100472         (build_trtable): Likewise.
100473         (sift_states_backward): Mark MCTX parameter as const.
100474         (build_sifted_states): Likewise.
100475         (update_cur_sifted_state): Likewise.
100476         (sift_states_mkref): Likewise.
100477         (check_arrival_expand_ecl): Mark eclosure as const.
100478         (check_dst_limits_calc_pos_1): Likewise.
100479         * lib/regex_internal.h (re_match_context_t): Make dfa a const
100480         pointer.
100482         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
100484         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
100485         (transit_state_sb): Likewise.
100486         (transit_state_mb): Likewise.
100487         (sift_states_iter_mb): Likewise.
100488         (check_arrival_add_next_nodes): Likewise.
100489         (check_node_accept_bytes): Change first parameter to pointer-to-const.
100490         [_LIBC] (re_search_2_stub): Use mempcpy.
100492         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
100493         mbrtowc for very simple UTF-8 case.
100495         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
100496         a pointer-to-const.
100497         (re_acquire_state_context): Likewise.
100498         * lib/regex_internal.h: Adjust prototypes.
100500         * lib/regex.c: Prevent using C++ compilers.
100502         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
100503         (re_acquire_state_context): Likewise.
100505 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100507         * modules/regex (Depends-on): Add ssize_t.
100509 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100511         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
100512         translation table.
100514 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
100516         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
100518 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
100519             Bruno Haible  <bruno@clisp.org>
100521         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
100522         <sys/types.h> and <inttypes.h>.
100524 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100526         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
100527         `__error_t_defined', so argp.h will not typedef the former.
100529 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
100531         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
100532         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
100533         glibc names.  Even if glibc is changed to conform to POSIX, the
100534         traditional names will be available anyway, since regex depends on
100535         the extensions module.  Also, fix a longstanding typo in the
100536         implementation of Spencer ERE test #75 from grep 2.3.  Problems
100537         reported by Emanuele Giaquinta.  Also, change sense of cached
100538         variable, so that the message makes sense.
100540 2006-03-24  Simon Josefsson  <jas@extundo.com>
100542         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
100543         including some doc fixes.
100544         (base64_encode_alloc): Fix +1 bug on allocation failures.
100546 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100548         * lib/base64.c (base64_encode): Do not read past end of array with
100549         unsanitized input on systems with CHAR_BIT > 8.
100551 2006-03-24  Eric Blake  <ebb9@byu.net>
100553         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
100555 2006-03-22  Karl Berry  <karl@gnu.org>
100557         * config/srclist.txt (*setenv.[ch]): get from coreutils.
100558         * config/srclistvars.sh (COREUTILS): new var.
100560 2006-03-17  Jim Meyering  <jim@meyering.net>
100562         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
100563         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
100565 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100567         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
100568         no longer needs it.  Instead, check that regoff_t is as least
100569         as wide as ptrdiff_t.
100571         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
100572         so that our regex.h stays compatible with the installed regex.
100573         This is helpful for installers who configure --without-included-regex.
100574         Problem reported by Emanuele Giaquinta.
100576 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
100578         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
100579         Typedef to long int, not to off_, as POSIX will likely change
100580         in that direction.
100582 2006-03-15  Eric Blake  <ebb9@byu.net>
100584         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
100586 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100588         * lib/argp-help.c (validate_uparams): Fix typo
100589         * lib/argp-parse.c (argp_default_options): Consistently begin help
100590         messages with a lowercase letter.
100592 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
100594         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
100595         overrun buffers and shouldn't be used (much as gets shouldn't be
100596         used).
100597         * lib/time_r.c (asctime_r, ctime_r): Likewise.
100599 2006-03-08  Simon Josefsson  <jas@extundo.com>
100601         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
100602         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100604 2006-03-08  Simon Josefsson  <jas@extundo.com>
100606         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
100607         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100609 2006-03-08  Simon Josefsson  <jas@extundo.com>
100611         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
100612         signal that configure disabled the device.
100614 2006-03-08  Simon Josefsson  <jas@extundo.com>
100616         * build-aux/maint.mk: Fix refresh-po, to handle no translated
100617         languages.
100619 2006-03-07  Simon Josefsson  <jas@extundo.com>
100621         * modules/getopt (Depends-on): Add unistd.
100623         * modules/unistd: New file.
100625 2006-03-07  Simon Josefsson  <jas@extundo.com>
100627         * modules/gc-random: New file.
100629 2006-03-07  Simon Josefsson  <jas@extundo.com>
100631         * m4/unistd_h.m4: New file.
100633 2006-03-07  Simon Josefsson  <jas@extundo.com>
100635         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
100636         test to be side-effect free by storing the result in the cache
100637         variable gl_cv_lib_readline, and moving the assignment of
100638         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
100639         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
100641 2006-03-07  Simon Josefsson  <jas@extundo.com>
100643         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
100644         error on missing devices (the functions will return an error).
100646         * m4/gc.m4: Move random stuff to gc-random.m4
100648 2006-03-07  Simon Josefsson  <jas@extundo.com>
100650         * lib/unistd_.h: New file.
100652 2006-03-07  Simon Josefsson  <jas@extundo.com>
100654         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
100656 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100658         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
100659         Problem reported by Juan Manuel Guerrero.
100661 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100663         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
100664         the unistd module.
100665         * lib/getlogin_r.c: Likewise.
100666         * lib/getlogin_r.h: Likewise.
100667         * lib/glob.c: Likewise.
100668         * lib/pagealign_alloc.c: Likewise.
100669         * lib/unistd_.h: Remove; no longer needed.
100671 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
100673         * MODULES.html.sh (Support for systems lacking POSIX:2001):
100674         Add unistd.
100675         * modules/c-stack (Depends-on): Add unistd.
100676         * modules/getlogin_r: Likewise.
100677         * modules/glob: Likewise.
100678         * modules/pagealign_alloc: Likewise.
100679         * modules/unistd (Files): Remove lib/unistd_.h.
100680         (EXTRA_DIST): Remove.
100681         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
100682         need unistd_.h.
100683         (MOSTLYCLEANFILES): Remove unistd.h-t.
100685 2006-03-03  Simon Josefsson  <jas@extundo.com>
100687         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
100689 2006-03-03  Simon Josefsson  <jas@extundo.com>
100691         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
100692         libidn and bison.
100694 2006-03-03  Simon Josefsson  <jas@extundo.com>
100696         * build-aux/maint.mk: Add indent target.
100698 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
100700         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
100701         our replacement poll.h in any case, to avoid a differing
100702         declaration from a system header.  Seen on AIX.
100704 2006-03-01  Simon Josefsson  <jas@extundo.com>
100706         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
100707         <kasal@ucw.cz>.
100709 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100711         * modules/gettime (Depends-on): Add extensions module.
100712         * modules/nanosleep (Depends-on): Likewise.
100713         * modules/settime (Depends-on): Likewise.
100715 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
100717         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
100718         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
100719         pedantically.
100720         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
100721         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
100723         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
100724         not "==".  Reported by Ralf Wildenhues.
100726 2006-03-01  Karl Berry  <karl@gnu.org>
100728         * doc/Copyright/request-*: new files, synced from gnuorg.
100730 2006-03-01  Karl Berry  <karl@gnu.org>
100732         * config/srclist.txt (Copyright/*): new entries.
100734 2006-02-28  Simon Josefsson  <jas@extundo.com>
100736         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
100738 2006-02-27  Simon Josefsson  <jas@extundo.com>
100740         * lib/base64.h: Indent #define's.  From Jim Meyering
100741         <jim@meyering.net>.
100743 2006-02-27  Jim Meyering  <jim@meyering.net>
100745         Revert the change of 2006-02-24, so these files can continue
100746         to be sync'd from gettext.
100747         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
100748         of `config.h'.
100750 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
100752         * modules/intprops: New file.
100753         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
100754         Add intprops.
100755         * modules/getloadavg (Files): Remove lib/intprops.h.
100756         (Depends-on): Add intprops.
100757         * modules/human: Likewise.
100758         * modules/inttostr: Likewise.
100759         * modules/openat: Likewise.
100760         * modules/sig2str: Likewise.
100761         * modules/userspec: Likewise.
100762         * modules/utimecmp: Likewise.
100763         * modules/xnanosleep: Likewise.
100764         * modules/xstrtol: Likewise.
100766 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
100768         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
100769         * modules/lock-tests (TESTS): Use $(EXEEXT).
100770         * modules/tls-tests: Likewise.
100771         * modules/argp-tests: Likewise.
100772         (check_PROGRAMS): New var, replacing...
100773         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
100775 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100777         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
100778         `config.h'.
100780 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
100782         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
100784 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
100786         Sync from coreutils.
100787         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
100788         gl_CHDIR_SAFER.
100790 2006-02-22  Jim Meyering  <jim@meyering.net>
100792         Sync from coreutils.
100793         * m4/chdir-safer.m4: New file.
100795 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
100797         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
100798         AT_FDCWD exceeds INT_MAX.
100799         * lib/openat.h (AT_FDCWD): Likewise.
100801 2006-02-17  Eric Blake  <address@hidden>
100803         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
100805 2006-02-16  Simon Josefsson  <jas@extundo.com>
100807         * modules/getaddrinfo (Depends-on): Add sys_socket.
100809 2006-02-15  Simon Josefsson  <jas@extundo.com>
100811         * build-aux/maint.mk: Add dsyntax-check rule.
100813 2006-02-15  Eric Blake  <ebb9@byu.net>
100815         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
100816         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
100817         'present but cannot compile' warnings on cygwin.
100818         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
100819         use ws2tcpip.h if sys/socket.h works.
100820         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
100821         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
100823 2006-02-14  Simon Josefsson  <jas@extundo.com>
100825         * modules/maintainer-makefile (Files): Rename.
100827         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
100828         and (the local) Makefile.cfg to maint-cfg.mk.
100830         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
100831         to the latter.
100833         * modules/maintainer-makefile: New module.
100835         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
100836         severaly stripped to make it possible to build it up from scratch
100837         with reliable tests.
100839         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
100840         fixes to permit overriding the default actions when configure and
100841         makefile are not available.
100843 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
100845         Sync from coreutils.
100846         * modules/lstat (Depends-on): Don't depend on xalloc.
100847         (License): Change from GPL to LGPL, since this is now simply a
100848         replacement for a libc function.
100850 2006-02-14  Jim Meyering  <jim@meyering.net>
100852         Sync from coreutils.
100854         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
100855         failure on deficient systems, and simplify gnulib lgpl dependencies.
100856         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
100857         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
100859         * lib/xalloc-die.c: Remove unused definition of N_.
100861 2006-02-14  Jim Meyering  <jim@meyering.net>
100863         Sync from coreutils.
100864         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
100865         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
100866         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
100867         double-quote uses of that variable, to accommodate the rare case in
100868         which getmntent is available in none of the libraries checked.  This
100869         happens at least on FreeBSD 5.0.
100871 2006-02-13  Simon Josefsson  <jas@extundo.com>
100873         * gnulib-tool (Usage): Fix --import, from
100874         karl@freefriends.org (Karl Berry).
100876 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
100878         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
100880 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
100882         * lib/argp-namefrob.h: Restore changes accidentally lost during the
100883         "autoupdate" on 2005-12-12.
100885 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100887         * modules/closeout (Depends-on): Remove atexit.
100889 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
100891         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
100892         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
100894 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
100896         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
100897         __EXTENSIONS__ if this causes compilation to fail.  Problem
100898         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
100899         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
100901 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
100903         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
100904         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
100905         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
100906         All uses changed.
100908 2006-01-26  Simon Josefsson  <jas@extundo.com>
100910         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
100911         prototype is visible on mingw32.
100913         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
100914         for mingw32.
100916         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
100917         mingw32).
100919 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
100921         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
100922         attempt to open for write; this always fails, at least on POSIX
100923         hosts.  This reinstates the 2006-01-09 change, which was
100924         inadvertently removed.
100926 2006-01-26  Bruno Haible  <bruno@clisp.org>
100928         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
100929         Reported by Paul Eggert.
100931 2006-01-26  Bruno Haible  <bruno@clisp.org>
100932             Paul Eggert  <eggert@cs.ucla.edu>
100934         * lib/stdbool_.h (_Bool)
100935         [(! (defined __cplusplus || defined __BEOS__)
100936           && !defined __GNUC__
100937           && !(defined __HP_cc || defined __xlc__
100938                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
100939                || defined __sgi))]:
100940         #define to signed char in these cases too; this simplifies
100941         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
100942         etc., separately) and makes it more conservative.
100944 2006-01-25  Simon Josefsson  <jas@extundo.com>
100946         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
100947         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
100948         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
100950 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
100952         * lib/argp-namefrob.h: Bugfix. Remove stray #
100954 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
100956         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
100957         so that we test the test.
100958         Check for yet another HP-UX cc bug involving *bool |= bool.
100960 2006-01-25  Karl Berry  <karl@gnu.org>
100962         * config/srclist.txt (vasnprintf.c): sync lost.
100964 2006-01-25  Jim Meyering  <jim@meyering.net>
100966         Sync from the stable (b5) branch of coreutils:
100968         * lib/fts.c (fts_children): Don't let close() clobber errno from
100969         failed fchdir().
100971         * lib/fts.c (fts_stat): When following a symlink-to-directory,
100972         don't necessarily interpret stat-fails+lstat-succeeds as indicating
100973         a dangling symlink.  That can also happen at least for ELOOP.
100974         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
100975         FYI, this bug predates the inclusion of fts.c in coreutils.
100977         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
100978         in their own block, so pre-c99 compilers don't object.
100980         Avoid the double-free (first in fts_read, second in fts_close) that
100981         would occur when an `active' directory is made inaccessible (e.g.,
100982         via chmod a-x) during a traversal.
100983         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
100984         before returning.  Reproduce this failure by
100985         mkdir -p a/b; cd a; chmod a-x . b
100986         Reported by Stavros Passas.
100988 2006-01-25  Jim Meyering  <jim@meyering.net>
100990         * lib/fileblocks.c: Remove more useless parentheses.
100991         * lib/readutmp.h: Likewise.
100993 2006-01-25  Bruno Haible  <bruno@clisp.org>
100995         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
100996         warnings.
100997         Reported by Paul Eggert.
100999 2006-01-25  Bruno Haible  <bruno@clisp.org>
101001         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
101002         rid of a trap command. For Solaris sh.
101003         Reported by Mark D. Baushke <mdb@gnu.org>.
101005 2006-01-24  Simon Josefsson  <jas@extundo.com>
101007         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
101008         Bruno.
101010 2006-01-24  Karl Berry  <karl@gnu.org>
101012         * config/srclist.txt (argp-namefrob.h): sync lost.
101014 2006-01-24  Jim Meyering  <jim@meyering.net>
101016         * modules/openat (Files): Add lib/intprops.h.
101017         From Mark D. Baushke.
101019 2006-01-24  Jim Meyering  <jim@meyering.net>
101021         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
101022         Reported by Mark D. Baushke.
101024 2006-01-24  Jim Meyering  <jim@meyering.net>
101026         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
101028 2006-01-24  Bruno Haible  <bruno@clisp.org>
101030         * modules/strnlen (Maintainer): Change from glibc to all.
101032 2006-01-24  Bruno Haible  <bruno@clisp.org>
101034         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
101035         Patch by Paul Eggert.
101037 2006-01-24  Bruno Haible  <bruno@clisp.org>
101039         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
101040         already has it.
101041         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
101042         2005-11-26.
101044         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
101045         'signed char' to avoid problems with the built-in _Bool type.
101046         Reported by Paul Eggert on 2005-11-26.
101048 2006-01-24  Bruno Haible  <bruno@clisp.org>
101050         * gnulib-tool (func_import): Avoid constructing complicated sed
101051         expressions inside backquote.
101052         Report and solution by Mark D. Baushke <mdb@gnu.org>.
101054 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
101056         These changes imported from libc.
101057         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
101058         test and two separate function calls.
101059         * lib/strndup.c (__strndup): Add libc_hidden_def.
101061 2006-01-23  Simon Josefsson  <jas@extundo.com>
101063         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
101064         Remove the test_*_SOURCES variable: automake infers it by default.
101065         * modules/tls-tests: Likewise.
101067 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101069         Work around porting bugs reported by Dieter in
101070         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
101071         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
101072         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
101073         Include "getopt.h" first, to check interface.
101074         (getenv): Declare only if defined HAVE_DECL_GETENV &&
101075         !HAVE_DECL_GETENV.
101076         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
101077         (__strndup): Revert to K&R-style function dfns, the glibc style.
101078         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
101079         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
101080         Include strnlen.h first, to get prototype properly.
101081         (strnlen): Renamed from __strnlen.
101082         Remove weak alias.
101084 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101086         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
101088 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101090         * config/srclist.txt: Adjust to reflect glibc reorganization.
101091         This affects only comments.
101093 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
101095          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
101096          Reported by Bruce Korb <bkorb@gnu.org>.
101098 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
101100         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
101101         to pacify gcc -Wswitch-default.
101103 2006-01-22  Bruno Haible  <bruno@clisp.org>
101105         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
101106         temporary buffer for sprintf, take into account the precision also
101107         for 'd', 'i', 'u', 'o', 'x', 'X'.
101109 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101111         * modules/argp-tests: New module
101112         * tests/test-argp.c: New file
101113         * tests/test-argp-2.sh: New file
101115 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
101117         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
101118         (__argp_base_name): Removed
101119         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
101120         typo.
101121         (__argp_base_name): Provide macro definition or extern declaration
101122         depending on the configuration
101124 2006-01-20  Simon Josefsson  <jas@extundo.com>
101126         * modules/inet_ntop (Depends-on): Depend on sys_socket.
101128 2006-01-20  Simon Josefsson  <jas@extundo.com>
101130         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
101132 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101134         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
101135         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
101136         Suggested by Bruno Haible.
101138 2006-01-20  Karl Berry  <karl@gnu.org>
101140         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
101141         until changes propagate, I guess.
101143 2006-01-19  Simon Josefsson  <jas@extundo.com>
101145         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
101147 2006-01-19  Simon Josefsson  <jas@extundo.com>
101149         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
101151 2006-01-19  Simon Josefsson  <jas@extundo.com>
101153         * gnulib-tool: Set check_PROGRAMS.
101155         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101156         modules/des-tests, modules/gc-arcfour-tests,
101157         modules/gc-arctwo-tests, modules/gc-des-tests,
101158         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101159         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101160         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101161         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101162         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101163         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
101164         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
101165         test_*_SOURCES.
101167 2006-01-18  Simon Josefsson  <jas@extundo.com>
101169         * modules/socklen (Depends-on): Depend on sys_socket.
101171 2006-01-18  Simon Josefsson  <jas@extundo.com>
101173         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
101174         modules/des-tests, modules/gc-arcfour-tests,
101175         modules/gc-arctwo-tests, modules/gc-des-tests,
101176         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
101177         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
101178         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
101179         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
101180         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
101181         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
101182         $(EXEEXT) to automake TESTS variable, for mingw32.
101184 2006-01-17  Simon Josefsson  <jas@extundo.com>
101186         * modules/socklen (Include): Need sys/socket.h.
101188 2006-01-17  Bruno Haible  <bruno@clisp.org>
101190         * modules/ssize_t (Include): Add <sys/types.h>.
101192 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
101194         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
101195         it's not portable and it doesn't work with cross-compiles.
101196         Problem reported by Bruno Haible.  Fix missing-$ typo in
101197         'test "gl_cv_ignore_unused_libraries" ...' that prevented
101198         -zignore from being used with Sun's C compiler.
101200 2006-01-12  Simon Josefsson  <jas@extundo.com>
101202         * lib/base64.c: Fix warning, reported by Bruno Haible
101203         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
101205 2006-01-12  Bruno Haible  <bruno@clisp.org>
101207         * modules/ldd: New file.
101208         * build-aux/ldd.sh.in: New file.
101209         * MODULES.html.sh (Support for building libraries and executables): Add
101210         ldd.
101212 2006-01-12  Bruno Haible  <bruno@clisp.org>
101214         * m4/ldd.m4: New file.
101216 2006-01-12  Bruno Haible  <bruno@clisp.org>
101218         * gnulib-tool (func_import, func_create_testdir): Don't go into an
101219         endless loop while replacing $auxdir with build-aux.
101221 2006-01-11  Simon Josefsson  <jas@extundo.com>
101223         * lib/stdint_.h (SIZE_MAX): Add missing (.
101225 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
101227         Sync from coreutils.
101228         * lib/md5.c: Fix commentary typos.
101229         (alignof, UNALIGNED_P): No need for a GCC-specific version.
101230         * lib/md5.h (__attribute__): Remove; unused.
101231         * lib/sha1.c: Fix commentary to match md5 better.
101232         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
101233         so that we don't need to worry about alignment.  All uses changed.
101234         This merges the 2005-10-28 md5 change into sha1.
101236 2006-01-11  Jim Meyering  <jim@meyering.net>
101238         Sync from coreutils.
101239         * lib/md5.c (OP): Fix spacing.
101241 2006-01-11  Bruno Haible  <bruno@clisp.org>
101243         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101244         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
101245         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
101247 2006-01-11  Bruno Haible  <bruno@clisp.org>
101249         Ensure automatic ordering between gl_LOCK and gl_ARGP.
101250         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
101251         the "early" section as well.
101253 2006-01-11  Bruno Haible  <bruno@clisp.org>
101255         Avoid "ar: no archive members specified" error on MacOS X.
101256         * gnulib-tool (func_modules_add_dummy): New function.
101257         (func_import, func_create_testdir): Invoke it.
101259 2006-01-11  Bruno Haible  <bruno@clisp.org>
101261         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
101262         with $auxdir in AC_CONFIG_FILES statements.
101264 2006-01-11  Bruno Haible  <bruno@clisp.org>
101266         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
101267         Initialize also noinst_HEADERS to empty.
101269 2006-01-11  Bruno Haible  <bruno@clisp.org>
101271         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
101272         variables.
101273         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
101274         autoreconf.
101276 2006-01-11  Bruno Haible  <bruno@clisp.org>
101278         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
101279         overridable by the user.
101280         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101282 2006-01-10  Simon Josefsson  <jas@extundo.com>
101284         * modules/sys_socket: New file.
101286 2006-01-10  Simon Josefsson  <jas@extundo.com>
101288         * m4/sys_socket_h.m4: New file.
101290 2006-01-10  Simon Josefsson  <jas@extundo.com>
101292         * lib/socket_.h: New file.
101294 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101296         * modules/readutmp (Maintainer): Add myself.
101298 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101300         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
101301         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
101302         People who are still concerned with buggy memcmp implementations
101303         can invoke gl_FUNC_MEMCMP themselves.
101305 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
101307         * lib/regex_internal.h (BITSET_WORD_BITS):
101308         Work around a bug in 64-bit PGC (before version 6.1-2), where the
101309         preprocessor mishandles large unsigned values as if they were signed.
101310         Problem reported by Claudio Fontana in
101311         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
101313 2006-01-10  Jim Meyering  <jim@meyering.net>
101315         Avoid the double-free (first in fts_read, second in fts_close) that
101316         would occur when an `active' directory is made inaccessible (e.g.,
101317         via chmod a-x) during a traversal.
101318         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
101319         before returning.  Reproduce this failure by
101320         mkdir -p a/b; cd a; chmod a-x . b
101321         Reported by Stavros Passas.
101323         Sync from coreutils.
101324         * lib/sha1.c: Tweak grammar in a comment.
101326 2006-01-10  Jim Meyering  <jim@meyering.net>
101328         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
101329         Patch by Joerg Sonnenberger.
101331 2006-01-10  Bruno Haible  <bruno@clisp.org>
101333         * modules/readutmp: Depend on module free.
101334         * modules/strtok_r: Depend on module restrict.
101336 2006-01-10  Bruno Haible  <bruno@clisp.org>
101338         * modules/gettext (configure.ac): Add an invocation of
101339         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
101341 2006-01-10  Bruno Haible  <bruno@clisp.org>
101343         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
101344         Reported by Werner Lemberg <wl@gnu.org>.
101346 2006-01-10  Bruno Haible  <bruno@clisp.org>
101348         * lib/localcharset.c: Update from GNU gettext.
101350 2006-01-10  Bruno Haible  <bruno@clisp.org>
101352         * lib/argp.h (__const): Remove macro. Use const instead.
101353         * lib/argp-fmtstream.h (__const): Likewise.
101354         * lib/glob_.h (__const): Remove macro.
101355         * lib/glob-libc.h: Use const instead of __const.
101357 2006-01-10  Bruno Haible  <bruno@clisp.org>
101359         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
101360         variable.
101361         Needed to avoid an automake error regarding the 'gettext' module.
101363 2006-01-09  Simon Josefsson  <jas@extundo.com>
101365         * modules/inet_ntop (Depends-on): Add restrict.
101367 2006-01-09  Simon Josefsson  <jas@extundo.com>
101369         * modules/gc-rijndael-tests (License): Put under LGPL.
101371         * modules/gc-des-tests (License): Likewise.
101373         * modules/gc-arcfour-tests (License): Likewise.
101375         * modules/gc-arctwo-tests (License): Likewise.
101377         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
101379         * modules/gc-hmac-sha1-tests (Files): Likewise.
101381         * modules/gc-hmac-md5-tests (License): Likewise.
101383         * modules/gc-sha1-tests (License): Likewise.
101385         * modules/gc-md5-tests (License): Likewise.
101387         * modules/gc-md4-tests (License): Likewise.
101389         * modules/gc-md2-tests (License): Likewise.
101391         * modules/gc-tests (License): Likewise.
101393         * modules/des-tests (License): Likewise.
101395         * modules/md4-tests (License): Likewise.
101397         * modules/md2-tests (License): Likewise.
101399 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101401         Sync from coreutils:
101403         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
101404         * modules/lib-ignore: New file.
101405         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
101406         chdir-safer.m4, lchmod.m4.
101407         * modules/openat: Add mkdirat.c, openat-priv.h.
101409 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101411         Sync from coreutils.
101412         * m4/lib-ignore.m4: New file.
101413         * m4/lchmod.m4: New file.
101415 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101417         Sync from coreutils.
101418         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
101419         for write access: POSIX says that must fail.
101420         * lib/fts.c (diropen): Likewise.
101421         * lib/save-cwd.c (save_cwd): Likewise.
101422         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
101423         well, for minor improvements on hosts that lack O_DIRECTORY.
101424         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
101425         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
101426         Fall back on chown if open failed with EACCES.
101428         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
101429         Report an error at compile-time if only a 1-second nominal clock
101430         resolution is found.
101432         * lib/lchmod.h: New file.
101433         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
101434         (make_dir_parents): Use lchown rather than chown, and
101435         lchmod rather than chmod.
101437         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
101438         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
101439         "proc" reported by n0dalus.
101441         * lib/mountlist.c: Include <limits.h>.
101442         (dev_from_mount_options)
101443         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
101444         New function.  It no longer assumes "dev=" has the System V meaning
101445         on Linux (since it doesn't).  It also parses "dev=" more carefully.
101446         (read_file_system_list)
101447         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
101448         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
101449         dev= in that case.
101451         * lib/posixtm.h (PDS_PRE_2000): New macro.
101452         * lib/posixtm.c (year): Arg is now syntax_bits rather than
101453         allow_century.  All usages changed.  Reject dates outside the range
101454         1969-1999 if PDS_PRE_2000 is used.
101456 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
101458         Sync from coreutils.
101459         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
101460         (Time of day items): Mention the possibility of leap seconds.
101461         Problem reported by Dr. David Alan Gilbert.
101463 2006-01-09  Jim Meyering  <jim@meyering.net>
101465         Sync from coreutils.
101467         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
101469         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
101471         * lib/modechange.c (mode_compile): Reject an invalid mode string
101472         that starts with an octal digit.  From Andreas Gruenbacher.
101474         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
101475         and dup to open_safer and dup_safer, respectively.
101476         (openat_permissive): Fix typo in comment.
101478         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
101479         "gettext.h"; either no longer needed or are guaranteed by openat.h.
101480         (_): Remove; no longer needed.
101481         (openat): Renamed from rpl_openat; no need for rpl_openat
101482         since openat.h renames openat for us.
101483         Replace most of the body with a call to openat_permissive,
101484         to avoid duplicate code.
101485         Port to (probably hypothetical) environments were mode_t is
101486         wider than int.
101487         (openat_permissive): Require mode arg, so that we can check
101488         types better.  Put it just after flags.  Change cwd failure
101489         indicator from pointer-to-bool to pointer-to-errno-value.
101490         All callers changed.
101491         Invoke openat_save_fail and/or openat_restore_fail if
101492         cwd_errno is null, so that openat can call us.
101493         (openat_permissive, fdopendir, fstatat, unlinkat):
101494         Simplify errno handling to avoid some duplicate code,
101495         as it's OK to set errno on success.
101496         * lib/openat.h: Revamp code so that function macros depend on
101497         __OPENAT_PREFIX only, not also on AT_FDCWD.
101498         (openat_ro): Remove.  Caller changed to use openat_permissive.
101499         (openat_permissive): Now a macro, if not a function.
101500         (openat_restore_fail, openat_save_fail): Now always functions,
101501         since mkdirat needs them even if __OPENAT_PREFIX is defined.
101503         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
101504         and openat.c.
101505         * lib/mkdirat.c: Include openat-priv.h.
101506         Remove definitions of macros defined therein.
101507         * lib/openat.c: Likewise.
101509         * lib/mkdirat.c (mkdirat): New file and function.
101510         * lib/openat.h (mkdirat): Declare.
101512         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
101514         * lib/openat.h (openat_permissive): Declare.
101515         (openat_ro): Define.
101517         * lib/openat.c (EXPECTED_ERRNO): New macro.
101518         (openat_permissive): New function -- used in remove.c rewrite.
101519         (all functions): Set errno just before returning, only if there
101520         was an actual failure.
101521         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
101523         Emulate openat-family functions using Linux's procfs, if possible.
101524         Idea and some code based on Ulrich Drepper's glibc changes.
101526         * lib/openat.c: (BUILD_PROC_NAME): New macro.
101527         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
101528         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
101529         before falling back on save_cwd and restore_cwd.
101530         (fdopendir, fstatat, unlinkat): Likewise.
101532         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
101533         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
101535         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
101536         as second argument to va_arg.  Otherwise, some versions of gcc
101537         warn that `if this code is reached, the program will abort'.
101539 2006-01-09  Jim Meyering  <jim@meyering.net>
101541         Sync from coreutils.
101542         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
101543         Require openat-priv.h.
101545 2006-01-09  Bruno Haible  <bruno@clisp.org>
101547         * modules/strnlen (Include): Use strnlen.h.
101549 2006-01-09  Bruno Haible  <bruno@clisp.org>
101551         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
101553 2006-01-09  Bruno Haible  <bruno@clisp.org>
101555         * lib/sysexit_.h (EX_OK): New macro.
101556         Suggested by Martin Lambers <marlam@marlam.de>.
101558 2006-01-09  Bruno Haible  <bruno@clisp.org>
101560         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
101561         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
101563 2006-01-09  Bruno Haible  <bruno@clisp.org>
101565         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
101566         numbers.
101568 2006-01-09  Bruno Haible  <bruno@clisp.org>
101570         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
101571         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
101572         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
101573         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
101575 2006-01-09  Bruno Haible  <bruno@clisp.org>
101577         * build-aux/javacomp.sh.in: New file, moved from lib/.
101578         * modules/javacomp-script (Files): Update.
101579         (configure.ac): Add AC_CONFIG_FILES invocation.
101580         (EXTRA_DIST): Remove variable.
101582         * build-aux/javaexec.sh.in: New file, moved from lib/.
101583         * modules/javaexec (Files): Update.
101584         (configure.ac): Add AC_CONFIG_FILES invocation.
101585         (EXTRA_DIST): Remove javaexec.sh.in.
101587         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
101588         * modules/csharpcomp-script (Files): Update.
101589         (configure.ac): Add AC_CONFIG_FILES invocation.
101590         (EXTRA_DIST): Remove variable.
101592         * build-aux/csharpexec.sh.in: New file, moved from lib/.
101593         * modules/csharpexec (Files): Update.
101594         (configure.ac): Add AC_CONFIG_FILES invocation.
101595         (EXTRA_DIST): Remove csharpexec.sh.in.
101597 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101599         Sync from coreutils.
101601         Add POSIX ACL support
101602         * lib/acl.h (copy_acl, set_acl): Add declarations.
101603         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
101604         systems other than Linux.
101605         (chmod_or_fchmod): New function: use fchmod when possible,
101606         and chmod otherwise.
101607         (file_has_acl): Add a POSIX ACL implementation, with a
101608         Linux-specific subcase.
101609         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
101610         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
101611         acls are unsupported.
101612         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
101613         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
101614         are unsupported.
101616 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
101618         Sync from coreutils.
101619         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
101621 2006-01-07  Bruno Haible  <bruno@clisp.org>
101623         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
101624         gl_EARLY.
101626 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101628         * lib/strftime.c (tzname): Don't declare if it is already #defined.
101629         Problem reported for Mingw by Mark Junker.
101631 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
101633         * README: Gnulib normally doesn't generate a tarball.
101635 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
101637         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
101638         long int, not int, for nanosecond counts, so that people who are
101639         used to POSIX struct timespec won't be surprised.  Reported by Jim
101640         Meyering.
101642 2005-12-28  Bruno Haible  <bruno@clisp.org>
101644         * build-aux/config.rpath: Update from GNU gettext.
101646 2005-12-16  Jim Meyering  <jim@meyering.net>
101648         * modules/fprintftime: New module.
101649         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
101651 2005-12-16  Jim Meyering  <jim@meyering.net>
101653         * m4/fprintftime.m4: New file.
101655 2005-12-16  Jim Meyering  <jim@meyering.net>
101657         * lib/fprintftime.c, lib/fprintftime.h: New files.
101659 2005-12-15  Simon Josefsson  <jas@extundo.com>
101661         * modules/socklen (configure.ac): Fix M4 macro name, to align with
101662         new m4/socklen.m4.
101664 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101666         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
101667         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
101669 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
101671         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
101672         * lib/argp-help.c (fill_in_uparams): Check if the constructed
101673         struct uparams is valid. Fall back to the default values if it is
101674         not.
101676 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101678         * modules/argp (Files): Add argp-pin.c
101679         (Depends-on): dirname
101680         (lib_SOURCES): Add argp-pin.c
101682 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101684         * m4/argp.m4:  Check if program_invocation_name and
101685         program_invocation_short_name are declared and define appropriate
101686         macros if they are not.
101688 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
101690         * lib/argp-help.c (__argp_base_name): New function
101691         (__argp_short_program_name): Rewrite using __argp_base_name
101692         * lib/argp-namefrob.h: Define program_invocation_name and
101693         program_invocation_short_name if requested
101694         (__argp_base_name): Add prototype
101695         * lib/argp-parse.c (argp_def): Use gettext wrappers
101696         (argp_default_parser): Use __argp_base_name
101697         * lib/argp-pin.c: New file. Defines program_invocation_name and
101698         program_invocation_short_name on systems that lack them.
101700 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101702         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
101703         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101704         porting problem reported by Georg Schwarz in
101705         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101707 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
101709         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
101710         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
101711         porting problem reported by Georg Schwarz in
101712         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
101714 2005-12-05  Bruno Haible  <bruno@clisp.org>
101716         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
101717         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
101718         Reported by Mark Junker <mjscod@gmx.de>.
101720 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
101722         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
101723         Use implementation from Albert Chin, with some
101724         comments/corrections by Stepan Kasal and myself.
101726 2005-12-02  Bruno Haible  <bruno@clisp.org>
101728         * gnulib-tool (func_import): Accept GPLed build tool modules when
101729         --lgpl is given.
101730         * modules/csharpcomp-script: New file.
101731         * modules/csharpcomp: Depend on it.
101732         * modules/javacomp-script: New file.
101733         * modules/javacomp: Depend on it.
101734         Suggested by Simon Josefsson.
101736 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
101738         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
101739         statement, to work around an HP-UX 10.20 compiler bug reported by
101740         Peter O'Gorman.
101742 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101744         * modules/savedir (Depends-on): Add openat.
101746 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
101748         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
101749         (uintmax_t) [defined uintmax_t]: Do not declare.
101750         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
101751         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
101752         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
101753         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
101754         sake of portability to weird hosts that C allows (though we don't
101755         know of any practical examples).
101757         * lib/savedir.h (fdsavedir): New decl.
101758         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
101759         contains most of the former guts of savedir.
101760         (savedir): Use savedirstream.
101761         Include "openat.h".
101763 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
101765         * modules/obstack (Files): Add m4/ulonglong.m4.
101766         Problem reported by Davide Angelocola.
101768 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
101770         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
101771         coreutils no longer futzes with rounding modes.
101773 2005-11-14  Jim Meyering  <jim@meyering.net>
101775         * lib/mkstemp-safer.c: Include <config.h>, required for possible
101776         replacement of mkstemp.
101778 2005-11-10  Simon Josefsson  <jas@extundo.com>
101780         * lib/readline.c: Remove EOL.
101782 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101784         * modules/gethrxtime (Depends-on): Add gettime.
101786 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101788         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
101789         or gettimeofday; no longer needed.
101791 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
101793         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
101794         time business.
101795         (gethrxtime) [! (HAVE_NANOUPTIME
101796         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
101797         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
101798         our own approximation.
101800 2005-11-08  Eric Blake  <ebb9@byu.net>
101802         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101804 2005-11-08  Eric Blake  <ebb9@byu.net>
101806         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
101808 2005-11-04  Bruno Haible  <bruno@clisp.org>
101810         * gnulib-tool: Implement --update mode.
101812 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101814         Fix porting problem reported by Theodoros V. Kalamatianos.
101815         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
101816         Don't assume that futimes failing means we must fail.
101818 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
101820         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
101821         variables to suggest the intended function of the PATH_MAX check.
101823 2005-10-30  Kean Johnston  <jkj@sco.com>
101825         Trivial changes to support SCO systems.
101826         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
101827         as PATH_MAX.
101828         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
101829         where __ptr is null when no I/O is pending.
101831 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
101833         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
101834         leave errno alone.  Problem reported by Dmitry V. Levin.
101836 2005-10-28  Simon Josefsson  <jas@extundo.com>
101838         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
101839         Test more.
101841         * tests/test-gc-md2.c, tests/test-md2.c: New files.
101843         * modules/md2, modules/md2-tests: New files.
101845 2005-10-28  Simon Josefsson  <jas@extundo.com>
101847         * m4/inet_ntop.m4: More tests.
101849         * m4/gc-md2.m4, md2.m4: New file.
101851 2005-10-28  Simon Josefsson  <jas@extundo.com>
101853         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
101854         "restrict" keywords, as per POSIX.  Protect the function
101855         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
101856         Don't use K&R prototypes.  Check the sprintf return values.
101857         Re-define EAFNOSUPPORT if not present.  Indent.
101859         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
101860         suggested by Bruno Haible <bruno@clisp.org>.
101862         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
101864         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
101866         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
101867         libgcrypt).
101869         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
101871         * lib/md2.h, lib/md2.c: New files.
101873 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
101875         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
101876         errno alone.  Problem reported by Frederic Jolliton.
101878 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
101880         * modules/verify (License): Change from GPL to LGPL.  This is a
101881         tiny module and there are apparently near-equivalents that are
101882         under the BSD license.
101884 2005-10-24  Simon Josefsson  <jas@extundo.com>
101886         * modules/sha1: Relicense to LGPL.
101888 2005-10-24  Simon Josefsson  <jas@extundo.com>
101890         * lib/md4.h: Shrink buffer size, now that we changed the type.
101892 2005-10-23  Simon Josefsson  <jas@extundo.com>
101894         * gnulib-tool (func_import): Fix --tests-base.
101896 2005-10-22  Simon Josefsson  <jas@extundo.com>
101898         * modules/arcfour (Depends-on): Need stdint.
101900 2005-10-22  Simon Josefsson  <jas@extundo.com>
101902         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
101903         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
101905 2005-10-22  Simon Josefsson  <jas@extundo.com>
101907         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
101908         suggested by Bruno Haible <bruno@clisp.org>.
101910 2005-10-22  Simon Josefsson  <jas@extundo.com>
101912         * lib/crc.h: Include stddef.h, for size_t.
101914 2005-10-22  Simon Josefsson  <jas@extundo.com>
101916         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
101917         arcfour_context struct (simplify test vector testing in GNU
101918         Shishi).
101920 2005-10-21  Simon Josefsson  <jas@extundo.com>
101922         * modules/des, modules/des-tests: New files.
101924         * modules/gc-des, modules/gc-des-tests: New files.
101926         * tests/test-des.c, tests/test-gc-des.c: New file.
101928 2005-10-21  Simon Josefsson  <jas@extundo.com>
101930         * modules/arctwo, modules/arctwo-tests: New files.
101932         * tests/test-arctwo.c: New file.
101934         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
101936         * tests/test-gc-arctwo.c: New file.
101938 2005-10-21  Simon Josefsson  <jas@extundo.com>
101940         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
101941         Bruno Haible <bruno@clisp.org>.
101943         * m4/gc-des.m4: New file.
101945 2005-10-21  Simon Josefsson  <jas@extundo.com>
101947         * m4/arctwo.m4: New file.
101949         * m4/gc-arctwo.m4: New file.
101951 2005-10-21  Simon Josefsson  <jas@extundo.com>
101953         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
101954         block.
101956 2005-10-21  Simon Josefsson  <jas@extundo.com>
101958         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
101959         <bruno@clisp.org>.
101961         * lib/hmac-sha1.c (hmac_sha1): Likewise.
101963         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
101964         Bruno Haible <bruno@clisp.org>.
101966         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
101967         <bruno@clisp.org>.
101969 2005-10-21  Simon Josefsson  <jas@extundo.com>
101971         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
101973 2005-10-21  Simon Josefsson  <jas@extundo.com>
101975         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
101977 2005-10-21  Simon Josefsson  <jas@extundo.com>
101979         * lib/des.h, lib/des.c: New files.
101981         * lib/gc-gnulib.c: Support DES.c
101983 2005-10-21  Simon Josefsson  <jas@extundo.com>
101985         * lib/arctwo.h, lib/arctwo.c: New files.
101987         * lib/gc-gnulib.c: Support ARCTWO.
101989 2005-10-21  Simon Josefsson  <jas@extundo.com>
101991         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
101992         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
101994 2005-10-21  Simon Josefsson  <jas@extundo.com>
101996         * gnulib-tool (func_import, func_create_testdir): Define automake
101997         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
101998         Makefile.am snippet),
101999         suggested by Bruno Haible <bruno@clisp.org>.
102001         * modules/gc (Makefile.am): Use it.
102003 2005-10-21  Bruno Haible  <bruno@clisp.org>
102005         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
102006         patch.
102008 2005-10-19  Simon Josefsson  <jas@extundo.com>
102010         * tests/test-gc-rijndael.c: New file.
102012         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
102014 2005-10-19  Simon Josefsson  <jas@extundo.com>
102016         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
102017         interface too.
102019 2005-10-19  Simon Josefsson  <jas@extundo.com>
102021         * tests/test-gc-arcfour.c: New file.
102023         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
102025 2005-10-19  Simon Josefsson  <jas@extundo.com>
102027         * modules/gc-md4, modules/gc-md4-tests: New file.
102029         * tests/test-gc-md4.c: New file.
102031 2005-10-19  Simon Josefsson  <jas@extundo.com>
102033         * m4/gc-md4.m4: New file.
102035 2005-10-19  Simon Josefsson  <jas@extundo.com>
102037         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
102038         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
102039         <kasal@ucw.cz>.
102041 2005-10-19  Simon Josefsson  <jas@extundo.com>
102043         * m4/gc-arcfour.m4: New file.
102045         * m4/gc-rijndael.m4: New file.
102047 2005-10-19  Simon Josefsson  <jas@extundo.com>
102049         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
102051 2005-10-19  Simon Josefsson  <jas@extundo.com>
102053         * lib/gc-gnulib.c: Support ARCFOUR.
102055 2005-10-19  Simon Josefsson  <jas@extundo.com>
102057         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
102058         support.
102060         * lib/gc.h: Add ECB enum type.
102062         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
102064 2005-10-18  Simon Josefsson  <jas@extundo.com>
102066         * tests/test-md5.c: New file.
102068         * modules/md5-tests: New file.
102070 2005-10-18  Simon Josefsson  <jas@extundo.com>
102072         * tests/test-md4.c: New file.
102074         * modules/md4, modules/md4-tests: New files.
102076 2005-10-18  Simon Josefsson  <jas@extundo.com>
102078         * m4/md4.m4: New file.
102080 2005-10-18  Simon Josefsson  <jas@extundo.com>
102082         * lib/md4.h, lib/md4.c: New files, based on md5.?.
102084 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
102086         * gnulib-tool (func_create_testdir): Omit the second check whether
102087         BUILT_SOURCES in nonempty.
102089 2005-10-17  Simon Josefsson  <jas@extundo.com>
102091         * tests/test-rijndael.c: New file.
102093 2005-10-17  Simon Josefsson  <jas@extundo.com>
102095         * modules/sha1: Depend on stdint instead of md5.
102097         * modules/md5: Depend on stdint, remove uint32_t.
102099 2005-10-17  Simon Josefsson  <jas@extundo.com>
102101         * modules/gc-sha1-tests: New file.
102103         * tests/test-gc-sha1.c: New file.
102105 2005-10-17  Simon Josefsson  <jas@extundo.com>
102107         * m4/md5.m4: Remove call to uint32_t.m4.
102109 2005-10-17  Simon Josefsson  <jas@extundo.com>
102111         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
102113         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
102114         md5.h.
102116         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
102118         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
102120 2005-10-17  Simon Josefsson  <jas@extundo.com>
102122         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
102124 2005-10-17  Simon Josefsson  <jas@extundo.com>
102126         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
102128 2005-10-17  Simon Josefsson  <jas@extundo.com>
102130         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
102132         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
102134 2005-10-17  Bruno Haible  <bruno@clisp.org>
102136         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
102137         that it can also be used in a test.
102139 2005-10-16  Bruno Haible  <bruno@clisp.org>
102141         * gnulib-tool (func_emit_tests_Makefile_am): Also define
102142         TESTS_ENVIRONMENT, so that individual tests can augment it.
102144         * gnulib-tool (func_create_testdir): Use an intermediate target for
102145         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
102146         macros, like $(ALLOCA_H), which cannot be passed through the command
102147         line.
102149 2005-10-15  Simon Josefsson  <jas@extundo.com>
102151         * modules/rijndael-tests: New file.
102153         * modules/rijndael: New file.
102155 2005-10-15  Simon Josefsson  <jas@extundo.com>
102157         * m4/rijndael.m4: New file.
102159 2005-10-15  Simon Josefsson  <jas@extundo.com>
102161         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
102163         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
102165 2005-10-14  Simon Josefsson  <jas@extundo.com>
102167         * tests/test-arcfour.c: New file.
102169         * modules/arcfour, modules/arcfour-tests: New files.
102171 2005-10-14  Simon Josefsson  <jas@extundo.com>
102173         * m4/arcfour.m4: New file.
102175 2005-10-14  Simon Josefsson  <jas@extundo.com>
102177         * lib/arcfour.h, lib/arcfour.c: New files.
102179 2005-10-14  Roland McGrath  <roland@redhat.com>
102181         Import from libc.  [BZ #1331]
102182         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
102183         macro argument.
102184         Reported by Matej Vela <vela@debian.org>.
102186 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102188         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
102189         include <wchar.h>; no longer needed.
102191 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
102193         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
102195 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
102196         and  Ulrich Drepper  <drepper@redhat.com>
102198         Import from libc.
102199         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
102200         instead of inline stream orientation test and two separate
102201         function calls.  Pay no attention to USE_IN_LIBIO.
102203 2005-10-13  Simon Josefsson  <jas@extundo.com>
102205         * modules/gc-hmac-md5-tests: New file.
102207         * tests/test-gc-hmac-sha1.c: New file.
102209         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
102211         * modules/gc-hmac-md5-tests: New file.
102213         * tests/test-gc-md5.c: New file.
102215         * modules/gc-md5-tests: New file.
102217 2005-10-13  Simon Josefsson  <jas@extundo.com>
102219         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
102220         Move memory allocation outside of loop.
102222 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
102224         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
102225         intermediate directory is in a read-only file system.  Problem
102226         reported by Eric Blake.
102228 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
102230         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
102232 2005-10-12  Simon Josefsson  <jas@extundo.com>
102234         * tests/test-hmac-sha1.c: New file.
102236         * modules/hmac-sha1-tests: New file.
102238         * modules/hmac-sha1: New file.
102240 2005-10-12  Simon Josefsson  <jas@extundo.com>
102242         * modules/gc-sha1: New file.
102244 2005-10-12  Simon Josefsson  <jas@extundo.com>
102246         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
102248         * tests/test-gc-pbkdf2-sha1.c: New file.
102250 2005-10-12  Simon Josefsson  <jas@extundo.com>
102252         * modules/gc-md5, modules/gc-hmac-md5: New files.
102254         * modules/gc (Files): Remove md5, memxor and hmac files.
102256 2005-10-12  Simon Josefsson  <jas@extundo.com>
102258         * m4/gc-pbkdf2-sha1.m4: New file.
102260         * m4/gc-hmac-sha1.m4: New file.
102262         * m4/gc-sha1: New file.
102264         * m4/hmac-sha1.m4: New file.
102266 2005-10-12  Simon Josefsson  <jas@extundo.com>
102268         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
102270         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
102272 2005-10-12  Simon Josefsson  <jas@extundo.com>
102274         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
102275         suggested by Bruno Haible <bruno@clisp.org>.
102277 2005-10-12  Simon Josefsson  <jas@extundo.com>
102279         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
102281 2005-10-12  Simon Josefsson  <jas@extundo.com>
102283         * lib/gc-pbkdf2-sha1.c: New file.
102285         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
102287 2005-10-12  Simon Josefsson  <jas@extundo.com>
102289         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
102291         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
102293 2005-10-12  Simon Josefsson  <jas@extundo.com>
102295         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
102296         GC_USE_HMAC_MD5, respectively.
102298         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
102299         (gc_md5): Fix typo.
102301         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
102303         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
102305         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
102307 2005-10-12  Bruno Haible  <bruno@clisp.org>
102309         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
102310         Reported by Stepan Kasal <kasal@ucw.cz>.
102312 2005-10-11  Simon Josefsson  <jas@extundo.com>
102314         * tests/test-crc.c: New file.
102316         * modules/crc, modules/crc-tests: New files.
102318 2005-10-11  Simon Josefsson  <jas@extundo.com>
102320         * m4/crc.m4: New file.
102322 2005-10-11  Simon Josefsson  <jas@extundo.com>
102324         * lib/gc.h: Add gc_hash and gc_hash_buffer.
102326         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
102328         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
102330 2005-10-11  Simon Josefsson  <jas@extundo.com>
102332         * lib/crc.h, lib/crc.c: New files.
102334         * lib/gc.h (gc_hash_buffer): Add doc.
102336 2005-10-11  Bruno Haible  <bruno@clisp.org>
102338         * modules/c-strcasestr: New file.
102339         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
102341 2005-10-11  Bruno Haible  <bruno@clisp.org>
102343         * modules/c-strcase: New file.
102344         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
102346 2005-10-11  Bruno Haible  <bruno@clisp.org>
102348         * lib/strcasecmp.c: Include limits.h.
102349         (strcasecmp): Avoid integer overflow on exotic platforms.
102350         * lib/strncasecmp.c: Include limits.h.
102351         (strncasecmp): Avoid integer overflow on exotic platforms.
102352         Reported by Paul Eggert.
102354 2005-10-11  Bruno Haible  <bruno@clisp.org>
102356         * lib/c-strcasestr.h: New file, from GNU gettext.
102357         * lib/c-strcasestr.c: New file, from GNU gettext.
102359 2005-10-11  Bruno Haible  <bruno@clisp.org>
102361         * lib/c-strcase.h: New file, from GNU gettext.
102362         * lib/c-strcasecmp.c: New file, from GNU gettext.
102363         * lib/c-strncasecmp.c: New file, from GNU gettext.
102365 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
102367         * modules/mempcpy (License): GPL -> LGPL.
102368         * modules/strchrnul (License): Likewise.
102369         * modules/sysexits (License): Likewise.
102371 2005-10-08  Simon Josefsson  <jas@extundo.com>
102373         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
102375 2005-10-07  Simon Josefsson  <jas@extundo.com>
102377         * m4/memxor.m4: Remove gl_C_RESTRICT call.
102379 2005-10-06  Simon Josefsson  <jas@extundo.com>
102381         * tests/test-hmac-md5.c: New file.
102383         * modules/hmac-md5-tests: New file.
102385         * modules/hmac-md5: New file.
102387 2005-10-06  Simon Josefsson  <jas@extundo.com>
102389         * m4/hmac-md5.m4: New file.
102391         * m4/memxor.m4: Require gl_C_RESTRICT.
102393 2005-10-06  Simon Josefsson  <jas@extundo.com>
102395         * lib/memxor.c (memxor): Avoid casts and warnings.
102397 2005-10-06  Simon Josefsson  <jas@extundo.com>
102399         * lib/hmac-md5.c: New file.
102401         * lib/hmac.h: New file.
102403 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
102405         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
102406         promotes to int, not unsigned int, to catch the AIX 5.3
102407         compiler bug.
102409 2005-10-05  Simon Josefsson  <jas@extundo.com>
102411         * modules/memxor: New file.
102413         * modules/iconv (Files): Move config.rpath to havelib, it is used
102414         there.
102416         * modules/havelib (Files): Add config.rpath.
102418 2005-10-05  Simon Josefsson  <jas@extundo.com>
102420         * m4/memxor.m4: New file.
102422 2005-10-05  Simon Josefsson  <jas@extundo.com>
102424         * lib/memxor.c (memxor): Fix compiler error.
102426         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
102427         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
102429         * lib/memxor.h, lib/memxor.c: New files.
102431         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
102432         we assume all systems have it, suggested by Jim Meyering
102433         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
102434         any systems lack sys/socket.h; mingw32 is known to lack it, but we
102435         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
102436         same reasons.
102438 2005-10-05  Simon Josefsson  <jas@extundo.com>
102440         * config/srclist.txt: Add glibc bug 1423 for md5.h.
102442 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
102444         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
102445         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
102446         needed, since the source code now assumes these .h files.
102448 2005-10-05  Derek Price  <derek@ximbiot.com>
102450         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
102452 2005-10-05  Bruno Haible  <bruno@clisp.org>
102454         * modules/stdint (License): Change to LGPL.
102456 2005-10-04  Simon Josefsson  <jas@extundo.com>
102458         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
102459         D. Baushke" <mdb@gnu.org>.
102461 2005-10-04  Bruno Haible  <bruno@clisp.org>
102463         * lib/verify.h (verify_true): Provide alternative definition for C++.
102465 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
102467         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
102468         (SSIZE_MAX): New macro, if not already defined.
102469         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
102470         than 2 GiB.
102472 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102474         Sync from coreutils.
102475         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
102476         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
102477         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
102478         ULLONG_MAX doesn't work with 2.7.2.1.
102480 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102482         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
102483         From Ben Pfaff.
102485         * modules/exclude (Depends-on): Depend on verify.
102486         * modules/strtoimax (Depends-on): Likewise.
102487         * modules/utimecmp (Depends-on): Likewise.
102489 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
102491         * lib/exclude.c: Include verify.h.
102492         (verify): Remove.  All callers changed to use verify.h's version.
102493         * lib/strtoimax.c: Likewise.
102494         * lib/utimecmp.c: Likewis.e
102496         Sync from coreutils.
102497         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
102498         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
102499         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
102500         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
102501         bother returning ENOSYS if settimeofday or stime fails; just let
102502         them return whatever errno they want to return.
102503         * lib/utimens.c: Include unistd.h, for dup2.
102504         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
102505         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
102507 2005-10-02  Jim Meyering  <jim@meyering.net>
102509         Sync from coreutils.
102510         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
102511         from glibc-2.2.5 that fails for read-only files.
102513 2005-10-02  Jim Meyering  <jim@meyering.net>
102515         Sync from coreutils.
102516         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
102517         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
102518         `#if HAVE_CONFIG_H'.
102519         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
102520         Remove AT_FDCWD test.
102521         Do not consume the fd unless successful.
102522         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
102523         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
102524         block, so that we don't even try to compile it if settimeofday is
102525         available.  This works around a compilation failure on OSF1 V5.1,
102526         due to stime requiring a `long int*' while tv_sec is `int'.
102528 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
102530         Sync from coreutils.
102531         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
102532         against `yes', rather than just testing for nonempty.
102534 2005-10-01  Simon Josefsson  <jas@extundo.com>
102536         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
102537         and Darwin.
102539         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
102540         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
102541         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
102542         freeaddrinfo and gai_strerror are declared by the POSIX headers.
102543         Check if struct addrinfo is declared.
102545 2005-10-01  Simon Josefsson  <jas@extundo.com>
102547         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
102548         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
102549         AI_* and EAI_* definitions.  Protect function declarations.
102551 2005-10-01  Jim Meyering  <jim@meyering.net>
102553         Sync from coreutils.
102555         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
102556         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
102557         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
102558         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102559         in the inet and nsl libraries.  Required on Solaris 5.7.
102561 2005-10-01  Jim Meyering  <jim@meyering.net>
102563         Sync from coreutils.
102564         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
102565         in the inet and nsl libraries.  Required on Solaris 5.7.
102567 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
102569         * lib/getdelim.c (getdelim): Remove unused variables.
102571 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
102573         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
102574         so that the code works even with ancient cpp.  Portability problem
102575         with GCC 2.7.2.1 reported by Thomas M.Ott.
102577 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
102579         * modules/regex (Depends-on): Add strcase.
102581         * modules/gethostname (Licence): Change from GPL to LGPL, since
102582         gethostname.c is a trivial implementation of a standard library
102583         function.
102584         * modules/poll (License): Change from GPL to LGPL, since it's
102585         derived from LGPL code.
102587 2005-09-27  Jim Meyering  <jim@meyering.net>
102589         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
102590         HAVE_CONFIG_H.
102592         * lib/intprops.h (signed_type_or_expr__): Define.
102593         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
102594         for unsigned types.
102596 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
102598         * lib/verify.h (verify_expr): Remove, replacing with:
102599         (verify_true): New macro that returns true instead of void.
102600         (verify_type__): Remove.
102601         (verify): Use verify_true rather than verify_type__.
102603 2005-09-26  Bruno Haible  <bruno@clisp.org>
102605         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
102606         is necessary.
102607         (lib_SOURCES): Remove mbchar.c.
102608         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
102609         (Files): Add m4/mbrtowc.m4.
102610         * modules/mbiter: Likewise.
102611         * modules/mbuiter: Likewise.
102613 2005-09-26  Bruno Haible  <bruno@clisp.org>
102615         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
102616         compile mbchar.c if they are not both present.
102617         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
102618         * m4/mbiter.m4 (gl_MBITER): Likewise.
102619         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
102620         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
102621         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
102623 2005-09-25  Jim Meyering  <jim@meyering.net>
102625         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
102626         also uses socklen_t.
102628 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
102630         * lib/utimens.c (ENOSYS): Define if not already defined.
102631         (futimens): Support having a null PATH if the file descriptor
102632         is nonnegative.
102634         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
102635         Remove.
102636         (__attribute): Define to empty unless GCC 3.1 or later.
102637         This works around a core dump on OpenBSD 3.4, which has GCC
102638         2.95.3, which dumps core when given __attribute__(()).  It also
102639         simplifies other tests, since we really don't want to bother with
102640         worrying about which ancient version of GCC supported what.
102641         Original problem reported by Yoann Vandoorselaere, with part of
102642         the fix suggested by Derek Price.
102644 2005-09-24  Jim Meyering  <jim@meyering.net>
102646         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
102647         so we can once again use a positive bitfield width of 1 -- now we
102648         don't have to explain why we were using a bitfield width of 2.
102650 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102652         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
102653         and similarly for the other external symbols.  Problem reported
102654         by James Gallager.
102656         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
102657         bug reported by Jim Meyering.
102659         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
102660         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
102661         not needed, since socklen is a prerequisite module.
102663 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
102665         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
102666         Problem reported by Eric Blake.
102667         (getaddrinfo): Initialize se so that it's not garbage.
102668         Redo internal storage allocation so that it doesn't make unportable
102669         assumptions about alignment.
102670         Fix a memory leak.
102672         * lib/utimens.c (futimens): Use futimesat if available.
102673         Prefer it to futimes since it doesn't have the futimes bug.
102675         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
102676         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
102677         Instead, declare a function that returns a pointer to an array,
102678         and use verify_type__ to declare the size of the array.
102679         Problem and germ of a solution reported by Bruno Haible.
102680         (verify_type__): Use 2, not 1, for bitfield size, to avoid
102681         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
102683 2005-09-23  Jim Meyering  <jim@meyering.net>
102685         Sync from coreutils.
102686         Correct build failure (socklen_t not defined) on at least
102687         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
102688         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
102690 2005-09-23  Jim Meyering  <jim@meyering.net>
102692         * modules/getaddrinfo (Depends-on): Add socklen.
102694 2005-09-23  Bruno Haible  <bruno@clisp.org>
102696         * tests/test-verify.c: New file.
102698 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102700         Sync from coreutils.
102702         * modules/argmatch (Depends-on): Add verify.
102703         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
102704         unistd-safer.
102705         * modules/save-cwd (Depends-on): Likewise.
102707         * modules/openat (Files): Add lib/openat-die.c.
102708         (Depends-on): Remove error, exitfail.
102709         Add dirname.
102711         * modules/verify: New file.
102712         * MODULES.html.sh (Diagnostics <assert.h>): New section,
102713         with "verify" module.
102715 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102717         Sync from coreutils.
102719         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
102720         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
102721         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
102722         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
102723         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
102724         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
102725         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
102726         Don't bother checking for string.h, stdlib.h, unistd.h.
102727         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
102728         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
102729         module's job.
102730         * m4/jm-macros.m4 (gl_MACROS): Likewise.
102731         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
102733         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
102734         (gl_GETDATE): Use it.
102736         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
102738 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102740         Sync from coreutils.
102742         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
102743         stat-time.h.
102744         * lib/argmatch.h: Include verify.h
102745         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
102746         (ARGMATCH_ASSERT): Remove; unused.
102747         * lib/canonicalize.c: Assume STDC_HEADERS.
102748         * lib/exclude.c: Include "strcase.h".
102749         * lib/regex_internal.h [!defined _LIBC]: Likewise.
102750         * lib/getusershell.c: Include stdio--.h rather than stdio.h
102751         and stdio-safer.h.
102752         (getusershell): Call fopen, not fopen_safer.
102753         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
102754         Do not include unistd-safer.h.
102755         (save_cwd): Don't call fd_safer; no longer needed
102756         now that we include fcntl--.h.
102758         * lib/getdate.y (relative_time): New type.
102759         (RELATIVE_TIME_0): New constant.
102760         (parser_control): Use relative_time instead of doing it ourselves.
102761         (%union): Add new relative_time rel member.
102762         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
102763         Now typeless.
102764         (relunit, relunit_snumber): Now of type rel.
102765         (zone, rel, relunit, get_date): Adjust to above changes.
102767         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
102768         Do not include unistd-safer.h.
102769         (getloadavg): Don't call fd_safer; no longer needed
102770         now that we include fcntl--.h.
102772         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
102773         (make_dir_parents): Treat ENOSYS like EEXIST.
102775         Improve quality of diagnostics on restore_cwd failure.
102776         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
102777         (make_dir_parents): Last arg is now int * (for errno), not bool *.
102778         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
102779         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
102780         each time through the loop.  Do not diagnose restore_cwd failure;
102781         that is the caller's job (and perhaps the caller does not care).
102783         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
102784         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
102785         If the file already exists but is not a directory, don't bother
102786         to try to make its parents.
102787         Close potential file descriptor leak if we can't chdir("/") (!).
102788         Don't always return true if chdir($PWD) fails; return true only
102789         if the requested action was done successfully (except for the
102790         chdir($PWD)).
102791         Don't log final directory unless we actually made it.
102792         Refactor to avoid duplicate code to fix up permissions.
102793         Don't attempt to fix up parent permissions if chdir($PWD) fails.
102795         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
102796         to make it a bit faster and (I hope) clearer.
102797         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
102798         Fix bug in formats like %2N.
102800         * lib/verify.h: New file.
102802 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
102804         Sync from coreutils.
102805         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
102807 2005-09-22  Jim Meyering  <jim@meyering.net>
102809         Sync from coreutils.
102811         * m4/lstat.m4 (gl_FUNC_LSTAT):
102812         Use AC_LIBSOURCES to require lstat.c and lstat.h.
102813         Remove obsolete comment.
102814         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
102815         * m4/xstrtod.m4: Likewise.
102817         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
102819 2005-09-22  Jim Meyering  <jim@meyering.net>
102821         Sync from coreutils.
102823         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
102825         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
102826         the .tm_year member, since otherwise gcc-4.0 would now warn about
102827         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
102829         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
102830         order to avoid an unsuppressible warning from gcc on 64-bit systems.
102832         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
102833         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
102834         when run in a time zone for which daylight savings time is in effect
102835         for the starting date.
102837         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
102838         stop us from restricting permissions of just-created absolute-named
102839         directories.
102840         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
102841         to restore initial working directory.
102842         * lib/mkdir-p.c (make_dir_parents): New parameter:
102843         different_working_dir, to tell caller if/when we change the working
102844         directory and are unable to return to the initial one.
102845         * lib/mkdir-p.h (make_dir_parents): Update prototype.
102846         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
102847         `return false'.  This fixes a bug introduced on 2004-07-30.
102849         * lib/openat.c (fdopendir): Be sure to close the supplied
102850         file descriptor before returning.  This makes our replacement
102851         implementation a little closer to Solaris's, where fdopendir
102852         ties the file descriptor to the returned DIR* pointer.
102853         * lib/openat.c (unlinkat): New function.
102854         * lib/openat.h (unlinkat): Add prototype.
102855         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
102856         (openat_restore_fail): Rename from openat_restore_die.
102857         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
102859         Provide an alternative to exiting immediately upon save_cwd or
102860         restore_cwd failure.  Now, an application can arrange e.g.,
102861         to perform a longjump in that case.
102862         * lib/openat.c: Include dirname.h.
102863         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
102864         (rpl_openat, fdopendir, fstatat): Call openat_save_die
102865         and openat_restore_die rather than calling error directly.
102866         Don't include "error.h" or "exitfail.h"; they're no longer needed.
102868         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
102869         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
102870         define.
102872         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
102873         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
102874                             int utc, int nanoseconds);
102875         Background:
102876         date should not have to allocate a megabyte of virtual memory to
102877         handle a format argument like +%1048575T.  When implemented with
102878         strftime, it must allocate such a buffer, use strftime to fill it
102879         in, print it, then free it.
102880         With fprintftime, it simply prints everything and exits.
102881         With no need for memory allocation, that's one fewer way to fail.
102882         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
102883         optional field width, not before, so we accept %9:z, not %:9z.
102884         (my_strftime): Be sure to use L_('x') for literals.
102886         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
102887         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
102888         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
102889         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
102890         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
102891         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
102892         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
102893         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
102894         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
102895         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
102896         * lib/xgethostname.c, lib/xreadlink.c:
102897         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
102899         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
102900         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
102901         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
102902         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
102903         and don't include <sys/file.h>).
102905 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
102907         Sync from coreutils.
102909         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
102910         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
102911         [!LDAV_DONE]: Avoid unused variable warning.
102913 2005-09-21  Bruno Haible  <bruno@clisp.org>
102915         * lib/unicodeio.h (unicode_to_mb): New declaration.
102917 2005-09-20  Derek Price  <derek@ximbiot.com>
102919         * lib/getaddrinfo.c: Don't include <netdb.h> included from
102920         getaddrinfo.h.
102922 2005-09-20  Bruno Haible  <bruno@clisp.org>
102924         * gnulib-tool: Remove trailing slashes from the values specified for
102925         --source-base, --m4-base, --tests-base, --aux-dir.
102926         Suggested by Simon Josefsson <jas@extundo.com>.
102928 2005-09-20  Bruno Haible  <bruno@clisp.org>
102930         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
102931         func_modules_to_filelist, func_import, func_create_testdir): Make all
102932         sorting results locale-independent, so that gnulib-cache.m4 doesn't
102933         change when gnulib-tool is invoked in a different locale.
102935 2005-09-19  Simon Josefsson  <jas@extundo.com>
102937         * m4/socklen.m4: Fix typo.
102939 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102941         Use a consistent style for including <config.h>.
102942         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
102943         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
102944         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
102945         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
102946         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
102947         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
102948         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
102949         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
102950         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
102951         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
102952         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
102953         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
102954         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
102955         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
102956         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
102957         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
102958         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
102959         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
102960         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
102961         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
102962         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
102963         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
102964         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
102965         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
102966         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
102967         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
102968         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
102969         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
102970         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
102971         lib/xstrtoumax.c, lib/yesno.c:
102972         Standardize inclusion of config.h.
102973         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
102974         lib/inttostr.h:  Removed inclusion of config.h from header files.
102975         * lib/inttostr.c:  Adjusted in-tree users.
102976         * lib/timespec.h: Remove superfluous warning to include config.h.
102977         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
102978         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
102979         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
102980         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
102981         config.h with HAVE_CONFIG_H.
102983 2005-09-19  Jim Meyering  <jim@meyering.net>
102985         * modules/pathmax (License): Change to LGPL.
102987 2005-09-19  Derek Price  <derek@ximbiot.com>
102989         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
102991 2005-09-19  Bruno Haible  <bruno@clisp.org>
102993         * gnulib-tool (import): Provide default for --tests-base.
102995 2005-09-19  Bruno Haible  <bruno@clisp.org>
102997         * doc/quote.texi: New file, extracted from gnulib.texi.
102998         * doc/ctime.texi: New file, extracted from gnulib.texi.
102999         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
103000         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
103001         * doc/gnulib.texi: Include them.
103003 2005-09-18  Bruno Haible  <bruno@clisp.org>
103005         Portability fix.
103006         * gnulib-tool (func_readlink): New function.
103007         (func_ln_if_changed): Use it.
103009 2005-09-18  Bruno Haible  <bruno@clisp.org>
103011         * gnulib-tool: Support --with-tests also with --import.
103012         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
103013         (func_import): Use variables $testsbase and $inctests. Emit a
103014         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
103015         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
103016         SUBDIRS += $testsdir.
103017         (func_create_testdir): Update.
103019 2005-09-18  Bruno Haible  <bruno@clisp.org>
103021         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
103022         instead of $dry_run.
103023         (func_cp_if_changed, func_mv_if_changed): Remove functions.
103024         (func_ln_if_changed): Don't handle dry-run here.
103025         (func_import): In dry-run mode, detect more precisely which actions
103026         would be performed, and don't use "...ing" verbs.
103028 2005-09-18  Bruno Haible  <bruno@clisp.org>
103030         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
103031         (func_import): Use join on two temporary files instead of three nested
103032         loops, in order to determine which files are new or old.
103034 2005-09-18  Bruno Haible  <bruno@clisp.org>
103036         * gnulib-tool (func_import): Comment out code that spits out the
103037         new files with --dry-run.
103039 2005-09-18  Bruno Haible  <bruno@clisp.org>
103041         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
103043 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103045         * lib/stat-time.h: New file.
103046         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
103047         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
103048         in a different way.
103049         (timespec_cmp): New function.
103050         * lib/utimecmp.c: Include stat-time.h.
103051         (SYSCALL_RESOLUTION): Depend on whether various struct stat
103052         members exist, not on the obsolescent ST_MTIM_NSEC.
103053         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
103055 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103057         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
103059 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
103061         * MODULES.html.sh (File system functions): Add stat-time.
103062         * modules/stat-time: New file.
103063         * modules/timespec (Files): Remove m4/st_mtim.m4; this
103064         is now done in a different way, by the stat-time module.
103065         * modules/utimecmp (Depends-on): Add stat-time.
103067 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
103069         * m4/st_mtim.m4: Remove.  Superseded by...
103070         * m4/stat-time.m4: New file.
103071         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
103072         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
103074 2005-09-15  Derek Price  <derek@ximbiot.com>
103076         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
103078 2005-09-15  Derek Price  <derek@ximbiot.com>
103080         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
103081         * lib/regex_internal.c: Ditto, using this...
103082         (__GNUC_PREREQ): ...new macro.
103083         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
103084         using...
103085         (__GNUC_PREREQ): ...this new macro.
103087         * lib/strstr.h: Include string.h. Define strstr as a macro here.
103089 2005-09-15  Derek Price  <derek@ximbiot.com>
103090             Paul Eggert  <eggert@cs.ucla.edu>
103092         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
103093         changes, consolidating in...
103094         * lib/regex_internal.h: ...this file.
103096 2005-09-13  Jim Meyering  <jim@meyering.net>
103098         * lib/canon-host.c: Filter through gnu indent and reword comments
103099         slightly.
103100         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
103102 2005-09-13  Derek Price  <derek@ximbiot.com>
103104         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
103105         failure.
103106         Reported by Jim Meyering  <jim@meyering.net>.
103108 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
103110         * lib/base64.c: Typo.
103111         (base64_encode): Put b64str in initialized data section.
103113 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
103115         Merge glibc and coreutils changes into gnulib, plus a few
103116         extra fixes.
103117         * lib/md5.c: Use #error rather than a string.
103118         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
103119         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
103120         (__attribute__): Define to empty for non recent-GCC.
103121         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
103122         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
103123         Renamed from their non-__ counterparts, with new macros replacing
103124         them if not _LIBC.  Add __THROW attribute.
103125         (rol): Remove.
103126         (struct md5_ctx): Align buffer if using GCC.
103127         * lib/sha1.h (struct sha1_ctx): Likewise.
103128         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
103129         The old name was backwards.
103130         (NOTSWAP): Remove; not used.
103131         (rol): New macro, moved here from md5.h.
103132         (sha1_process_block): Remove a FIXME that doesn't make sense.
103134 2005-09-12  Derek Price  <derek@ximbiot.com>
103136         Return usable errors from canon-host.
103137         * lib/canon-host.h: New file.
103138         * lib/canon-host.c (canon_host): Wrap...
103139         (canon_host_r): ...this new function, which now relies exclusively on
103140         getaddrinfo.
103141         (ch_strerror): New function.
103142         (last_cherror): New global.
103143         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
103144         interface.
103145         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
103146         void *.
103147         (freeaddrinfo): Free ai->ai_canonname when set.
103149 2005-09-12  Derek Price  <derek@ximbiot.com>
103151         Make canon-host require getaddrinfo.
103152         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
103153         AC_LIBSOURCE canon-host.h.  Call...
103154         (gl_PREREQ_CANON_HOST): ...this new function, which requires
103155         gl_GETADDRINFO.
103156         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
103158 2005-09-12  Derek Price  <derek@ximbiot.com>
103160         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
103161         LGPL.
103162         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
103164 2005-09-12  Derek Price  <derek@ximbiot.com>
103166         * lib/gai_strerror.c: Include config.h when available.  Include
103167         getaddrinfo.h before other headers to test interface.
103168         Reported by Larry Jones <lawrence.jones@ugs.com>.
103170 2005-09-12  Derek Price  <derek@ximbiot.com>
103171             Paul Eggert  <eggert@cs.ucla.edu>
103173         * modules/glob (Files): Add glob-libc.h.
103175 2005-09-12  Derek Price  <derek@ximbiot.com>
103176             Paul Eggert  <eggert@cs.ucla.edu>
103178         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
103179         glob_.h, glob-libc.h.
103180         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
103182 2005-09-12  Derek Price  <derek@ximbiot.com>
103183             Paul Eggert  <eggert@cs.ucla.edu>
103185         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
103186         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
103187         protecting things that should be done only in gnulib contexts.
103188         * lib/glob_.h: New file, containing only the glob things needed for
103189         gnulib.
103190         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
103191         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
103192         (glob, globfree, glob_pattern_p): Now defined simply in terms of
103193         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
103194         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
103195         and to respect the namespace rules better.
103197 2005-09-08  Simon Josefsson  <jas@extundo.com>
103199         * modules/socklen: New file.
103201 2005-09-08  Simon Josefsson  <jas@extundo.com>
103203         * m4/socklen.m4: New file.
103205 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103207         * modules/utimens (Files): Add m4/utimbuf.m4, since
103208         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
103209         Reported by Sergey Poznyakoff.
103211 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103213         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
103214         definitions, since that's the preferred style in glibc.
103215         Fix a minor spacing issue, and update copyright notice to match
103216         glibc's.
103218 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
103220         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
103222 2005-09-06  Simon Josefsson  <jas@extundo.com>
103224         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
103225         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
103227 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103229         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
103230         warning.
103232 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
103234         * config/srclist.txt: Add glibc bug 1302.
103236 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
103238         Change bitset word type from unsigned int to unsigned long int,
103239         as this has better performance on typical 64-bit hosts.
103240         Port bitset code to hosts with unusual word sizes.
103241         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
103242         (build_collating_symbol):
103243         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
103244         argument is a bitset.  This is merely a style issue, but it makes
103245         it clearer that an entire array is expected.
103246         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
103247         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
103248         Port to the case where bitset_word is not the same as unsigned int.
103249         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103250         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
103251         Likewise.
103252         * lib/regexec.c (check_dst_limits_calc_pos_1,
103253         check_subexp_matching_top):
103254         (build_trtable, group_nodes_into_DFAstates):
103255         Likewise.
103256         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
103257         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
103258         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
103259         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
103260         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
103261         * lib/regcomp.c (optimize_subexps, lower_subexp):
103262         Work even if bitset_word has holes in its bitwise representation.
103263         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
103264         * lib/regexec.c (check_dst_limits_calc_pos_1,
103265         check_subexp_matching_top):
103266         Likewise.
103267         * lib/regex_internal.c (re_string_reconstruct):
103268         Don't assume UCHAR_MAX == 255.
103269         * lib/regex_internal.h (bitset_set_all): Likewise.
103270         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
103271         All uses changed.
103272         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
103273         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
103274         All uses changed.
103275         (BITSET_WORD_MAX): New macro.
103276         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
103277         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
103278         (bitset_empty, bitset_copy):
103279         Prefer sizeof (bitset) to multiplying it out ourselves.
103280         (bitset_not_merge): Remove; unused.
103281         (bitset_contain): Return bool, not unsigned int with one bit on.
103282         All callers changed.
103283         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
103284         alignment than re_node_set; do this by defining a new internal
103285         type struct dests_alloc and using it to allocate memory.
103287 2005-09-05  Bruno Haible  <bruno@clisp.org>
103289         * gnulib-tool (func_import): Fix comparison in handling of symbolic
103290         links.
103292 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
103294         * modules/size_max (Makefile.am): Add size_max.h
103296 2005-09-04  Derek Price  <derek@ximbiot.com>
103298         * gnulib-tool (func_import): Fix reversed $symbolic logic.
103300 2005-09-03  Simon Josefsson  <jas@extundo.com>
103302         * gnulib-tool: Fix typo.
103304 2005-09-03  Simon Josefsson  <jas@extundo.com>
103306         * config/srclist.txt: Add glibc bug 1293.
103308 2005-09-03  Derek Price  <derek@ximbiot.com>
103310         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
103311         From Larry Jones <lawrence.jones@ugs.com>.
103313 2005-09-02  Simon Josefsson  <jas@extundo.com>
103315         * modules/socklen: New file.
103317 2005-09-02  Simon Josefsson  <jas@extundo.com>
103319         * modules/havelib: New module.
103321         * modules/gettext, modules/iconv, modules/lock, modules/readline:
103322         Use havelib.
103324 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103326         Check for arithmetic overflow when calculating sizes, to prevent
103327         some buffer-overflow issues.  These patches are conservative, in the
103328         sense that when I couldn't determine whether an overflow was possible,
103329         I inserted a run-time check.
103330         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
103331         macros.
103332         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
103333         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
103334         (re_xnrealloc, re_x2nrealloc): New inline functions.
103335         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
103336         parse_bracket_exp):
103337         (build_equiv_class, build_charclass): Check for arithmetic overflow
103338         in size expression calculations.
103339         * lib/regex_internal.c (re_string_realloc_buffers):
103340         (build_wcs_upper_buffer, re_node_set_add_intersect):
103341         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
103342         (re_dfa_add_node, register_state): Likewise.
103343         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
103344         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
103345         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
103346         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
103348 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
103350         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
103351         m4/ulonglong.m4.  Problem reported by Martin Lambers.
103353 2005-09-02  Bruno Haible  <bruno@clisp.org>
103355         Support for lib vs. lib64 distinction on biarch platforms.
103356         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
103357         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
103358         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
103360 2005-09-02  Bruno Haible  <bruno@clisp.org>
103362         * gnulib-tool (import): In the other first-use case, provide defaults
103363         as well.
103365 2005-09-02  Bruno Haible  <bruno@clisp.org>
103367         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
103368         patches not yet found in the latest gettext release.
103370 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103372         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
103373         to avoid a collision with bits/local_lim.h in glibc.
103374         All uses changed.  Problem reported by Dmitry V. Levin in
103375         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
103377         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
103378         bugs in int versus size_t comparisons.
103379         (re_string_context_at): Fix bug where the code assumed that
103380         Idx is signed.
103382         Use bool where appropriate.
103383         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
103384         All callers changed.
103385         (calc_eclosure_iter): Likewise, for ROOT arg.
103386         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
103387         (build_charclass_op): Likewise, for NON_MATCH arg.
103388         * lib/regex_internal.c (re_string_allocate, re_string_construct):
103389         (re_string_construct_common): Likewise, for ICASE arg.
103390         * lib/regexec.c (re_search_2_stub, re_search_stub):
103391         Likewise, for RET_LEN arg.
103392         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
103393         (set_regs): Likewise, for FL_BACKTRACK arg.
103394         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
103395         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
103396         (calc_eclosure_iter, parse_bracket_exp):
103397         Use bool for internal variables that are booleans.
103398         * lib/regexec.c (re_search_internal, check_matching,
103399         proceed_next_node):
103400         (set_regs, build_sifted_states, sift_states_bkref):
103401         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
103402         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
103403         (find_collation_sequence_value):
103404         Likewise.
103405         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
103406         (re_node_set_compare):
103407         Return bool, not int. All callers changed.
103408         * lib/regexec.c (check_halt_node_context, check_dst_limits):
103409         (build_trtable, check_node_accept): Likewise.
103410         * lib/regex_internal.h: Include stdbool.h.
103412         Fix bugs uncovered when converting to bool.
103413         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
103414         failure instead of charging ahead blindly.
103415         * lib/regex_internal.c (register_state): Likewise.
103416         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
103417         for freeing internal storage.
103418         (group_nodes_into_DFA_states): Use unsigned int, not int, for
103419         bitset pieces used as boolean, to avoid undefined behavior
103420         on hosts that do int overflow checking.
103422 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
103424         * config/srclist.txt: Add glibc bugs 1285-1287.
103426 2005-09-01  Jim Meyering  <jim@meyering.net>
103428         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
103429         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
103430         Require gl_STAT_MACROS, too.
103432 2005-09-01  Bruno Haible  <bruno@clisp.org>
103434         * gnulib-tool (import): In the first-use case, provide defaults.
103436 2005-09-01  Bruno Haible  <bruno@clisp.org>
103438         * gnulib-tool (func_import): Remove the .tmp files.
103440 2005-09-01  Bruno Haible  <bruno@clisp.org>
103442         * gnulib-tool (func_import): Fix handling of symbolic links.
103444 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103446         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
103447         old glibc regex code mishandles strings longer than 2**31 bytes.
103448         This patch fixes this when the regex code is used in gnulib
103449         (i.e., outside glibc).
103451         This patch should not affect the use of the regex code inside
103452         glibc.  No doubt this problem also needs to be handled for glibc
103453         as well, but the result will be an incompatible change to the
103454         glibc ABI, and the old ABI will have to be supported too.  That
103455         can be the subject for another patch.
103457         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
103458         governing whether the rest of this patch is active.  By default,
103459         the macro is disabled and the patch has no effect.
103460         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
103461         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
103462         (struct re_pattern_buffer, re_search, re_search_2, re_match):
103463         (re_match_2, re_set_registers): Use the new types.
103464         * lib/regex_internal.h (Idx, re_hashval_t): New types.
103465         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
103466         New macros.
103467         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
103468         (re_string_context_at, bin_tree_t, re_dfastate_t):
103469         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
103470         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
103471         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
103472         (re_string_char_size_at, re_string_wchar_at):
103473         (re_string_elem_size_at):
103474         Use the new types and macros to port to 64-bit hosts.
103475         Use unsigned types for internal values, so that the code
103476         mostly works even for arrays larger than SSIZE_MAX.
103477         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
103478         (search_duplicated_node, calc_eclosure_iter, fetch_number):
103479         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
103480         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
103481         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
103482         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
103483         (calc_inveclosure, parse_dup_op, build_range_exp):
103484         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
103485         (fetch_number, create_token_tree, mark_opt_subexp):
103486         Likewise.
103487         * lib/regex_internal.c (re_string_construct_common,
103488         create_ci_newstate):
103489         (create_cd_newstate, re_string_allocate, re_string_construct):
103490         (re_string_realloc_buffers, build_wcs_upper_buffer):
103491         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
103492         (re_string_reconstruct, re_string_peek_byte_case):
103493         (re_string_fetch_byte_case, re_string_context_at):
103494         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
103495         (re_node_set_init_copy, re_node_set_add_intersect):
103496         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103497         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103498         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
103499         (re_acquire_state, re_acquire_state_context, register_state):
103500         Likewise.
103501         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
103502         search_cur_bkref_entry):
103503         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
103504         (re_search_internal, re_search_2_stub, re_search_stub)
103505         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
103506         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
103507         (update_cur_sifted_state, check_dst_limits):
103508         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103509         (check_subexp_limits, sift_states_bkref, merge_state_array):
103510         (check_subexp_matching_top, get_subexp, get_subexp_sub):
103511         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
103512         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
103513         (expand_bkref_cache, check_node_accept_bytes):
103514         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
103515         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
103516         (acquire_init_state_context, check_halt_node_context):
103517         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
103518         (sift_states_backward, clean_state_log_if_needed):
103519         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
103520         (find_recover_state, transit_state_sb, transit_state_mb):
103521         (transit_state_bkref, build_trtable, match_ctx_clean):
103522         Likewise.
103523         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
103524         to work around an assumption that REG_MISSING is negative.
103526         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
103527         (seek_collating_symbol_entry) [defined _LIBC]:
103528         (lookup_collation_sequence_value) [defined _LIBC]:
103529         (build_range_exp, build_collating_symbol) [defined _LIBC]:
103530         Use prototypes rather than old-style function definitions.
103531         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
103532         (transit_state_sb) [0]:
103533         (find_collation_sequence_value) [defined _LIBC]: Likewise.
103535         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
103536         rm_eo.
103538         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
103539         (optimize_subexps, lower_subexp):
103540         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
103541         since the signed shift might overflow.  Use 1u<<31 instead.
103542         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
103543         Likewise.
103544         * lib/regexec.c (check_dst_limits_calc_pos_1,
103545         check_subexp_matching_top): Likewise.
103547         * lib/regcomp.c (optimize_subexps, lower_subexp):
103548         Use CHAR_BIT rather than 8, for clarity.
103549         * lib/regexec.c (check_dst_limits_calc_pos_1):
103550         (check_subexp_matching_top): Likewise.
103551         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
103552         have to worry about portability issues when shifting it left.
103553         Remove no-longer-needed test for table_size > 0.
103554         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
103555         in a word, as the resulting behavior is undefined.
103556         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
103557         in one case, a <= should have been an <, and in another case the
103558         whole test was missing.
103559         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
103560         the standard name CHAR_BIT.
103561         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
103562         this is not true on one's complement and signed-magnitude hosts.
103564         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
103565         next_last_offset.
103566         (struct re_dfa_t): Remove unused member states_alloc.
103567         * lib/regcomp.c (init_dfa): Don't initialize unused members.
103569 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103571         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
103572         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
103573         and large-file glibc and in 32-bit large-file Solaris.
103575 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103577         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
103578         lengths fit in regoff_t; this isn't true if regoff_t is the same
103579         width as size_t.
103580         * lib/regex.c (re_search_internal): 5th arg is LAST_START
103581         (= START + RANGE) instead of RANGE.  This avoids overflow
103582         problems when regoff_t is the same width as size_t.
103583         All callers changed.
103584         (re_search_2_stub): Check for overflow when adding the
103585         sizes of the two strings.
103586         (re_search_stub): Check for overflow when adding START
103587         to RANGE; if it occurs, substitute the extreme value.
103589 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
103591         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
103593 2005-08-31  Jim Meyering  <jim@meyering.net>
103595         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
103596         a pointer-to-const.
103597         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
103598         (register_state): Likewise.
103599         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
103600         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
103601         (group_nodes_into_DFAstates): Likewise.
103603 2005-08-31  Jim Meyering  <jim@meyering.net>
103605         * check-module: Add a FIXME comment.
103607 2005-08-31  Eric Blake  <ebb9@byu.net>
103609         * modules/unistd-safer (Files): Add unistd--.h.
103610         * modules/stdio-safer (Files): Add stdio--.h.
103612 2005-08-31  Derek Price  <derek@ximbiot.com>
103614         * lib/getdelim.c (getdelim): Return EOF on EOF.
103615         Reported by Larry Jones <lawrence.jones@ugs.com>.
103617 2005-08-31  Bruno Haible  <bruno@clisp.org>
103619         Avoid unnecessary diffs in the generated lib/Makefile.am.
103620         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
103621         the generated files.
103622         (func_import): Don't set cmd.
103624 2005-08-31  Bruno Haible  <bruno@clisp.org>
103626         * lib/strstr.c: Include <stddef.h>, for NULL.
103627         * lib/strcasestr.c: Likewise.
103628         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
103630 2005-08-31  Bruno Haible  <bruno@clisp.org>
103632         * gnulib-tool: New option --macro-prefix.
103633         (func_import): Use macro_prefix.
103634         (import): Handle option --macro-prefix.
103636 2005-08-31  Bruno Haible  <bruno@clisp.org>
103638         * gnulib-tool (import): Rename most ac_* variables to cached_*.
103639         Also use new variables cached_lgpl, cached_libtool.
103641 2005-08-31  Bruno Haible  <bruno@clisp.org>
103643         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
103644         always instantiating them.
103646 2005-08-31  Bruno Haible  <bruno@clisp.org>
103648         * gnulib-tool (func_import): Read the previous cached settings
103649         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
103650         earlier added by gnulib but are now dropped. Warn when a gnulib file
103651         overwrites a non-gnulib file.
103653 2005-08-31  Bruno Haible  <bruno@clisp.org>
103655         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
103656         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
103657         projects that don't keep autogenerated files in CVS. Put into
103658         actioncmd only the specified modules, not the transitive closure.
103660 2005-08-31  Bruno Haible  <bruno@clisp.org>
103662         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
103663         Create directories that shall be filled.
103664         (import): Don't look for gl_* macros in configure.ac. Recurse across
103665         all directories containing a gnulib-cache.m4 files, if meaningful.
103667 2005-08-31  Bruno Haible  <bruno@clisp.org>
103669         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
103670         (import): Set seen_libtool when we see gl_LIBTOOL.
103672 2005-08-31  Bruno Haible  <bruno@clisp.org>
103674         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
103675         declaration macro definitions from generated gnulib.m4.
103677 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
103679         * lib/iconvme.h: Add prototype for iconv_alloc.
103681 2005-08-29  Simon Josefsson  <jas@extundo.com>
103683         * lib/iconvme.c: Fix errno.
103685 2005-08-29  Bruno Haible  <bruno@clisp.org>
103687         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
103688         that it works when the directory contains spaces.
103690 2005-08-29  Bruno Haible  <bruno@clisp.org>
103692         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
103694 2005-08-29  Bruno Haible  <bruno@clisp.org>
103696         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
103697         Emit more advice.
103699 2005-08-29  Bruno Haible  <bruno@clisp.org>
103700         and Stepan Kasal  <kasal@ucw.cz>
103702         * check-module: If more parameters are given, check each of them
103703         separately; add more exceptions, as noted by Jim Meyering.
103704         (check_module): New procedure.
103705         (%exempt_header): Now contains all exceptions.
103707 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
103709         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
103711 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
103713         * lib/iconvme.c: Split iconv_string into iconv_alloc.
103715 2005-08-28  Bruno Haible  <bruno@clisp.org>
103717         * m4/gnulib-tool.m4: New file.
103719 2005-08-27  Jim Meyering  <jim@meyering.net>
103721         * modules/unistd-safer (Files): Add pipe-safer.c.
103722         * modules/fcntl-safer (Files): Add creat-safer.c.
103724 2005-08-27  Jim Meyering  <jim@meyering.net>
103726         * m4/stdlib-safer.m4: New file.  From coreutils.
103727         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
103728         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
103729         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
103730         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
103731         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
103733 2005-08-27  Jim Meyering  <jim@meyering.net>
103735         * lib/fopen-safer.c: Merge minor changes from coreutils.
103736         * lib/dup-safer.c: Likewise.
103737         * lib/fd-safer.c: Likewise.
103739         Merge from coreutils.
103740         * lib/stdio--.h: New file.
103741         * lib/stdlib--.h: New file.
103742         * lib/mkstemp-safer.c: New file.
103744         GNU tar needs these.
103745         * lib/pipe-safer.c: New file.
103746         * lib/creat-safer.c: New file.
103747         * lib/fcntl--.h (creat): Define to creat_safer.
103748         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
103749         * lib/unistd--.h (pipe): Define to pipe_safer.
103750         * lib/unistd-safer.h: Declare pipe_safer.
103752 2005-08-26  Simon Josefsson  <jas@extundo.com>
103754         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
103755         Haible <bruno@clisp.org>.
103757 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
103759         * lib/regex_internal.h: Remove all references to
103760         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
103761         or better.
103762         (bitset_not, bitset_merge, bitset_not_merge):
103763         (bitset_mask, re_string_allocate, re_string_construct):
103764         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
103765         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
103766         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
103767         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
103768         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
103769         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
103770         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
103771         (re_acquire_state_context):
103772         Remove unnecessary forward decls.
103773         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
103774         Put __attribute at function definition,
103775         now that the function decl has been removed.
103776         * lib/regex_internal.c (re_string_peek_byte_case):
103777         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
103778         Likewise.
103780 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
103782         * m4/regex.m4: Add AC_PREREQ(2.50).
103783         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
103785 2005-08-25  Simon Josefsson  <jas@extundo.com>
103787         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
103788         __fsetlocking.
103790 2005-08-25  Simon Josefsson  <jas@extundo.com>
103792         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
103793         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
103794         GLIBC specific code.
103796 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103798         Make regex safe for g++.  This fixes one real bug (an "err"
103799         that should have been "*err").  g++ problem reported by
103800         Sam Steingold.
103801         * lib/regex_internal.h (re_calloc): New macro, consistent with
103802         re_malloc etc.  All callers of calloc changed to use re_calloc.
103803         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
103804         not int.  All callers changed.
103805         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
103806         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
103807         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
103808         (find_recover_state): Change "err" to "*err"; this fixes what
103809         appears to be a real bug.
103810         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
103811         versus int.
103813 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103815         * modules/regex (Depends-on): Add malloc, since the code
103816         assumes that !malloc(0) means failure.
103818 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103820         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
103822         alloca modernization/simplification for regex.
103823         * lib/regex.c: Remove portability cruft for alloca.  This no longer
103824         needs to be at the start of the file, and can be moved into
103825         regex_internal.h and simplified.
103826         * lib/regex_internal.h: Include <alloca.h>.
103827         (__libc_use_alloca) [!defined _LIBC]: New macro.
103828         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
103829         now works outside glibc.
103831 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
103833         * config/srclist.txt: Add glibc bugs 1241, 1245.
103835 2005-08-25  Jim Meyering  <jim@meyering.net>
103837         * lib/open-safer.c: Include <config.h>.
103838         Otherwise, we'd lose LARGEFILE support in any file using
103839         e.g. "fcntl--.h"
103841 2005-08-25  Bruno Haible  <bruno@clisp.org>
103843         * m4/minmax.m4: Require autoconf 2.52.
103844         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
103845         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
103846         alternatives of translit over the alphabet.
103847         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
103849 2005-08-24  Simon Josefsson  <jas@extundo.com>
103851         * tests/test-getpass.c: New file.
103853 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103855         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
103856         for GNU regex features.
103858 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
103860         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
103861         * lib/regex.h (regerror): Likewise.
103863         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
103864         requires this.  (The code never needed it.)
103866         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
103867         All uses of recently-renamed identifiers changed to use the new,
103868         POSIX-compliant names.  The code will build and run just fine
103869         without these changes, but it's better to eat our own dog food
103870         and use the standard-conforming names.
103872         * lib/regex.h: Fix a multitude of POSIX name space violations.
103873         These changes have an effect only for programs that define
103874         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
103875         do not change anything for programs compiled in the normal way.
103876         Also, there is no effect on the ABI.
103878         (_REGEX_SOURCE): New macro.
103879         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
103880         defined and _GNU_SOURCE is not; this fixes a name space violation.
103882         Rename the following macros to obey POSIX requirements.
103883         The old names are still visible as macros if _REGEX_SOURCE is defined.
103884         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
103885         RE_BACKSLASH_ESCAPE_IN_LISTS.
103886         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
103887         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
103888         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
103889         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
103890         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
103891         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
103892         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
103893         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
103894         (REG_INTERVALS): renamed from RE_INTERVALS.
103895         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
103896         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
103897         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
103898         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
103899         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
103900         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
103901         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
103902         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
103903         RE_UNMATCHED_RIGHT_PAREN_ORD.
103904         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
103905         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
103906         (REG_DEBUG): renamed from RE_DEBUG.
103907         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
103908         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
103909         unusual, since we can't clash with the POSIX REG_ICASE.
103910         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
103911         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
103912         (REG_NO_SUB): renamed from RE_NO_SUB.
103913         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
103914         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
103915         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
103916         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
103917         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
103918         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
103919         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
103920         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
103921         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
103922         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
103923         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
103924         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
103925         RE_SYNTAX_POSIX_MINIMAL_BASIC.
103926         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
103927         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
103928         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
103929         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
103930         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
103931         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
103932         (REG_FIXED): Renamed from REGS_FIXED.
103933         (REG_NREGS): Renamed from RE_NREGS.
103935         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
103936         of other REG_* macros, since POSIX says the user is allowed to
103937         #undef these macros selectively.
103939         (reg_errcode_t): Update comment stating what other tables need
103940         to be consistent.
103942         Rename the following enum values to obey POSIX requirements.
103943         The old names are still visible as macros.
103944         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
103945         is not defined, since GNU is supposed to be a superset of POSIX as
103946         much as possible, and since we want reg_errcode_t to be a signed
103947         type for implementation consistency.
103948         (_REG_NOERROR): Renamed from REG_NOERROR.
103949         (_REG_NOMATCH): Renamed from REG_NOMATCH.
103950         (_REG_BADPAT): Renamed from REG_BADPAT.
103951         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
103952         (_REG_ECTYPE): Renamed from REG_ECTYPE.
103953         (_REG_EESCAPE): Renamed from REG_EESCAPE.
103954         (_REG_ESUBREG): Renamed from REG_ESUBREG.
103955         (_REG_EBRACK): Renamed from REG_EBRACK.
103956         (_REG_EPAREN): Renamed from REG_EPAREN.
103957         (_REG_EBRACE): Renamed from REG_EBRACE.
103958         (_REG_BADBR): Renamed from REG_BADBR.
103959         (_REG_ERANGE): Renamed from REG_ERANGE.
103960         (_REG_ESPACE): Renamed from REG_ESPACE.
103961         (_REG_BADRPT): Renamed from REG_BADRPT.
103962         (_REG_EEND): Renamed from REG_EEND.
103963         (_REG_ESIZE): Renamed from REG_ESIZE.
103964         (_REG_ERPAREN): Renamed from REG_ERPAREN.
103965         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
103966         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
103967         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
103968         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
103970         (_REG_RE_NAME, _REG_RM_NAME): New macros.
103971         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
103972         changed.  But support the old name if the new one is not defined
103973         and if _REGEX_SOURCE.
103975         Change the following member names in struct re_pattern_buffer.
103976         The old names are still supported if !_REGEX_SOURCE.
103977         The new names are always supported, regardless of _REGEX_SOURCE.
103978         (re_buffer): Renamed from buffer.
103979         (re_allocated): Renamed from allocated.
103980         (re_used): Renamed from used.
103981         (re_syntax): Renamed from syntax.
103982         (re_fastmap): Renamed from fastmap.
103983         (re_translate): Renamed from translate.
103984         (re_can_be_null): Renamed from can_be_null.
103985         (re_regs_allocated): Renamed from regs_allocated.
103986         (re_fastmap_accurate): Renamed from fastmap_accurate.
103987         (re_no_sub): Renamed from no_sub.
103988         (re_not_bol): Renamed from not_bol.
103989         (re_not_eol): Renamed from not_eol.
103990         (re_newline_anchor): Renamed from newline_anchor.
103992         Change the following member names in struct re_registers.
103993         The old names are still supported if !_REGEX_SOURCE.
103994         The new names are always supported, regardless of _REGEX_SOURCE.
103995         (rm_num_regs): Renamed from num_regs.
103996         (rm_start): Renamed from start.
103997         (rm_end): Renamed from end.
103999         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
104000         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
104001         Prepend __ to parameter names.
104003         Undo yesterday's changes.
104005 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
104007         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
104008         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
104009         lib/regex.c.
104011 2005-08-24  Jim Meyering  <jim@meyering.net>
104013         Sync from coreutils.
104014         * m4/fcntl-safer.m4: New file.
104016         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
104017         and object files for this module.
104019 2005-08-24  Jim Meyering  <jim@meyering.net>
104021         Sync from coreutils.
104022         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
104024 2005-08-24  Jim Meyering  <jim@meyering.net>
104026         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
104027         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
104029 2005-08-24  Jim Meyering  <jim@meyering.net>
104031         * modules/fcntl-safer: New module.
104032         * modules/fts (Depends-on): Add fcntl-safer.
104033         * MODULES.html.sh (File descriptor based Input/Output):
104034         Add fcntl-safer.
104036 2005-08-24  Bruno Haible  <bruno@clisp.org>
104038         Support for unit test modules.
104039         * modules/README: Mention tests modules.
104040         * modules/TEMPLATE-TESTS: New file.
104041         * gnulib-tool: New options --extract-tests-module, --with-tests and
104042         --tests-base (unused for the moment).
104043         (testsbase, inctests): New variables.
104044         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
104045         (func_verify_module): Exclude TEMPLATE-TESTS.
104046         (func_verify_nontests_module, func_verify_tests_module): New functions.
104047         (func_get_dependencies): Add implicit dependency for tests modules.
104048         (func_get_tests_module): New function.
104049         (func_modules_transitive_closure): When --with-tests was specified,
104050         include the unit tests as well, unless explicitly avoided.
104051         (func_emit_lib_Makefile_am): Ignore the tests modules here.
104052         (func_emit_tests_Makefile_am): New function.
104053         (func_create_testdir): When --with-tests was specified, emit a
104054         tests/ directory.
104055         * MODULES.html.sh (Future developments): Update.
104057 2005-08-24  Bruno Haible  <bruno@clisp.org>
104059         * modules/tls-tests: New file.
104060         * tests/test-tls.c: New file, from GNU gettext.
104062 2005-08-24  Bruno Haible  <bruno@clisp.org>
104064         * modules/lock-tests: New file.
104065         * tests/test-lock.c: New file, from GNU gettext.
104067 2005-08-24  Bruno Haible  <bruno@clisp.org>
104069         * lib/lock.h: Add multiple inclusion guard.
104070         * lib/tls.h: Add multiple inclusion guard.
104072 2005-08-24  Bruno Haible  <bruno@clisp.org>
104074         * gnulib-tool: Add support for the --aux-dir option to
104075         --create-testdir, --create-megatestdir, --test, --megatest.
104076         (func_create_testdir, func_create_megatestdir): Optionally emit a
104077         AC_CONFIG_AUX_DIR directive.
104078         (create-testdir, create-megatestdir, test, megatest): Provide a
104079         default value for $auxdir.
104081 2005-08-24  Bruno Haible  <bruno@clisp.org>
104083         * gnulib-tool (import): Use compound statement instead of subshell
104084         where possible.
104086 2005-08-24  Bruno Haible  <bruno@clisp.org>
104088         * gnulib-tool (import): Change --aux-dir default to "build-aux".
104090 2005-08-24  Bruno Haible  <bruno@clisp.org>
104092         * gnulib-tool (func_version): Update.
104094 2005-08-24  Bruno Haible  <bruno@clisp.org>
104096         * gnulib-tool (func_import, func_create_testdir,
104097         func_create_megatestdir): Quote all autoconf macro arguments.
104099 2005-08-24  Bruno Haible  <bruno@clisp.org>
104101         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
104102         option --force, because --force causes the aclocal.m4 of each
104103         subdirectory to be newer than the corresponding config.h.in.
104105 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104107         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
104108         All contents moved to gl_REGEX.
104109         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
104110         assume that it does.
104112 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104114         * lib/regex.h (REG_NOSYS)
104115         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
104116         Define, since POSIX requires it as of 2001.
104117         (_REG_ENOSYS)
104118         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
104119         New private symbol, used to keep the enum signed in all cases.
104120         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
104121         Youngman in
104122         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
104124         * lib/regex_internal.c (re_string_skip_chars, register_state):
104125         (calc_state_hash):
104126         Remove forward decls; no longer needed now that we use prototypes.
104127         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
104128         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
104129         (clean_state_log_if_needed): Likewise.
104131 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
104133         * config/srclist.txt: Add glibc bugs 1231-1233.
104135 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104137         Fix problems reported by Sam Steingold in
104138         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
104139         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
104140         assumed that reg_errcode_t is a signed type, which is not
104141         necessarily true if _XOPEN_SOURCE is not defined.
104142         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
104143         since some compilers warn about it otherwise.
104145 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104147         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
104148         (init_word_char, create_initial_state, duplicate_node_closure):
104149         (fetch_token, peek_token_bracket, build_range_exp):
104150         (build_collating_symbol): Remove forward decls; no longer needed
104151         now that we use prototypes.
104153         * lib/regcomp.c:
104154         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
104155         (re_compile_fastmap_iter, regcomp, regerror, regfree):
104156         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
104157         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
104158         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
104159         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
104160         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
104161         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
104162         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
104163         (build_range_exp, build_collating_symbol, parse_bracket_exp):
104164         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
104165         (build_charclass, build_charclass_op, fetch_number, create_tree):
104166         (create_token_tree, mark_opt_subexp, duplicate_tree):
104167         Use prototypes rather than old-style definitions.
104169         * lib/regex_internal.c:
104170         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
104171         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
104172         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
104173         (re_string_reconstruct, re_string_peek_byte_case):
104174         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
104175         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
104176         (re_node_set_init_copy, re_node_set_add_intersect):
104177         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
104178         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
104179         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
104180         (re_acquire_state, re_acquire_state_context, register_state):
104181         (create_ci_newstate, create_cd_newstate, free_state):
104182         Likewise.
104183         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
104184         re_search_2):
104185         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
104186         (re_search_internal, prune_impossible_nodes):
104187         (acquire_init_state_context, check_matching, static):
104188         (check_halt_node_context, check_halt_state_context, proceed_next_node):
104189         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
104190         (update_regs, sift_states_backward, build_sifted_states):
104191         (clean_state_log_if_needed, merge_state_array):
104192         (update_cur_sifted_state, add_epsilon_src_nodes):
104193         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
104194         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
104195         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
104196         (find_recover_state, check_subexp_matching_top, transit_state_mb):
104197         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
104198         (check_arrival, check_arrival_add_next_nodes):
104199         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
104200         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
104201         (check_node_accept_bytes, check_node_accept, extend_buffers):
104202         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
104203         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
104204         (sift_ctx_init):
104205         Likewise.
104207         * lib/regex_internal.h:
104208         (re_string_allocate, re_string_construct, re_string_reconstruct):
104209         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
104210         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
104211         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
104212         (re_string_context_at, re_string_peek_byte_case):
104213         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
104214         is defined, since we now use prototypes always.
104216         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
104217         C89 or better.  All uses removed.
104219 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
104221         * config/srclist.txt: Add glibc bugs 1220-1227.
104223 2005-08-20  Jim Meyering  <jim@meyering.net>
104225         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
104226         of unused local, dfa.
104228 2005-08-20  Bruno Haible  <bruno@clisp.org>
104230         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
104232 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104234         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
104235         (re_node_set_insert_last, re_dfa_add_node):
104236         Rename local variables to avoid GCC shadowing warnings.
104238 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104240         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
104241         [defined lint]: Suppress bogus uninitialized-variable warnings.
104243         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
104244         and let the caller return REG_ESPACE if out of space.  This
104245         removes an uninitialied-variable warning with GCC 4.0.1, and also
104246         avoids taking the address of a local variable.  All callers
104247         changed.
104249 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
104251         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
104252         $LIBCSRC/posix/regexec.c.
104253         Add glibc bug 1217 for regcomp.c.
104255 2005-08-19  Jim Meyering  <jim@meyering.net>
104257         * lib/regexec.c (proceed_next_node): Redo local variables to
104258         avoid GCC shadowing warnings.
104260 2005-08-18  Bruno Haible  <bruno@clisp.org>
104262         * lib/strstr.c (strstr): Fix return value in multibyte case.
104263         * lib/strcasestr.c (strcasestr): Likewise.
104265 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
104267         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
104269 2005-08-17  Jim Meyering  <jim@meyering.net>
104271         Make the %s format (seconds since the epoch) work for a negative
104272         number and when used with a zero-padded field width, e.g. %015s.
104274         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
104275         label so that it precedes the code to set `digits'.  Otherwise,
104276         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
104277         print `00-22'.  Now, it prints `-0022', as it should.
104279 2005-08-17  Bruno Haible  <bruno@clisp.org>
104281         * modules/strstr (Files): Add m4/mbrtowc.m4.
104282         (Depends-on): Add mbuiter.
104284 2005-08-17  Bruno Haible  <bruno@clisp.org>
104286         * modules/strcasestr: New file.
104287         * MODULES.html.sh (String handling, based on ANSI C 89): Add
104288         strcasestr.
104290 2005-08-17  Bruno Haible  <bruno@clisp.org>
104292         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
104294 2005-08-17  Bruno Haible  <bruno@clisp.org>
104296         * modules/mbuiter: New file.
104297         * MODULES.html.sh (Extended multibyte and wide character utilities):
104298         Add mbuiter.
104300 2005-08-17  Bruno Haible  <bruno@clisp.org>
104302         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
104303         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
104305 2005-08-17  Bruno Haible  <bruno@clisp.org>
104307         * m4/strcasestr.m4: New file.
104309 2005-08-17  Bruno Haible  <bruno@clisp.org>
104311         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
104312         * lib/strstr.c: Completely rewritten, with multibyte locale support.
104314 2005-08-17  Bruno Haible  <bruno@clisp.org>
104316         * lib/strcasestr.h: New file.
104317         * lib/strcasestr.c: New file.
104319 2005-08-17  Bruno Haible  <bruno@clisp.org>
104321         * lib/strcasecmp.c: Use mbuiter.h.
104323 2005-08-17  Bruno Haible  <bruno@clisp.org>
104325         * lib/mbuiter.h: New file.
104327 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
104329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
104330         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
104331         and gl_GETOPT are both invoked via different paths (as happens
104332         with GNU tar CVS because it uses both argp and getopt), the former
104333         wins.
104335 2005-08-16  Bruno Haible  <bruno@clisp.org>
104337         * modules/tls: New file.
104338         * MODULES.html.sh (Multithreading): Add tls.
104340 2005-08-16  Bruno Haible  <bruno@clisp.org>
104342         * modules/strnlen1: New file.
104343         * MODULES.html.sh (String handling): Add strnlen1.
104345 2005-08-16  Bruno Haible  <bruno@clisp.org>
104347         * modules/strcase (Files): Add m4/mbrtowc.m4.
104348         (Depends-on): Add strnlen1, mbchar.
104350 2005-08-16  Bruno Haible  <bruno@clisp.org>
104352         * modules/mbiter: New file.
104353         * MODULES.html.sh (Extended multibyte and wide character utilities):
104354         Add mbiter.
104356 2005-08-16  Bruno Haible  <bruno@clisp.org>
104358         * modules/mbfile: New file.
104359         * MODULES.html.sh (Extended multibyte and wide character utilities):
104360         Add mbfile.
104362 2005-08-16  Bruno Haible  <bruno@clisp.org>
104364         * modules/mbchar: New file.
104365         * MODULES.html.sh (Extended multibyte and wide character utilities):
104366         New section.
104368 2005-08-16  Bruno Haible  <bruno@clisp.org>
104370         * m4/tls.m4: New file, from GNU gettext.
104372 2005-08-16  Bruno Haible  <bruno@clisp.org>
104374         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
104375         always.
104376         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
104378 2005-08-16  Bruno Haible  <bruno@clisp.org>
104380         * m4/mbiter.m4: New file.
104382 2005-08-16  Bruno Haible  <bruno@clisp.org>
104384         * m4/mbfile.m4: New file.
104386 2005-08-16  Bruno Haible  <bruno@clisp.org>
104388         * m4/mbchar.m4: New file.
104390 2005-08-16  Bruno Haible  <bruno@clisp.org>
104392         * lib/tls.h: New file, from GNU gettext.
104393         * lib/tls.c: New file, from GNU gettext.
104395 2005-08-16  Bruno Haible  <bruno@clisp.org>
104397         * lib/strnlen1.h: New file.
104398         * lib/strnlen1.c: New file.
104400 2005-08-16  Bruno Haible  <bruno@clisp.org>
104402         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
104403         (mbi_init): Update.
104404         (mbi_avail, mbi_advance): Let the iteration end before the terminating
104405         NUL byte, not after it.
104407 2005-08-16  Bruno Haible  <bruno@clisp.org>
104409         * lib/strcase.h (strcasecmp): Add note in comments.
104410         * lib/strncasecmp.c: Use code from strcasecmp.c.
104411         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
104412         (strcasecmp): Work correctly in multibyte locales.
104414 2005-08-16  Bruno Haible  <bruno@clisp.org>
104416         * lib/mbiter.h: New file.
104418 2005-08-16  Bruno Haible  <bruno@clisp.org>
104420         * lib/mbfile.h: New file.
104422 2005-08-16  Bruno Haible  <bruno@clisp.org>
104424         * lib/mbchar.h: New file.
104425         * lib/mbchar.c: New file.
104427 2005-08-16  Bruno Haible  <bruno@clisp.org>
104429         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
104430         the valid ones. Makes the comparison operations transitive:
104431         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
104432         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
104434 2005-08-15  Simon Josefsson  <jas@extundo.com>
104436         * modules/ssize_t (License): Change to 'unlimited'.
104438         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
104440 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
104442         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
104443         Add comments for each pending glibc patch.
104445 2005-08-15  Bruno Haible  <bruno@clisp.org>
104447         * lib/regex.h (__restrict_arr): Don't define to __restrict if
104448         __cplusplus is defined.
104450 2005-08-14  Jim Meyering  <jim@meyering.net>
104452         Sync from coreutils.
104454         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
104455         Use the hash-table-based cycle-detection code not just when
104456         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
104457         Reported by James Youngman in
104458         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
104459         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
104460         FTS_TIGHT_CYCLE_CHECK.
104461         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
104462         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
104463         once again.
104464         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
104465         * lib/fts.c (fd_safer): Remove decl.
104466         Include fcntl--.h rather than unistd-safer.h
104467         (fts_safe_changedir): Don't call fd_safer; no longer needed
104468         now that we include fcntl--.h.
104470 2005-08-12  Simon Josefsson  <jas@extundo.com>
104472         * modules/getndelim2: Use ssize_t module.
104473         * modules/getnline: Likewise.
104474         * modules/safe-read: Likewise.
104475         * modules/xreadlink: Likewise.
104477         * modules/ssize_t: New file.
104479 2005-08-12  Simon Josefsson  <jas@extundo.com>
104481         * m4/readline.m4: Look for termcap, curses or ncurses if required.
104483 2005-08-12  Simon Josefsson  <jas@extundo.com>
104485         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
104486         ssize_t.
104488 2005-08-12  Simon Josefsson  <jas@extundo.com>
104490         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
104491         readline, getdelim and check_version.
104492         (Support for systems lacking ISO C 99: Sizes of integer types):
104493         Add size_max.
104495 2005-08-12  Bruno Haible  <bruno@clisp.org>
104497         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
104499 2005-08-11  Simon Josefsson  <jas@extundo.com>
104501         * modules/readline: New file.
104503         * modules/strnlen (Files): Add strnlen.h.
104505 2005-08-11  Simon Josefsson  <jas@extundo.com>
104507         * m4/readline.m4: New file.
104509 2005-08-11  Simon Josefsson  <jas@extundo.com>
104511         * lib/readline.h, readline.c: New file.
104513 2005-08-11  Simon Josefsson  <jas@extundo.com>
104515         * doc/gnulib.texi (Initial import, Finishing touches): Mention
104516         gl_AVOID.
104518 2005-08-11  Bruno Haible  <bruno@clisp.org>
104520         * lib/strnlen.h (strnlen): Change parameter name to match comment.
104522 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
104524         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
104526 2005-08-10  Simon Josefsson  <jas@extundo.com>
104528         * tests/test-iconvme.c: New file.
104530 2005-08-10  Simon Josefsson  <jas@extundo.com>
104532         * m4/strnlen.m4: New file.
104534         * m4/strndup.m4: Don't check for strnlen declaration, done in
104535         strnlen.m4.
104537 2005-08-10  Simon Josefsson  <jas@extundo.com>
104539         * lib/strndup.c: Use strnlen.h.
104541         * lib/strnlen.h: New file.
104543 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
104545         * README: Typos.
104547 2005-08-02  Simon Josefsson  <jas@extundo.com>
104549         * modules/readline: New file.
104551 2005-08-02  Simon Josefsson  <jas@extundo.com>
104553         * modules/getdelim: New file.
104555         * modules/getline: Rewrite, don't use getndelim2.
104557 2005-08-02  Simon Josefsson  <jas@extundo.com>
104559         * m4/getline.m4: Separate out getdelim stuff into separate module.
104561         * m4/getdelim.m4: New file.
104563 2005-08-02  Simon Josefsson  <jas@extundo.com>
104565         * lib/getline.h, getline.c: Rewrite.
104567         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
104569 2005-07-31  Bruno Haible  <bruno@clisp.org>
104571         * lib/lock.h (gl_lock_initializer): New macro.
104572         (gl_lock_define_initialized): Use it.
104573         (gl_rwlock_initializer): New macro.
104574         (gl_rwlock_define_initialized): Use it.
104575         (gl_recursive_lock_initializer): New macro.
104576         (gl_recursive_lock_define_initialized): Use it.
104578 2005-07-30  Karl Berry  <karl@gnu.org>
104580         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
104581         Report from Ben Pfaff, regarding getopt.
104583 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
104585         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
104586         normal way.
104587         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
104588         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
104589         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
104590         (gl_GETOPT): Use the new macros.  Most of the implementation
104591         is moved to the new macros.  This is for programs like Emacs
104592         that don't want all the functionality of gl_GETOPT.
104594 2005-07-26  Bruno Haible  <bruno@clisp.org>
104596         * m4/lock.m4: Update from GNU gettext.
104598 2005-07-26  Bruno Haible  <bruno@clisp.org>
104600         * lib/lock.h: Update from GNU gettext.
104601         * lib/lock.c: Update from GNU gettext.
104603 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
104605         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
104606         obsolescent AC_TRY_RUN.  Include the default includes files, for
104607         'exit'.
104609 2005-07-24  Bruno Haible  <bruno@clisp.org>
104611         * modules/visibility: New file.
104612         * MODULES.html.sh (Misc): Add visibility.
104614 2005-07-24  Bruno Haible  <bruno@clisp.org>
104616         * m4/visibility.m4: New file.
104618 2005-07-24  Bruno Haible  <bruno@clisp.org>
104620         * doc/visibility.texi: New file.
104622 2005-07-22  Bruno Haible  <bruno@clisp.org>
104624         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
104625         $(ALLOCA_H), redundant through BUILT_SOURCES.
104626         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
104627         redundant through BUILT_SOURCES.
104628         * modules/byteswap (Makefile.am): Remove explicit dependency on
104629         $(BYTESWAP_H), redundant through BUILT_SOURCES.
104630         * modules/fnmatch (Makefile.am): Remove explicit dependency on
104631         $(FNMATCH_H), redundant through BUILT_SOURCES.
104632         * modules/getopt (Makefile.am): Remove explicit dependency on
104633         $(GETOPT_H), redundant through BUILT_SOURCES.
104634         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
104635         redundant through BUILT_SOURCES.
104636         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
104637         redundant through BUILT_SOURCES.
104638         * modules/stdbool (Makefile.am): Remove explicit dependency on
104639         $(STDBOOL_H), redundant through BUILT_SOURCES.
104640         * modules/stdint (Makefile.am): Remove explicit dependency on
104641         $(STDINT_H), redundant through BUILT_SOURCES.
104642         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
104643         Remove explicit dependency on $(SYSEXITS_H).
104644         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
104646 2005-07-18  Simon Josefsson  <jas@extundo.com>
104648         * lib/check-version.c (check_version): Accept identical versions too.
104650 2005-07-18  Bruno Haible  <bruno@clisp.org>
104652         * modules/lock: New file.
104653         * MODULES.html.sh (Multithreading): New section.
104655 2005-07-18  Bruno Haible  <bruno@clisp.org>
104657         * m4/lock.m4: New file, from GNU gettext.
104659 2005-07-18  Bruno Haible  <bruno@clisp.org>
104661         * lib/lock.h: New file, from GNU gettext.
104662         * lib/lock.c: New file, from GNU gettext.
104664 2005-07-18  Bruno Haible  <bruno@clisp.org>
104666         * lib/lock.h (gl_once_t): New type.
104667         (gl_once_define, gl_once): New macros.
104668         * lib/lock.c (fresh_once): New variable.
104669         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
104670         functions.
104672 2005-07-16  Simon Josefsson  <jas@extundo.com>
104674         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
104675         workaround, suggested by Bruno.
104677 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104679         * modules/xalloc (Depends-on): Add xalloc-die.
104680         * modules/xvasprintf (Depends-on): Add xalloc-die.
104682 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
104684         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
104685         with a minor change.
104687 2005-07-15  Bruno Haible  <bruno@clisp.org>
104689         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
104690         When using lib/poll.c, define poll as rpl_poll.
104692 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
104694         * modules/argp (Depends-on): Remove unlocked-io.
104696 2005-07-14  Derek Price  <derek@ximbiot.com>
104698         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
104699         for glob symlink bug.
104701 2005-07-14  Bruno Haible  <bruno@clisp.org>
104703         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
104704         Instead, test for *_unlocked function declarations directly.
104706 2005-07-11  Simon Josefsson  <jas@extundo.com>
104708         * modules/size_max: New file.
104710         * modules/xsize: Depend on size_max module for size_max.m4.
104712 2005-07-11  Simon Josefsson  <jas@extundo.com>
104714         * lib/size_max.h: New file.
104716 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
104718         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
104719         copyright symbol and the year.
104720         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
104721         (version_etc_va): Use parameterized copyright notice.
104722         Reword to conform to the current GNU coding standards.
104724 2005-07-11  Karl Berry  <karl@gnu.org>
104726         * doc/gnulib.texi (Quoting): new node.
104727         (Initial import): more info, from Patrice.
104729 2005-07-11  Bruno Haible  <bruno@clisp.org>
104731         * gnulib-tool (func_usage): Document option --avoid.
104732         (Command line options): Handle --avoid.
104733         (func_acceptable): New function.
104734         (func_modules_transitive_closure): Use it.
104736 2005-07-11  Bruno Haible  <bruno@clisp.org>
104738         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
104739         Reported by Jim Meyering.
104741 2005-07-10  Bruno Haible  <bruno@clisp.org>
104743         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
104744         Needed when size_t is smaller than 'unsigned int'.
104745         Reported by Paul Eggert.
104747 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104749         * modules/argp (Depends-on): Add unlocked-io
104751 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
104753         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
104754         block of defines.
104756 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
104758         * config/srclist.txt: Comment out regcomp.c, since we have a porting
104759         fix now.
104761 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
104762         and Paul Eggert  <eggert@cs.ucla.edu>
104764         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
104765         in wint_t, not wchar_t.  Remove now-unnecessary cast.
104767 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104769         * modules/regex (Files): Add lib/regex_internal.c,
104770         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
104771         (Depends-on): Add extensions.
104772         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
104774 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104776         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
104777         pathconf.
104778         * m4/same.m4 (gl_SAME): Likewise.
104779         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
104781         * m4/regex.m4: Adjust to new libc regex implementation.
104782         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
104783         all the .c and .h parts of (the new) regex.
104784         Quote the m4 stuff better.
104785         Check for RE_ICASE bug of old gnulib.
104786         Check for REG_STARTEND of recent libc.
104787         Rename local variables from jm_* to gl_*.
104788         Quote operand of "test -f".
104789         Say "recent enough" version of libc, not "version 2".
104790         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
104791         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
104792         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
104793         Remove check for btowc, isascii.
104794         Require AM_LANGINFO_CODESET.
104796 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104798         * lib/regex.c, regex.h: Sync from libc.
104799         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
104800         * lib/regexec.c:
104801         New files, synced from libc, except that regex_internal.h
104802         currently has a small porting fix.
104804 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
104806         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
104807         regex_internal.c, regexec.c.
104808         Add regex_internal.h too, but as a comment, since the libc version
104809         is currently broken in gnulib mode.
104811 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
104813         Support programs like Emacs that use gnulib but not gettext.
104814         * MODULES.html.sh (Internationalization functions): Add gettext-h.
104815         * modules/gettext-h: New file.
104816         * modules/gettext (Files): Remove lib/gettext.h.
104817         (Depends-on): Add gettext-h.
104818         (Makefile.am): Remove lib_SOURCES.
104819         * modules/argmatch, modules/c-stack, modules/closeout:
104820         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
104821         * modules/execute, modules/file-type, modules/getaddrinfo:
104822         * modules/getopt, modules/human, modules/javacomp:
104823         * modules/javaexec, modules/mkdir-p, modules/obstack:
104824         * modules/openat, modules/pagealign_alloc, modules/pipe:
104825         * modules/quotearg, modules/regex, modules/rpmatch:
104826         * modules/unicodeio, modules/userspec, modules/version-etc:
104827         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
104828         * modules/xsetenv:
104829         Depend on gettext-h, not gettext.
104831 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
104833         * gnulib-tool (func_import): Add support for 'public domain' license.
104834         * modules/alloca, modules/atexit, modules/memmove:
104835         Now public domain, not GPL.
104836         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
104837         * modules/realloc, modules/strerror, modules/strtod:
104838         Now LGPL, not GPL.
104840 2005-07-05  Bruno Haible  <bruno@clisp.org>
104842         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
104843         autoconf CVS. Needed for mingw.
104845 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104847         Remove the dependency of the strftime module on the tzset module.
104848         * modules/strftime (Depends-on): Remove dependency on tzset.
104850 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104852         Remove the dependency of the strftime module on the tzset module.
104853         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
104854         gl_FUNC_TZSET_CLOBBER.
104856 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
104858         Remove the dependency of the strftime module on the tzset module.
104859         * lib/strftime.c (my_strftime)
104860         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
104861         Copy the input structure, to work around some of the bug with
104862         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
104863         Solaris releases, you should also use the tzset module, but we won't
104864         require it as a dependency any more since we don't want LGPLed code
104865         to depend on GPLed code.
104867 2005-07-02  Jim Meyering  <jim@meyering.net>
104869         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
104870         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
104871         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
104872         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
104874 2005-07-02  Jim Meyering  <jim@meyering.net>
104876         * lib/backupfile.c (backup_args): Change a `0' to NULL.
104878 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
104880         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
104881         declares only 'struct timespec;' (!).
104883 2005-07-01  Jim Meyering  <jim@meyering.net>
104885         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
104886         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
104887         * lib/save-cwd.c, tempname.c:
104888         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
104889         and don't include <sys/file.h>).
104891 2005-06-29  Jim Meyering  <jim@meyering.net>
104893         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
104894         type name.  Use the variable name instead.
104895         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
104896         Likewise.
104898 2005-06-28  Simon Josefsson  <jas@extundo.com>
104900         * modules/check-version (Files): Add check-version.m4.
104902 2005-06-28  Simon Josefsson  <jas@extundo.com>
104904         * m4/check-version.m4: New file, suggested by Jim Meyering
104905         <jim@meyering.net>.
104907 2005-06-28  Simon Josefsson  <jas@extundo.com>
104909         * lib/check-version.h, lib/check-version.c: New files.
104911 2005-06-28  Simon Josefsson  <jas@extundo.com>
104913         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
104914         collision with global variable.  Better indentation.  Don't
104915         increment buffer pointer beyond buffer end.  Based on comments
104916         from Paul Eggert <eggert@cs.ucla.edu>.
104918         * lib/base64.h: Indent.
104920 2005-06-28  Simon Josefsson  <jas@extundo.com>
104922         * doc/gnulib.texi (Library version handling): New section.
104924 2005-06-28  Jim Meyering  <jim@meyering.net>
104926         * check-module (find_included_lib_files): Hard-code another
104927         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
104928         but modules/fts-lgpl (correctly) does not list those files.
104930         * modules/canonicalize (Files): Add lib/pathmax.h.
104932 2005-06-25  Simon Josefsson  <jas@extundo.com>
104934         * modules/check-version: New file.
104936 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
104938         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
104939         initializer of struct addrinfo, as an indication that we don't
104940         care how many members the structure has.
104942 2005-06-24  Derek Price  <derek@ximbiot.com>
104943         and Bruno Haible  <bruno@clisp.org>
104945         Remove stat module & update lstat.
104946         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
104947         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
104948         * m4/stat.m4: Remove this file.
104950 2005-06-24  Derek Price  <derek@ximbiot.com>
104951         and Bruno Haible  <bruno@clisp.org>
104953         Remove stat module & update lstat.
104954         * lib/stat.c: Remove this file...
104955         (slash_aware_lstat): ...moving this content and its support...
104956         * lib/lstat.c (rpl_lstat): ...into here.
104957         * lib/lstat.h: New file.
104959 2005-06-24  Derek Price  <derek@ximbiot.com>
104960         and Bruno Haible  <bruno@clisp.org>
104962         Remove stat module & update lstat.
104963         * config/srclist.txt (libc sources): Remove stat.
104965 2005-06-24  Derek Price  <derek@ximbiot.com>
104966         and Bruno Haible  <bruno@clisp.org>
104968         Remove stat module & update lstat.
104969         * MODULES.html.sh (stat): Remove.
104970         * MODULES.html: Regenerated.
104971         * modules/lstat (Description): Correct function name.
104972         (Files): Add "lstat.h".
104973         (Depends-on): Remove stat, add xalloc, stat-macros.
104974         * modules/stat: Remove this file.
104975         (Include): Add "lstat.h", remove <sys/stat.h>.
104977 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
104979         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
104980         (ranged_convert): Don't save conversion in a temporary struct.
104981         This causes a warning with GCC 4.0.0, and anyway in the typical
104982         case it's not worth the extra 100 bytes or so of code.
104983         (ranged_convert, __mktime_internal): When calling a function via a
104984         pointer P, use P () rather than (*P) (), as we now assume C89 or
104985         better.
104987 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
104989         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
104990         "who -r" failed to give output.  Problem reported by Tim Waugh.
104992         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
104993         (xcalloc): Use it to avoid needless tests.
104994         Problem reported by Jim Meyering.
104996 2005-06-20  Derek Price  <derek@ximbiot.com>
104998         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
104999         unnecessary for Autoconfs > 2.59c.
105001 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105003         * lib/argp.h (__option_is_short): Check upper limit of
105004         __key. Isprint() requires its argument to have the value
105005         of an unsigned char or EOF.
105007 2005-06-16  Jim Meyering  <jim@meyering.net>
105009         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
105010         when either N or S is zero.
105012 2005-06-16  Derek Price  <derek@ximbiot.com>
105014         * m4/bison.m4: Declare YACC & YFLAGS precious.
105016 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
105018         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
105019         multibyte string or pattern, fall back on unibyte matching.
105020         Problem reported by James Youngman.
105022 2005-06-08  Bruno Haible  <bruno@clisp.org>
105024         * modules/csharpcomp: New file.
105025         * MODULES.html.sh (C#): Add csharpcomp.
105027 2005-06-08  Bruno Haible  <bruno@clisp.org>
105029         * m4/csharpcomp.m4: New file, from GNU gettext.
105031 2005-06-08  Bruno Haible  <bruno@clisp.org>
105033         * lib/csharpcomp.h: New file, from GNU gettext.
105034         * lib/csharpcomp.c: New file, from GNU gettext.
105035         * lib/csharpcomp.sh.in: New file, from GNU gettext.
105037 2005-06-08  Bruno Haible  <bruno@clisp.org>
105039         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
105040         warning on mingw.
105042 2005-06-07  Derek Price  <derek@ximbiot.com>
105044         Sync from CVS.
105045         * lib/glob_.h: Indent nested #ifdef.
105047 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105049         Sync from coreutils.
105050         Use "file name" when talking about file names, instead of "filename"
105051         or "path", as per the GNU coding standards.
105052         * lib/mkdir-p.c: Renamed from makepath.c.
105053         (make_dir_parents): Renamed from make_path.  All callers changed.
105054         * lib/mkdir-p.h: Likewise.  All includers changed.
105055         * lib/filenamecat.c: Renamed from path-concat.c.
105056         (file_name_concat): Renamed from path_concat.  All callers changed.
105057         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
105058         * lib/filenamecat.h: Likewise.  All includers changed.
105059         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
105060         in comments or local variable names.
105061         * lib/basename.c: Likewise.
105062         * lib/canonicalize.c, canonicalize.h: Likewise.
105063         * lib/dirname.c, dirname.h: Likewise.
105064         * lib/euidaccess.c: Likewise.
105065         * lib/exclude.c: Likewise
105066         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
105067         * lib/fsusage.c, fsuage.h: Likewise.
105068         * lib/fts.c, fts_.h: Likewise.
105069         * lib/getcwd.c: Likewise.
105070         * lib/getloadavg.c: Likewise.
105071         * lib/mkstemp.c: Likewise.
105072         * lib/mountlist.c, mountlist.h: Likewise.
105073         * lib/openat.c, openat.h: Likewise.
105074         * lib/readlink-stub.c: Likewise.
105075         * lib/readutmp.c, readutmp.h: Likewise.
105076         * lib/rename.c: Likewise.
105077         * lib/rmdir.c: Likewise.
105078         * lib/same.c: Likewise.
105079         * lib/savedir.c: Likewise.
105080         * lib/stripslash.c: Likewise.
105081         * lib/tempname.c: Likewise.
105082         * lib/xreadlink.c: Likewise.
105083         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
105084         All uses changed.
105085         * lib/exclude.h: Likewise.
105087         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
105088         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105089         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
105090         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105091         * lib/pathmax.h: Include <limits.h> unconditionally, since other
105092         files have been getting away with it for years (MORE/BSD 4.3
105093         is extinct now).
105094         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
105095         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
105097         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
105098         Define to 256, not 255, as per modern POSIX.
105100 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105102         Sync from coreutils.
105103         Use "file name" when talking about file names, instead of "filename"
105104         or "path", as per the GNU coding standards.
105105         * MODULES.html.sh: mkdir-p renamed from makepath.
105106         filenamecat renamed from path-concat.
105107         * modules/filenamecat: Renamed from modules/path-concat.
105108         (Files): filenamecat.h and filenamecat.c renamed from
105109         path-concat.h and path-concat.c.
105110         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
105111         (Include): filenamecat.h, not path-concat.h.
105112         * modules/mkdir-p: Renamed from modules/makepath.
105113         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
105114         makepath.c.
105115         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
105116         (Include): mkdir-p.h, not makepath.h.
105118 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
105120         Sync from coreutils.
105121         * m4/mkdir-p.m4: Renamed from makepath.m4.
105122         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
105123         Rename files from makepath.c to mkdir-p.c, and from
105124         makepath.h to mkdir-p.h.
105125         * m4/filenamecat.m4: Renamed from path-concat.m4.
105126         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
105127         Rename files from path-concat.c to filenamecat.c,
105128         and from path-concat.h to filenamecat.h.
105129         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
105130         "file name" in local variables or comments.
105131         * m4/rename.m4: Likewise.
105133 2005-06-01  Bruno Haible  <bruno@clisp.org>
105135         * modules/csharpexec: New file.
105136         * MODULES.html.sh (C#): New section.
105138 2005-06-01  Bruno Haible  <bruno@clisp.org>
105140         * m4/csharp.m4: New file, from GNU gettext.
105141         * m4/csharpexec.m4: New file, from GNU gettext.
105143 2005-06-01  Bruno Haible  <bruno@clisp.org>
105145         * lib/csharpexec.h: New file, from GNU gettext.
105146         * lib/csharpexec.c: New file, from GNU gettext.
105147         * lib/csharpexec.sh.in: New file, from GNU gettext.
105149 2005-05-31  Derek Price  <derek@ximbiot.com>
105150             Paul Eggert  <eggert@cs.ucla.edu>
105152         Sync from cvs.
105153         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105155 2005-05-31  Derek Price  <derek@ximbiot.com>
105156             Paul Eggert  <eggert@cs.ucla.edu>
105158         Sync from cvs.
105159         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
105161 2005-05-29  Derek Price  <derek@ximbiot.com>
105163         * config/srclist.txt (glob_.h, glob.c): Add these files.
105165 2005-05-29  Derek Price  <derek@ximbiot.com>
105167         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
105168         * modules/glob: New file.
105169         * modules/getlogin_r: Add link to POSIX spec in description.
105171 2005-05-29  Derek Price  <derek@ximbiot.com>
105172             Paul Eggert  <eggert@cs.ucla.edu>
105174         * m4/glob.m4: New file.
105176 2005-05-29  Derek Price  <derek@ximbiot.com>
105177             Paul Eggert  <eggert@cs.ucla.edu>
105179         * lib/glob_.h, lib/glob.c: New files.
105181 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105183         * modules/fts (Files): Remove m4/inttypes-pri.m4.
105184         * modules/fts-lgpl (Depends-on): Remove gettext.
105186 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105188         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
105189         and don't require gt_INTTYPES_PRI.
105191 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
105193         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
105195         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
105196         the configuration hassle isn't worth it.
105197         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
105198         (LONGEST_MODIFIER, PRIuMAX): Remove.
105200 2005-05-27  Bruno Haible  <bruno@clisp.org>
105202         * lib/getlogin_r.h: Remove second include of <stddef.h>.
105204 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
105206         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
105207         _POSIX_PTHREAD_SEMANTICS for Solaris.
105209 2005-05-25  Derek Price  <derek@ximbiot.com>
105211         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
105213 2005-05-25  Derek Price  <derek@ximbiot.com>
105214             Paul Eggert  <eggert@cs.ucla.edu>
105216         * modules/getlogin_r, m4/getlogin_r.m4: New files.
105217         * lib/getlogin_r.c, getlogin_r.h: New files.
105219 2005-05-25  Bruno Haible  <bruno@clisp.org>
105220             Derek Price  <derek@ximbiot.com>
105222         * lib/getlogin_r.h: Simplify API documentation.
105224 2005-05-23  Derek Price  <derek@ximbiot.com>
105226         * modules/minmax (Files): Add m4/minmax.m4.
105227         (configure.ac): Add gl_MINMAX.
105229 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
105231         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
105232         so that unistd-safer.h (GPL'ed code) need not be included.
105234 2005-05-22  Bruno Haible  <bruno@clisp.org>
105236         * m4/minmax.m4: New file.
105237         Based on a patch by Derek Price <derek@ximbiot.com>.
105239 2005-05-22  Bruno Haible  <bruno@clisp.org>
105241         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
105242         (INT64_MIN): Fix definition.
105243         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
105245         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
105246         NEED_SIGNED_INT_TYPES.
105248         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
105249         HAVE_SYSTEM_INTTYPES.
105251 2005-05-22  Bruno Haible  <bruno@clisp.org>
105253         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
105254         Also include <sys/param.h> if it defines MIN, MAX.
105255         Based on a patch by Derek Price <derek@ximbiot.com>.
105257 2005-05-21  Jim Meyering  <jim@meyering.net>
105259         * modules/fts (Files): Add m4/inttypes-pri.m4.
105260         (Depends-on): Add lstat and remove gettext.  Alphabetize.
105262 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105264         New fts module.
105265         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
105266         (setup_dir, free_dir): New functions.
105267         (enter_dir, leave_dir): Define trivial
105268         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
105269         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
105270         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
105271         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
105272         Move to fts-cycle.c.
105273         (fts_open): Use setup_dir.
105274         (fts_close): Use free_dir.
105275         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
105276         This adds a label and some gotos, but the alternatives were messier.
105277         Check for memory allocation failure when entering a dir.
105278         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
105279         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
105280         (FTS): New member fts_cycle, that is a union that contains the
105281         old active_dir_ht and cycle_state.  All uses changed to mention
105282         fts_cycle.ht and fts_cycle.state.
105283         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
105284         fts.c, with the following changes:
105285         (setup_dir, free_dir): New functions.
105286         (enter_dir): Now returns bool.  Return true if successful, false
105287         if memory exhausted.  All callers changed.
105288         Do not bother partly cleaning up on
105289         memory allocation failure; that is free_dir's job.
105290         However, free ad if hash_insert fails, to avoid memory leak.
105291         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
105292         fts->fts_options to see which union member to use.
105294 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105296         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
105297         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
105299 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
105301         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
105303 2005-05-20  Jim Meyering  <jim@meyering.net>
105305         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
105306         Now a macro, to pacify GCC.
105308 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105310         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
105311         of -1.
105313 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
105315         * lib/chown.c (rpl_chown): Return -1 on failure.
105317 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105319         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
105320         Don't check for stddef.h.
105321         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
105322         don't use its results.
105323         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
105324         since we include them unconditionally.  Don't require
105325         AM_STDBOOL_H, since stdbool is a prerequisite.
105326         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
105327         since we assume C89 or better.
105328         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
105329         as we don't use their results.
105330         Don't check for fchdir, memmove, memset, strrchr, as we use
105331         them unconditionally.
105332         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
105333         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
105335 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
105337         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
105338         Include <stddef.h> unconditionally, since we assume C89 now.
105339         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
105340         * lib/fts.c: Include fts_.h first, to check interface.
105341         Do not include intprops.h; no longer needed.
105342         Include cycle-check.h and hash.h, since fts_.h no longer does.
105343         Remove unnecessary casts of closedir to void.
105344         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
105345         decide whether to decrement nlinks.
105346         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
105347         (FTS): Use struct hash_table * instead of Hash_table, so that
105348         we no longer need to include hash.h here.
105350 2005-05-18  Jim Meyering  <jim@meyering.net>
105352         * modules/dirfd (License): Change to LGPL.  Most of the code
105353         is already in the public domain.
105355 2005-05-18  Jim Meyering  <jim@meyering.net>
105357         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
105358         Reported by Yoann Vandoorselaere.
105360 2005-05-17  Jim Meyering  <jim@meyering.net>
105362         * m4/fts.m4: New file, from coreutils.
105364 2005-05-17  Jim Meyering  <jim@meyering.net>
105366         * lib/fts.c, lib/fts_.h: New files, from coreutils.
105368 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105370         Sync from coreutils.
105371         * m4/unlinkdir.m4: New file.
105373 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105375         Sync from coreutils.
105376         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
105377         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
105378         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
105379         White space changes only.
105380         * lib/makepath.c (make_path): Port to hosts where leading "//" is
105381         special.
105382         * lib/yesno.c: Include getline.h, not ctype.h.
105383         (yesno): Don't remove leading white space; POSIX doesn't allow it.
105384         Use getline to remove arbitrary restriction on response length.
105386 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
105388         * config/srclist-update: Spell out "Street" in FSF postal
105389         mail address; this is the style the FSF seems to prefer.
105391         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
105392         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
105393         this updates FSF postal mail address.
105395         Sync from coreutils.
105396         * modules/unlinkdir: New file.
105397         * modules/yesno (Depends-on): Add getline.
105398         * MODULES.html.sh (File system functions): Add unlinkdir.
105400 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105402         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
105403         lib/strsep.h:
105404         Change the initial comment to refer to GPL, not LGPL.
105405         gnulib-tool will change it to LGPL as needed.
105407         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
105408         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
105409         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
105410         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
105411         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
105412         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
105413         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
105414         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
105415         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
105416         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
105417         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
105418         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
105419         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
105420         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
105421         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
105422         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
105423         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
105424         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
105425         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
105426         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
105427         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
105428         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
105429         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
105430         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
105431         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
105432         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
105433         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
105434         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
105435         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
105436         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
105437         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
105438         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
105439         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
105440         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
105441         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
105442         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
105443         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
105444         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
105445         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
105446         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
105447         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
105448         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
105449         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
105450         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
105451         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
105452         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
105453         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
105454         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
105455         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
105456         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
105457         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
105458         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
105459         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
105460         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
105461         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
105462         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
105463         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
105464         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
105465         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
105466         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
105467         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
105468         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
105469         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
105470         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
105471         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
105472         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
105473         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
105474         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
105475         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
105476         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
105477         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
105478         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
105479         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
105480         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
105481         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
105482         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
105483         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
105484         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
105485         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
105486         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
105487         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
105488         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
105489         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
105490         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
105491         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
105492         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
105493         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
105494         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
105495         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
105496         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
105497         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
105498         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
105499         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
105500         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
105501         lib/yesno.c, lib/yesno.h:
105502         Update FSF postal mail address.
105504 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
105506         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
105507         tests/test-memmem.c, tests/test-stpncpy.c:
105508         Update FSF postal mail address.
105510 2005-05-13  Bruno Haible  <bruno@clisp.org>
105512         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
105513         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
105514         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
105515         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
105516         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
105517         Add support for 64-bit integers in the MSVC compiler.
105519 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
105521         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
105523 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
105525         * gnulib-tool (func_import): Sort and uniquify recommended includes.
105527 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
105529         * doc/getdate.texi (General date syntax): Don't say that date
105530         date --iso-8601=ns generates acceptable dates; it doesn't yet.
105531         Problem reported by Nic Ferrier.
105533 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105535         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
105536         specified in ai_socktype. Fix invalid ai_protocol
105537         check. ai_protocol is usually set to 0 or depending on
105538         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
105539         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
105540         ai_socktype / ai_protocol in the returned addrinfo structure.
105542 2005-05-10  Simon Josefsson  <jas@extundo.com>
105544         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
105545         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
105547 2005-05-10  Karl Berry  <karl@gnu.org>
105549         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
105550         (from http://www.gnu.org/licenses).
105551         * doc/COPYING.LIB: also rename to COPYING.LESSER.
105552         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
105553         fdl.texi suffices.
105555 2005-05-10  Karl Berry  <karl@gnu.org>
105557         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
105558         (COPYING.DOC): remove.
105560         * config/srclist-update: new FSF address.
105562 2005-05-10  Derek Price  <derek@ximbiot.com>
105564         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
105565         possible.
105567 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105568             Bruno Haible  <bruno@clisp.org>
105570         * modules/inet_ntop: New file.
105571         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
105572         inet_ntop.
105574 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105575             Bruno Haible  <bruno@clisp.org>
105577         * m4/inet_ntop.m4: New file.
105579 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
105580             Bruno Haible  <bruno@clisp.org>
105582         * lib/inet_ntop.h: New file.
105583         * lib/inet_ntop.c: New file, from glibc with modifications.
105585 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
105587         * modules/time_r (License): Change to LGPL.
105588         * modules/extensions (License): Change to LGPL.  Actually,
105589         the license is more permissive than that, but currently gnulib-tool
105590         doesn't know how to handle more-permissive licenses.
105592         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
105593         Problem reported by Dave Love.
105595 2005-05-08  Jim Meyering  <jim@meyering.net>
105597         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
105598         blank.
105600 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
105602         * modules/argmatch (Depends-on): Add stdbool.
105603         * modules/backupfile (Depends-on): Likewise.
105604         * modules/chdir-long (Depends-on): Likewise.
105605         * modules/closeout (Depends-on): Likewise.
105606         * modules/cycle-check (Depends-on): Likewise.
105607         * modules/dirname (Depends-on): Likewise.
105608         * modules/fnmatch (Depends-on): Likewise.
105609         * modules/fsusage (Depends-on): Likewise.
105610         * modules/fwriteerror (Depends-on): Likewise.
105611         * modules/getcwd (Depends-on): Likewise.
105612         * modules/getloadavg (Depends-on): Likewise.
105613         * modules/hard-locale (Depends-on): Likewise.
105614         * modules/makepath (Depends-on): Likewise.
105615         * modules/mountlist (Depends-on): Likewise.
105616         * modules/nanosleep (Depends-on): Likewise.
105617         * modules/posixtm (Depends-on): Likewise.
105618         * modules/quotearg (Depends-on): Likewise.
105619         * modules/readtokens (Depends-on): Likewise.
105620         * modules/readtokens0 (Depends-on): Likewise.
105621         * modules/readutmp (Depends-on): Likewise.
105622         * modules/save-cwd (Depends-on): Likewise.
105623         * modules/strftime (Depends-on): Likewise.
105624         * modules/userspec (Depends-on): Likewise.
105625         * modules/utimecmp (Depends-on): Likewise.
105626         * modules/xgetcwd (Depends-on): Likewise.
105627         * modules/xnanosleep (Depends-on): Likewise.
105628         * modules/xstrtod (Depends-on): Likewise.
105629         * modules/yesno (Depends-on): Likewise.
105631 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
105633         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
105634         needless checks.
105636 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105638         Merge from coreutils.  Among other things,
105639         add bulletproofing for cases where stdin, stdout, or stderr are closed.
105640         * lib/fd-safer.c: New file.
105641         * lib/fcntl-safer.h, open-safer.c: Remove.
105642         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
105643         * lib/dup-safer.c: Include unistd-safer.h first.
105644         Don't include errno.h.
105645         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
105646         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
105647         * lib/file-type.c: Rely on file-type.h change.
105648         * lib/getloadavg.c: Include unistd-safer.h.
105649         (getloadavg): Use safer open.
105650         * lib/getusershell.c: Include "stdio-safer.h".
105651         (getusershell): Use safer fopen.
105652         * lib/long-options.c (long_options): Use NULL rather than 0.
105653         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
105654         'free'.
105655         * lib/modechange.c: Likewise.
105656         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
105657         (MODE_DONE): New constant.
105658         (struct mode_change): Remove 'next' member.
105659         (make_node_op_equals): New function; like the old one of the
105660         same name, except it allocates an array.
105661         (mode_compile, mode_create_from_ref): Use it.
105662         (mode_compile): Allocate result as an array, not a linked list.
105663         Parse octal string ourself, so that we catch mistakes like "+0".
105664         (mode_adjust): Arg is an array, not a linked list.
105665         * lib/modechange.c: Include stat-macros.h, xalloc.h.
105666         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
105667         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
105668         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
105669         Remove.  This is now stat-macros.h's job.
105670         (talloc): Remove.  All callers replaced by xalloc, so that
105671         our invokers don't have to worry about reporting memory failures.
105672         (make_node_op_equals): Remove.
105673         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105674         New constants.
105675         (struct mode_change): Moved here from modechange.h.
105676         (mode_append_entry): Remove.
105677         (mode_compile): Remove MASKED_OPS arg, since it encouraged
105678         apps to have incorrect behavior.  Use simpler algorithm for head
105679         and tail.  Don't futz with umask; that's now the job of mode_adjust.
105680         Detect more invalid usages rather than having somewhat-random behavior.
105681         Don't insert an "a=" action, as that leads to incorrect behavior.
105682         (mode_compile, mode_create_from_ref): Return NULL on error instead
105683         of an enum, since now there's only one way to have an error.  All
105684         callers changed.
105685         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
105686         at the correct time.  Simplify calculation of "+u" and its ilk.
105687         Don't mishandle "+X".
105688         (mode_free): Remove "register" and localize decls.
105689         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
105690         (struct mode_change): Move to modechange.c; callers don't
105691         need to see this stuff.
105692         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
105693         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
105694         (mode_change, mode_adjust): Reflect the new signatures noted above.
105695         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
105696         that might redefine system include files.
105697         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
105698         (my_usleep): Use NULL rather than (void *) 0.
105699         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
105700         Use siginterrupt to specify that system calls should be interrupted.
105701         (rpl_nanosleep): Move initialization of suspended closer to call of
105702         my_usleep.
105703         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
105704         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
105705         (desirable_utmp_entry): New function.
105706         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
105707         using x2nrealloc, to simplify logic.
105708         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
105709         size calculation.  Do not assume utmp file is a regular file.
105710         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
105711         (READ_UTMP_CHECK_PIDS): New constant.
105712         * lib/save-cwd.c: Include unistd-safer.h.
105713         (save_cwd): Use fd_safer.
105714         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
105715         [!_LIBC] Include "stat-macros.h" instead.
105716         * lib/unistd-safer.h (fd_safer): New decl.
105718 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105720         * modules/getloadavg (Depends-on): Add unistd-safer.
105721         * modules/getusershell (Depends-on): Add stdio-safer.
105722         * modules/lstat (Depends-on): Remove xalloc.
105723         * modules/mkstemp (Depends-on): Add stat-macros.
105724         * modules/modechange (Depends-on): Remove xstrtol.
105725         Add stat-macros, xalloc.
105726         * modules/save-cwd (Depends-on): Add unistd-safer.
105727         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
105728         * modules/unistd-safer (Files): Add lib/fd-safer.c
105729         (Makefile.am): Remove lib_SOURCES.
105731         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
105732         Remove fcntl-safer; unistd-safer supersedes it.
105734 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105736         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
105737         AC_HEADER_STAT.
105738         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
105739         (gl_PREREQ_CHOWN): Remove.
105740         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
105741         it.  Don't require AC_HEADER_STAT.
105742         (gl_PREREQ_LSTAT): Remove.
105743         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
105744         Don't require AC_HEADER_STAT.
105745         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
105746         (gl_PREREQ_RMDIR): Remove.
105747         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
105748         mention stat-macros.h or AC_HEADER_STAT, since we'll make
105749         the stat-macros module a prerequisite.
105750         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
105751         * m4/filemode.m4 (gl_FILEMODE): Likewise.
105752         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
105753         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
105754         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
105755         variable names.
105756         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
105757         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
105758         variable prefixes.
105759         * m4/fcntl-safer.m4: Remove.
105760         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
105761         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
105762         Invoke gl_PREREQ_FD_SAFER.
105763         (gl_PREREQ_FD_SAFER): New macro.
105764         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
105765         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
105766         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
105767         Remove duplicate call to AC_LIBOBJ(readutmp).
105768         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
105770         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
105771         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
105773 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
105775         * MODULES.html.sh (Misc): Add byteswap.
105777 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105779         * modules/getcwd (Depends-on): Add extensions.
105780         * modules/openat (Depends-on): Likewise.
105782 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105784         * modules/byteswap: New file.
105786 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105788         * m4/byteswap.m4: New file.
105790 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
105792         * lib/byteswap_.h: New file.
105794 2005-04-25  Karl Berry  <karl@gnu.org>
105796         * m4/gettext.m4: Update from GNU gettext 0.14.4.
105798 2005-04-25  Albert Chin  <china@thewrittenword.com>
105800         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
105801         Toolkit C bug.
105803 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
105805         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
105806         (func_ln_if_changed): Remove forcibly for no error message
105807         in case file does not exist.
105809 2005-04-19  Simon Josefsson  <jas@extundo.com>
105811         * gnulib-tool (Options): Make --symlink mean --symbolic.
105813 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
105815         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
105817 2005-04-16  Simon Josefsson  <jas@extundo.com>
105819         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
105821 2005-04-15  Simon Josefsson  <jas@extundo.com>
105823         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
105825 2005-04-15  Simon Josefsson  <jas@extundo.com>
105827         * gnulib-tool: Rename --symlink to --symbolic.
105829 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
105831         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
105832         symbolic links to files instead of copying/moving.  Add --aux-dir,
105833         specifying directory relative --dir where auxiliary build tools
105834         are placed.
105836 2005-04-14  Bruno Haible  <bruno@clisp.org>
105838         * modules/allocsa (License): Change to LGPL.
105839         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
105841 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
105843         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
105844         that "UTC +1 second" continues to work.  Problem reported
105845         by Dmitry V. Levin.
105846         (relunit_snumber): New rule.
105847         (relunit): Use it.
105849 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
105851         * lib/getdate.y (universal_time_zone_table): New constant.
105852         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
105853         universal_time_zone_table.
105854         (lookup_zone): Prefer universal_time_zone_table to
105855         local_time_zone_table, so that "GMT" time stamps are allowed in
105856         London during the summer.  Problem reported by Ian Abbott.
105858 2005-04-12  Jim Meyering  <jim@meyering.net>
105860         * lib/human.c (humblock): Set *options even when returning due to
105861         xstrtoumax conversion failure.  Thanks to a used-uninitialized
105862         warning from gcc-4.
105864 2005-04-09  Jim Meyering  <jim@meyering.net>
105866         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
105867         -Wuninitialized: initialize tm0.tm_year.
105869 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105871         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
105872         count, since there's no maximum.  All uses changed.
105873         Add member dsts_seen.
105874         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
105875         not being INT_MAX.
105876         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
105877         Use pc_rels_seen to decide whether a date is absolute.
105879         * lib/getdate.y (number): Don't overwrite year.
105880         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
105881         check.
105883 2005-04-02  Simon Josefsson  <jas@extundo.com>
105885         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
105886         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
105888 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
105890         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
105891         where no absolute path name can be longer than PATH_MAX.
105893 2005-03-27  Jim Meyering  <jim@meyering.net>
105895         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
105897 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
105899         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
105900         "one's complement" -> "ones' complement" in comment, as per Knuth.
105901         "value of type" -> "type or expression" in comment.
105902         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
105904 2005-03-26  Jim Meyering  <jim@meyering.net>
105906         Comment nits.
105907         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
105908         Correct typos: s/or/of/.
105910 2005-03-26  Jim Meyering  <jim@meyering.net>
105912         * modules/check-include-files: Move to ../ and rename to...
105913         * check-module: ...this.
105915 2005-03-25  Jim Meyering  <jim@meyering.net>
105917         * modules/xvasprintf (Files): Add xalloc.h.
105919 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
105921         * modules/gettext (Files): config/config.rpath ->
105922         build-aux/config.rpath
105923         * modules/iconv (Files): Likewise.
105924         Problem reported by Oskar Liljeblad.
105926 2005-03-23  Jim Meyering  <jim@meyering.net>
105928         * modules/check-include-files: New script to check for
105929         missing dependencies, multiple includes, etc.
105931         * modules/c-strtold (Depends-on): Add xalloc.
105932         * modules/c-strtod (Depends-on): Add xalloc.
105933         * modules/hash (Depends-on): Add xalloc.
105934         (Files): Remove lib/xalloc.h.
105936         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
105937         * modules/userspec (Files): Add lib/inttostr.h.
105939 2005-03-23  Jim Meyering  <jim@meyering.net>
105941         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
105943 2005-03-22  Jim Meyering  <jim@meyering.net>
105945         * modules/stat-macros: New module.
105946         * modules/canonicalize, modules/euidaccess, modules/file-type,
105947         * modules/filemode, modules/lchown, modules/makepath,
105948         * modules/rmdir, modules/stat: Depend on new stat-macros module
105949         rather than listing lib/stat-macros.h manually.
105950         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
105952 2005-03-22  Jim Meyering  <jim@meyering.net>
105954         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
105956 2005-03-22  Bruno Haible  <bruno@clisp.org>
105958         * config/srclist.txt: Replace target directory 'config' with
105959         'build-aux'.
105960         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
105961         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
105962         ../build-aux/.
105964 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
105966         * modules/chdir-long (Depends-on): Add mempcpy.
105968         * modules/acl, modules/backupfile, modules/c-strtod,
105969         modules/c-strtold, modules/canon-host, modules/canonicalize,
105970         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
105971         modules/exclude, modules/exitfail, modules/file-type,
105972         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
105973         modules/getdate, modules/getline, modules/getpagesize,
105974         modules/getpass, modules/getugroups, modules/group-member,
105975         modules/hard-locale, modules/hash, modules/human, modules/idcache,
105976         modules/inttostr, modules/long-options, modules/makepath,
105977         modules/md5, modules/memcasecmp, modules/memcoll,
105978         modules/modechange, modules/mountlist, modules/path-concat,
105979         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
105980         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
105981         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
105982         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
105983         modules/strftime, modules/strndup, modules/strverscmp,
105984         modules/timespec, modules/unlocked-io, modules/userspec,
105985         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
105986         modules/yesno:
105987         Remove lib_SOURCES line from Makefile.am section, as this is now
105988         done automatically by the corresponding Autoconf macro.
105990 2005-03-21  Jim Meyering  <jim@meyering.net>
105992         Changes imported from coreutils.
105994         * lib/cycle-check.c: Don't include xalloc.h.
105996         * lib/path-concat.c: Don't include assert.h.
105997         (path_concat): Remove assertion that would have triggered
105998         for ABASE starting with more than one slash.
105999         Reported by Andreas Schwab.
106001         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
106002         properly when ABASE is an absolute file name.
106003         Correct the description of this function.
106004         Include <assert.h>.
106005         Add an assertion and a test driver.
106006         This fixes a bug introduced on 2004-07-02.
106007         Andreas Schwab reported the resulting failure of cp --parents:
106008         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
106010 2005-03-21  Jim Meyering  <jim@meyering.net>
106012         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
106013         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
106015 2005-03-21  Jim Meyering  <jim@meyering.net>
106016         and  Paul Eggert  <eggert@cs.ucla.edu>
106018         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
106019         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
106020         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
106021         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
106022         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
106023         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
106024         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
106025         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
106026         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
106027         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
106028         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
106029         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
106030         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
106031         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
106032         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
106033         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
106034         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
106035         for these modules.
106037 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
106039         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
106040         (which shouldn't happen), generate nothing instead of returning 0
106041         immediately, so that nstrftime (NULL, ...) doesn't return 0.
106043 2005-03-16  Bruno Haible  <bruno@clisp.org>
106045         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
106046         HAVE_LONGLONG_64BIT.
106048 2005-03-16  Bruno Haible  <bruno@clisp.org>
106050         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
106051         HAVE_LONGLONG_64BIT.
106053 2005-03-16  Bruno Haible  <bruno@clisp.org>
106055         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
106056         HAVE_LONGLONG_64BIT.
106058 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106060         * lib/strftime.c (my_strftime): Prepend space to format so that we can
106061         reliably distinguish strftime failure from empty output on POSIX
106062         hosts.
106064 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
106066         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
106067         (iconv_string): Don't guess a size-zero buffer, as that might cause
106068         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
106069         result would be 'too large', where 'too large' is (heuristically)
106070         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
106071         overflow concerns.  This will prevent some unwanted malloc failures
106072         when the inputs are very large.
106074 2005-03-15  Karl Berry  <karl@gnu.org>
106076         * config/srclist.txt (config.rpath): from gettext.
106077         * config/config.rpath: update.
106079 2005-03-15  Bruno Haible  <bruno@clisp.org>
106081         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
106082         to 'negate'.
106084         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
106085         variable.
106087         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
106088         results.
106090 2005-03-14  Simon Josefsson  <jas@extundo.com>
106092         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
106093         <fx@gnu.org>.
106095 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
106097         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
106098         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
106099         intprops.h.
106100         * lib/strtol.c: Likewise.
106102 2005-03-14  Jim Meyering  <jim@meyering.net>
106104         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
106105         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
106106         to be nonzero so that we (and caller) can detect the difference
106107         between a valid zero-length expansion and an error return, even
106108         when the underlying strftime fails before writing anything into
106109         that location.
106111 2005-03-14  Bruno Haible  <bruno@clisp.org>
106113         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
106114         Update from GNU gettext 0.14.3.
106116 2005-03-10  Jim Meyering  <jim@meyering.net>
106118         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
106120 2005-03-10  Jim Meyering  <jim@meyering.net>
106122         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
106123         so that this module works on systems without fchdir.
106125 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
106127         Factor int-properties macros into a single file, except for
106128         glibc-related files.
106129         * lib/intprops.h: New file.
106130         * lib/getloadavg.c: Include it instead of limits.h.
106131         (INT_STRLEN_BOUND): Remove.
106132         * lib/human.c: Include intprops.h.
106133         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
106134         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
106135         302/1000.
106136         * lib/inttostr.h: Include intprops.h instead of limits.h.
106137         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
106138         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
106139         for consistency with intprops.h.
106140         (time_t_is_integer, twos_complement_arithmetic): Use them.
106141         * lib/sig2str.h: Include <signal.h>, intprops.h.
106142         (INT_STRLEN_BOUND): Remove.
106143         * lib/strftime.c (TYPE_SIGNED): Remove.
106144         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
106145         * lib/strtol.c: Adjust comments to match intprops.h.
106146         * lib/userspec.c: Include intprops.h.
106147         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
106148         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
106149         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
106150         instead of rolling our own expressions.
106151         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
106153         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
106154         instead of int.
106155         (my_strftime): Do not mishandle years close to INT_MAX, by doing
106156         the right thing even if adding 1900 would overflow.  Similarly
106157         for tm_mon + 1 and tm_yday + 1.
106158         Make %Y always equivalent to %C%y, and similarly for %G and %g.
106159         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
106160         (DO_SIGNED_NUMBER): New macro.
106161         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
106163 2005-03-07  Bruno Haible  <bruno@clisp.org>
106165         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
106167 2005-03-07  Bruno Haible  <bruno@clisp.org>
106169         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
106171 2005-03-04  Derek R. Price  <derek@ximbiot.com>
106173         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
106174         (func_import): Only replace files via --import when they have actually
106175         changed.
106177 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106179         * m4/mmap-anon.m4: New file.
106180         * m4/pagealign_alloc.m4: New file.
106182 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106183             Bruno Haible  <bruno@clisp.org>
106185         * modules/pagealign_alloc: New file.
106186         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
106188 2005-03-03  Derek R. Price  <derek@ximbiot.com>
106189             Bruno Haible  <bruno@clisp.org>
106191         * lib/pagealign_alloc.h: New file.
106192         * lib/pagealign_alloc.c: New file.
106194 2005-03-03  Bruno Haible  <bruno@clisp.org>
106196         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
106197         Use an all-permissive copyright notice, recommended by RMS.
106199 2005-03-02  Bruno Haible  <bruno@clisp.org>
106201         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
106202         of AIX, the replacement has to be done only after <string.h> is
106203         included, therefore not in config.h. stpncpy.h does the replacement,
106204         and stpncpy.c uses it.
106206 2005-03-02  Bruno Haible  <bruno@clisp.org>
106208         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
106209         stpncpy.c uses it.
106211 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106213         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
106214         The workaround isn't strictly needed for POSIX conformance, and
106215         it's too much of a pain to configure and maintain.  We'll ask
106216         people to fix their kernels instead.
106217         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
106218         (NANOSLEEP_BUG_WORKAROUND): Remove.
106219         (xnanosleep): Remove the workaround.
106221 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106223         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
106224         Reported by Derek Price.
106225         (Include): Add "timespec.h".
106227         * modules/xnanosleep (Depends-on): Remove gethrxtime.
106229 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
106231         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
106232         to detect nanosleep bug.
106234 2005-03-01  Bruno Haible  <bruno@clisp.org>
106236         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
106238 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
106240         * modules/gethrxtime: New file.
106241         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
106242         (Depends-on): Add gethrxtime.
106243         (configure.ac): Add gl_XNANOSLEEP.
106244         (Makefile.am): Remove lib_SOURCES line.
106246 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106248         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
106249         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
106251 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
106253         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
106254         * lib/timespec.h (gettime): Return void, since it always
106255         succeeds now.  All uses changed.
106256         * lib/gettime.c (gettime): Likewise.
106257         [HAVE_NANOTIME]: Prefer nanotime.
106258         Assume gettimeofday succeeds, as POSIX requires.
106259         Assime time () succeeds, since other code already does.
106260         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
106261         (timespec_subtract): Remove.
106262         (NANOSLEEP_BUG_WORKAROUND): New constant.
106263         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
106264         things considerably.  Use it only on GNU/Linux hosts, since the
106265         workaround shouldn't be needed elsewhere.
106267 2005-02-24  Bruno Haible  <bruno@clisp.org>
106269         * modules/gettext (Files): Add m4/glibc2.m4.
106271 2005-02-24  Bruno Haible  <bruno@clisp.org>
106273         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
106274         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
106275         * m4/progtest.m4:
106276         Update from GNU gettext 0.14.2.
106277         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
106279 2005-02-24  Bruno Haible  <bruno@clisp.org>
106281         * lib/localcharset.c: Update from GNU gettext 0.14.2.
106282         * lib/config.charset: Update from GNU gettext 0.14.2.
106284 2005-02-24  Bruno Haible  <bruno@clisp.org>
106286         * lib/gettext.h: Update from GNU gettext 0.14.2.
106288 2005-02-23  Simon Josefsson  <jas@extundo.com>
106290         * m4/iconvme.m4: New file.
106292 2005-02-23  Jim Meyering  <jim@meyering.net>
106294         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
106295         change.
106296         Thanks to Bruno Haible for catching it.
106298 2005-02-22  Simon Josefsson  <jas@extundo.com>
106300         * modules/iconvme: New file.
106302         * MODULES.html.sh: Add iconvme.
106304 2005-02-22  Simon Josefsson  <jas@extundo.com>
106306         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
106308 2005-02-22  Simon Josefsson  <jas@extundo.com>
106310         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
106312 2005-02-22  Jim Meyering  <jim@meyering.net>
106314         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
106315         s/ifndef/ifdef/.
106317 2005-02-20  Neil Conway  <neilc@samurai.com>
106319         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
106320         returned by OSX/Darwin if the specified buffer is not large
106321         enough for the hostname.
106323 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106325         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
106326         pass it to _help, otherwise the latter coredumps trying to
106327         dereference state.root_argp.
106329 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106331         * modules/chdir-long (Depends-on): Add memrchr.
106332         * modules/memrchr (Files): Add lib/memrchr.h.
106333         (Include): "memrchr.h".
106335 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106337         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
106339 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
106341         * lib/memrchr.h: New file.
106342         * lib/chdir-long.c: Include it.
106343         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
106344         Don't bother including stddef.h.
106346 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
106348         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
106349         inclusion.
106350         Include <sys/types.h>, for dev_t.
106351         (ME_DUMMY, ME_REMOTE): Move from here....
106352         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
106353         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
106354         Dmitry V. Levin.
106355         Include mountlist.h first, to test the interface.
106357 2005-01-29  Bruno Haible  <bruno@clisp.org>
106359         * lib/progname.c (program_name): Initialize.
106360         Needed when linking statically on MacOS X.
106362 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106364         Sync from coreutils.
106365         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
106366         (Depends-on): Add c-strtod.
106367         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
106369 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
106371         Sync from coreutils.
106372         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
106374         Remove files that are specific to coreutils.
106375         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
106377 2005-01-28  Bruno Haible  <bruno@clisp.org>
106379         * modules/javacomp: New file.
106380         * MODULES.html.sh (Java): Add javacomp.
106382 2005-01-28  Bruno Haible  <bruno@clisp.org>
106384         * m4/javacomp.m4: New file, from GNU gettext.
106386 2005-01-28  Bruno Haible  <bruno@clisp.org>
106388         * lib/javacomp.sh.in: New file, from GNU gettext.
106389         * lib/javacomp.h: New file, from GNU gettext.
106390         * lib/javacomp.c: New file, from GNU gettext.
106392 2005-01-26  Simon Josefsson  <jas@extundo.com>
106394         * lib/gai_strerror.c: Use GPL in header.
106396 2005-01-26  Bruno Haible  <bruno@clisp.org>
106398         * modules/javaexec: New file.
106399         * MODULES.html.sh (Java): Add javaexec.
106401 2005-01-26  Bruno Haible  <bruno@clisp.org>
106403         * m4/javaexec.m4: New file, from GNU gettext.
106405 2005-01-26  Bruno Haible  <bruno@clisp.org>
106407         * lib/javaexec.sh.in: New file, from GNU gettext.
106408         * lib/javaexec.h: New file, from GNU gettext.
106409         * lib/javaexec.c: New file, from GNU gettext.
106411 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106413         * modules/lchown (Depends-on): Remove lchown.h
106415 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106417         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
106418         must be defined if the header file was not found, in order
106419         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
106421 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106423         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
106424         initializers for struct pentry_state.
106425         (__argp_error): Check return value of __asprintf
106426         (__argp_failure): Translate error message
106428         * lib/argp-parse.c: Removed braces around the expansion of N_()
106430 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
106432         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
106433         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
106434         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
106435         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
106436         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
106437         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
106438         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
106439         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
106440         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
106441         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
106442         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
106443         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
106444         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
106445         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
106446         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
106447         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
106448         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
106449         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
106450         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
106451         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
106452         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
106453         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
106454         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
106455         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
106456         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
106457         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
106458         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
106459         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
106460         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
106461         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
106462         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
106463         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
106464         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
106465         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
106466         xstrtol.m4, xstrtoumax.m4, yesno.m4:
106467         Use an all-permissive copyright notice, recommended by RMS.
106469 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
106471         * modules/chdir-long (Depends-on): Remove mempcpy.
106473 2005-01-21  Jim Meyering  <jim@meyering.net>
106475         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
106476         same value as for Solaris 9.
106478         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
106479         component length.  This included changing the parameter to be
106480         of type `char *' rather than `char const *'.
106481         * lib/chdir-long.h (chdir_long): Update prototype.
106483         * lib/openat.c (fdopendir, fstatat): New functions.
106484         * lib/openat.h: Include headers required for use of DIR and struct
106485         stat.
106486         [AT_SYMLINK_NOFOLLOW]: Define.
106487         (fdopendir, fstatat): Add prototypes.
106489 2005-01-21  Bruno Haible  <bruno@clisp.org>
106491         * modules/classpath: New file.
106492         * MODULES.html.sh (Java): Add classpath.
106494 2005-01-21  Bruno Haible  <bruno@clisp.org>
106496         * lib/classpath.h: New file, from GNU gettext.
106497         * lib/classpath.c: New file, from GNU gettext.
106499 2005-01-20  Simon Josefsson  <jas@extundo.com>
106501         * modules/version-etc-fsf: New file.
106503 2005-01-20  Simon Josefsson  <jas@extundo.com>
106505         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
106506         * lib/version-etc.c: Remove version_etc_copyright.
106507         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
106508         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
106510 2005-01-20  Simon Josefsson  <jas@extundo.com>
106512         * lib/base64.h (isbase64): Add.
106514         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
106515         using a unsigned prototype, don't inline.
106516         (base64_decode): Use it.
106518 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106520         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
106521         it.
106523 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106525         * lib/save-cwd.c (save_cwd): Remove code to support the case
106526         where fchdir is missing or flaky.
106528 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
106530         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
106532 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
106534         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
106535         AC_LIBSOURCES now does this.
106536         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
106537         with new ullong_max module.
106539 2005-01-19  Bruno Haible  <bruno@clisp.org>
106541         * modules/sh-quote: New file.
106542         * MODULES.html.sh (Executing programs): Add sh-quote.
106544 2005-01-19  Bruno Haible  <bruno@clisp.org>
106546         * lib/sh-quote.h: New file, from GNU gettext.
106547         * lib/sh-quote.c: New file, from GNU gettext.
106549 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106551         Merge from coreutils.
106552         * m4/ullong_max.m4: New file.
106553         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
106554         (gl_MACROS): Assume localeconv exists.
106556 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106558         Merge changes from coreutils, as described below in several
106559         changelogs dated today.
106561         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
106562         (O_DIRECTORY): Remove; not needed here, since "." must be
106563         a directory.  All uses removed.
106564         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
106565         universal on Suns, and we also need to test for IRIX.
106566         Revamp code to use 'if' rather than '#if'.
106567         Avoid unnecessary comparison of cwd->desc to 0.
106569         * lib/utimens.c (futimens): Robustify the previous patch, by checking
106570         for known valid error numbers rather than observed invalid ones.
106572 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
106574         * modules/ullong_max: New file.
106576         * modules/chdir-long, modules/openat: New files.
106577         * modules/save-cwd (Depends-on): Depend on chdir-long.
106578         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
106580 2005-01-18  Jim Meyering  <jim@meyering.net>
106582         Merge from coreutils.
106583         * m4/chdir-long.m4, m4/openat.m4: New files.
106584         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
106585         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
106586         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
106587         is sane and DOES follow symlinks.  Besides, testing 20 different
106588         systems found no broken chown implementations.
106589         Prompted by a change in rsync's copy of this macro.
106590         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
106592         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
106594         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
106595         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
106596         NULL-means-set-to-current-time semantics.
106597         Remove temporary file immediately, rather than waiting
106598         for configure's at-exit trap code to do it.
106600 2005-01-18  Jim Meyering  <jim@meyering.net>
106602         * lib/version-etc.c (version_etc_copyright): Update copyright date.
106604         * lib/utimens.c (futimens): Account for the fact that futimes
106605         can also fail with errno == ENOSYS or errno == ENOENT.
106606         Patch from Dmitry V. Levin.
106608         Change the name of the robust chdir function from chdir to chdir_long.
106609         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
106610         (restore_cwd): Use chdir_long, not chdir.
106611         * lib/chdir-long.c: Renamed from chdir.c.
106612         * lib/chdir-long.h: Renamed from chdir.h.
106613         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
106614         Hurd.
106616 2005-01-18  Bruno Haible  <bruno@clisp.org>
106618         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
106619         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
106620         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
106621         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
106622         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
106623         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
106624         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
106625         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
106626         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
106627         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
106628         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
106629         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
106630         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
106631         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
106632         Use an all-permissive copyright notice, recommended by RMS.
106634 2005-01-18  Bob Proulx  <bob@proulx.com>
106636         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
106637         simplify offsetof() macro construct to avoid compile failure with
106638         native HP-UX 11.0 ANSI C compiler.
106640 2005-01-17  Bruno Haible  <bruno@clisp.org>
106642         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
106643         redundant because stpncpy.m4 takes care of it.
106645 2005-01-17  Bruno Haible  <bruno@clisp.org>
106647         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
106649 2005-01-17  Bruno Haible  <bruno@clisp.org>
106651         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
106652         used.
106654 2005-01-17  Bruno Haible  <bruno@clisp.org>
106656         * lib/fwriteerror.h (fwriteerror): Change specification to include
106657         fclose.
106658         * lib/fwriteerror.c: Include <stdbool.h>.
106659         (fwriteerror): At the end, close the file stream. Record whether
106660         stdout was already closed.
106662 2005-01-17  Bruno Haible  <bruno@clisp.org>
106664         * lib/execute.c (environ): Declare if needed.
106665         * lib/pipe.c (environ): Likewise.
106666         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
106668 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106670         * modules/argp: Depend on vsnprintf
106672 2005-01-10  Jim Meyering  <jim@meyering.net>
106674         * modules/closeout (Depends-on): Add atexit.
106676 2005-01-06  Bruno Haible  <bruno@clisp.org>
106678         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
106680 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
106682         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
106683         definitions to be after all include files, to avoid collisions.
106684         Problem reported by Bob Proulx.
106686 2005-01-04  Jim Meyering  <jim@meyering.net>
106688         Changes imported from coreutils.
106689         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
106690         as the mkstemp template, use a temporary directory and an
106691         8.3-friendly template to avoid trouble on systems like DJGPP.
106692         Reported by Juan M. Guerrero via Stepan Kasal.
106693         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
106694         close. Remove the temporary directory right away, rather than waiting
106695         for configure's at-exit trap code to do it.
106696         Suggestion from Stepan Kasal.
106698 2005-01-01  Simon Josefsson  <jas@extundo.com>
106700         * gnulib-tool: Print #include directives when --import'ing.
106702 2004-12-28  Simon Josefsson  <jas@extundo.com>
106704         * tests/test-base64.c: Include required header files.  Remove
106705         unused variables.
106707 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106709         * modules/error (Depends-on): Remove gettext.
106711 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
106713         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
106714         not needed.  This removes a dependency on the gettext module.
106715         [defined _LIBC]: Do not include <libintl.h>; not needed.
106717 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106719         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
106720         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
106722 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
106724         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
106725         HAVE_DECL_STRTOLD.
106727 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106729         * modules/getdate (Depends-on): Remove alloca-opt.
106731 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106733         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
106735 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
106737         * lib/argp-parse.c: Include <stddef.h>.
106738         (alignof, alignto): New macros.
106739         (parser_init): Don't assume that void * is aligned sufficiently
106740         for struct option.
106742         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
106743         need to extend the stack.
106744         (YYINITDEPTH): New macro, so that the initial stack isn't overly
106745         large.
106747 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
106749         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
106751 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106753         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
106754         (2004-10-24) change.  Apparently this was a false alarm.
106756         * modules/getdate: Depend on alloca-opt, not alloca.
106758 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
106760         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
106761         Remove now-obsolete comment about AIX.
106762         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
106763         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
106764         (YYMAXDEPTH): New macro.
106766 2004-12-18  Simon Josefsson  <jas@extundo.com>
106768         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
106770 2004-12-18  Bruno Haible  <bruno@clisp.org>
106772         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
106774 2004-12-18  Bruno Haible  <bruno@clisp.org>
106776         * lib/fatal-signal.c (fatal_signals): Make non-const.
106777         (init_fatal_signals): New function.
106778         (uninstall_handlers, install_handlers): Ignore signals that were set to
106779         SIG_IGN.
106780         (at_fatal_signal): Call init_fatal_signals.
106781         (init_fatal_signal_set): Likewise. Ignore signals that were set to
106782         SIG_IGN.
106783         Reported by Paul Eggert.
106785 2004-12-18  Bruno Haible  <bruno@clisp.org>
106787         * doc/alloca.texi: New file.
106788         * doc/alloca-opt.texi: New file.
106790 2004-12-17  Jim Meyering  <jim@meyering.net>
106792         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
106793         Otherwise, install-sh could exit with improper exit status when
106794         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
106796 2004-12-16  Simon Josefsson  <jas@extundo.com>
106798         * tests/test-base64.c: Add license.
106800 2004-12-15  Stepan Kasal  <address@hidden>
106802         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
106804 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
106806         * modules/getcwd (Files): Add m4/d-ino.m4.
106807         Suggested by Mark D. Baushke.
106809 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106811         * lib/getdate.y (textint): New member "negative".
106812         (time_zone_hhmm): New function.
106813         Expect 14 shift-reduce conflicts, not 13.
106814         (o_colon_minutes): New rule.
106815         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
106816         (yylex): Set the "negative" member of signed numbers.
106818 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
106820         * doc/getdate.texi (Time of day items, Time zone items):
106821         Describe new formats +00:00, UTC+00:00.
106823 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
106825         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
106826         spurious "-l"s.  Problem reported by Stepan Kasal.
106828 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
106830         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
106831         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
106833 2004-12-04  Simon Josefsson  <jas@extundo.com>
106835         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
106836         Vandoorselaere <yoann@prelude-ids.org>.
106838 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106840         Changes imported from coreutils.
106841         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
106842         exist.
106843         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
106845 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106847         Changes imported from coreutils.
106848         * lib/hard-locale.c: Assume <locale.h> exists.
106849         Include "strdup.h".
106850         (GLIBC_VERSION): New macro.
106851         (hard_locale): Assume setlocale exists.
106852         Rewrite to avoid #ifdef.
106853         Use strdup rather than malloc + strcpy.
106854         * lib/human.c: Assume <locale.h> exists.
106855         (human_readable): Assume localeconv exists.
106857 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
106859         * modules/hard-locale (Depends-on): Add strdup.
106861 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
106863         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
106864         convert T2, not T.  (Imported from libc.)
106866 2004-11-30  Simon Josefsson  <jas@extundo.com>
106868         * modules/restrict (License): Change to LGPL.
106870 2004-11-30  Simon Josefsson  <jas@extundo.com>
106872         * m4/restrict.m4: Add copyright and copying conditions.
106874 2004-11-30  Simon Josefsson  <jas@extundo.com>
106876         * m4/base64.m4: New file.
106878 2004-11-30  Simon Josefsson  <jas@extundo.com>
106880         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
106881         base64.
106883         * tests/test-base64.c: New file.
106885         * modules/base64: New file.
106887 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106889         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
106890         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
106892         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
106894 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
106896         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
106897         (__getcwd.c): Don't restore errno; glibc doesn't.
106898         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
106899         first, falling back to our code only if its results look suspicious.
106900         Ensure that the resulting buffer is only as large as necessary.
106902         * lib/readutmp.c: Include readutmp.h first.
106903         Include <errno.h>, since readutmp.h no longer does that.
106904         * lib/readutmp.h: Don't include <errno.h>,
106905         <sys/param.h>, <time.h>; not needed to establish interface.
106906         (errno): Remove decl.
106907         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
106908         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
106909         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
106911 2004-11-28  Simon Josefsson  <jas@extundo.com>
106913         * lib/base64.h, base64.c: New file.
106915 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
106917         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
106919 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
106921         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
106922         (Depends-on): Remove pathmax, same.  Add mempcpy.
106923         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
106924         (Makefile.am): Append getcwd.h to lib_SOURCES.
106925         (Include): Add getcwd.h.
106926         (Maintainer): Change from Jim Meyering to "all, glibc",
106927         since getdate now uses intended-for-glibc code.
106928         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
106929         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
106931 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106933         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
106934         HP's ANSI C compiler.
106935         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
106936         Declaring int functions causes warnings on some modern systems and
106937         shouldn't be needed to compile on ancient ones.
106938         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
106939         defined.
106941         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
106942         with the following changes.
106943         (__set_errno): Parenthesize properly.
106944         Include <stdbool.h>.
106945         (MIN, MAX, MATCHING_INO): New macros.
106946         (__getcwd): Define with prototype, not K&R form.
106947         Use heuristics to allocate default buffer on stack if possible.
106948         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
106949         behavior, and to avoid the PATH_MAX limit when computing
106950         ../../../../...
106951         Use MATCHING_INO to compare inode number to file.
106952         Check for arithmetic overflow in size calculations.
106953         Fix bug in reallocation of dot array that caused getcwd to fail
106954         on directories nested deeper than 75.
106955         Be more careful about saving errno on error.
106956         Do not use realloc; use only free+malloc, as this is a bit
106957         more flexible and avoids a needless copy operation.
106958         Do not inspect st_dev and st_ino for symbolic links; POSIX
106959         doesn't specify the latter.
106960         Check for closedir errors.
106961         Avoid needless casts.
106962         Use "#ifdef weak_alias" around weak_alias, to be like other
106963         glibc code.
106964         The following changes to getcwd.c have effect only when used in
106965         gnulib; they have no effect inside glibc proper.
106966         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
106967         as alloca isn't used.
106968         (alloca, __alloca): Likewise.
106969         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
106970         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
106971         unconditionally, as gnulib assumes C89 or better.
106972         Do not include <sys/param.h>.
106973         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
106974         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
106975         better.
106976         (NULL) [!defined NULL]: Remove; we assume C89 or better.
106977         Include <dirent.h> in a way that is compatible with modern Autoconf.
106978         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
106979         New macros, if not already defined.
106980         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
106981         Use "_LIBC", not "defined _LIBC", for consistency.
106982         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
106983         a mempcpy module.
106984         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
106985         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
106986         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
106987         credit only to Jim Meyering and adjust the copyright dates.
106988         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
106989         <stdlib.h>, <unistd.h>, "pathmax.h".
106990         Instead, include "xgetcwd.h" (first) and "getcwd.h".
106991         (INITIAL_BUFFER_SIZE): Remove.
106992         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
106994 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
106996         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
106997         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
106998         Use the _ONCE methods, for efficiency.
106999         Check for fcntl.h.  In test program, include <errno.h>
107000         and <fcntl.h> if available.  Remove old K&R cruft from
107001         test program.  Check for common errors in GNU/Linux,
107002         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
107003         don't do AC_LIBOBJ, as that's getcwd.m4's job.
107004         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
107005         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
107006         name accordingly.
107007         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
107008         accommodate new getcwd.c.
107009         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
107010         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
107011         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
107012         that's all we need now.
107014 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107016         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
107017         argp-parse.c depends on getopt internals, that means we should
107018         always use our getopt, to be on the safe side.
107019         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
107020         order not to spoil the result of an eventual previous invocation
107021         of gl_GETOPT_SUBSTITUTE.
107023 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107025         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
107026         redefinition warnings. To avoid them, include the defines
107027         in `#if !defined __need_getopt ... #endif'. The only place
107028         where __getopt_argv_const is used is in definitions
107029         of getopt_long and getopt_long_only below, which are as well
107030         protected by `#ifndef __need_getopt'.
107031         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
107032         __need_getopt after including <stdio.h> and <unistd.h> These
107033         headers might have defined it.
107035 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107037         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
107039 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
107041         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
107042         (futimens): New function, which uses futimes if available.
107043         (futimens, utimens): Support timespec==NULL, with same semantics
107044         as utime and utimens.
107045         * lib/utimens.h (futimens): New decl.
107047 2004-11-23  Jim Meyering  <jim@meyering.net>
107049         * lib/getopt_.h: Remove trailing blanks.
107051 2004-11-23  Jim Meyering  <jim@meyering.net>
107053         * lib/__fpending.c: Add comment.
107055 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
107057         * modules/canonicalize (Depends-on): Add xreadlink.
107058         Problem reported by James Youngman.
107060 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
107062         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
107063         New macros.
107064         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
107065         optopt): Use them instead of invoking ## directly; otherwise, the
107066         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
107068 2004-11-19  Bruno Haible  <bruno@clisp.org>
107070         * lib/strtok_r.c: Move comments from here...
107071         * lib/strtok_r.h: ... to here.
107073 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107075         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
107076         implementations that mishandle size_t overflow.
107078 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
107080         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
107081         might fail.  Problem reported by Yoann Vandoorselaere.
107082         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
107083         implementations that mishandle size_t overflow.
107085 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107087         * modules/canon-host (Depends-on): Add strdup.
107089 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107091         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
107093 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107095         * lib/canon-host.c: Include "strdup.h".
107096         (canon_host): Use getaddrinfo if available, so that IPv6 works.
107097         Use strdup instead of malloc/strcpy to duplicate strings.
107099         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
107100         (human_space_before_unit): New constant.
107101         * lib/human.c (human_readable): Support it.
107103         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
107104         (xgetcwd): Set errno correctly when failing.
107105         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
107106         the failure is actually due to a PATH_MAX problem.
107108         Further getopt changes to make it more likely that glibc will
107109         buy the changes back.
107110         * lib/getopt.c (POSIXLY_CORRECT): New constant.
107111         (getopt): Use it, so to preserve glibc semantic
107112         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
107113         when compiling for libc.
107114         * lib/getopt_.h (__getopt_argv_const): Bring it back.
107115         (getopt_long, getopt_long_only): Use it.
107117         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107118         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
107119         (getopt): Argv is now char * const *, as per standard.
107120         (_getopt_internal_r, _getopt_internal): Argv is now char **,
107121         not char *__getopt_argv_const *.
107122         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107123         _getopt_long_only_r): Likewise.
107124         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
107125         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107126         _getopt_long_r, _getopt_long_only_r): Likewise.
107127         * lib/getopt_.h (__getopt_argv_const): Remove.
107128         (getopt): Argv is now char * const *, as per standard.
107130         * lib/getdate.y (tORDINAL): New token.
107131         (day, relunit): Allow it for relative times.
107132         (relative_time_table): Use tORDINAL for ordinals.
107134 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
107136         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
107137         Document that "second" isn't allowed as an ordinal number.
107139 2004-11-16  Jim Meyering  <jim@meyering.net>
107141         * modules/closeout (Depends-on): Add fpending.
107143 2004-11-15  Jim Meyering  <jim@meyering.net>
107145         * lib/closeout.c: Include "__fpending.h" once again.
107146         Include <stdbool.h>.
107147         (close_stdout): Don't fail just because stdout was closed initially,
107148         since some programs don't write to stdout in the normal course of
107149         operation (other than --version and --help), and we don't want this
107150         function to make e.g. `touch file >&-' fail.
107151         But do fail if it was closed and someone has tried to write to it.
107152         E.g., `printf foo >&-' must fail.
107154 2004-11-13  Jim Meyering  <jim@meyering.net>
107156         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
107158 2004-11-12  Simon Josefsson  <jas@extundo.com>
107160         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
107161         small doc fix is still pending.
107163 2004-11-11  Simon Josefsson  <jas@extundo.com>
107165         * modules/strtok_r: New file.
107167         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107168         strtok_r.
107170 2004-11-11  Simon Josefsson  <jas@extundo.com>
107172         * m4/strtok_r.m4: New file.
107174         * m4/getopt.m4: Replace opterr.
107176 2004-11-11  Simon Josefsson  <jas@extundo.com>
107178         * lib/strtok_r.h, strtok_r.c: New file.
107180 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107182         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
107183         of replacing opterr, getopt, etc.  This should handle the
107184         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
107186 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
107188         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
107189         we can stop lying to compilers about the constness of argv when we
107190         are compiled outside glibc.
107191         (getopt, getopt_long, getopt_long_only): Use it.
107192         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
107193         _getopt_internal, getopt): Likewise.
107194         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
107195         _getopt_long_only_r): Likewise.
107196         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
107197         _getopt_long_r, _getopt_long_only_r): Likewise.
107199         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
107200         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
107201         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
107202         the other external symbols.
107203         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
107204         declaration, since the above renaming now works around collisions.
107206 2004-11-11  Jim Meyering  <jim@meyering.net>
107208         * lib/linebreak.c: Remove trailing blanks.
107209         * lib/alloca_.h: Likewise.
107210         * lib/acosl.c: Likewise.
107211         * lib/euidaccess.c: Likewise.
107212         * lib/allocsa.h: Likewise.
107214 2004-11-10  Simon Josefsson  <jas@extundo.com>
107216         * m4/getaddrinfo.m4: New file.
107218 2004-11-10  Simon Josefsson  <jas@extundo.com>
107220         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
107222 2004-11-10  Simon Josefsson  <jas@extundo.com>
107224         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
107225         getaddrinfo.
107227         * modules/getaddrinfo: New file.
107229 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107231         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
107233 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
107235         * lib/mktime.c (SHR): New macro, which is a portable
107236         substitute for >> that should work even on Crays.
107237         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
107238         Problem reported by Mark D. Baushke in
107239         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
107240         * lib/getdate.y (SHR): Likewise.
107241         (tm_diff): Use it.
107242         * lib/strftime.c (SHR): Likewise.
107243         (tm_diff): Use it.
107244         * lib/quotearg.c (struct quoting_options): Use unsigned int for
107245         quote_these_too, so that right shifts are well defined.  All uses
107246         changed.
107248 2004-11-10  Jim Meyering  <jim@meyering.net>
107250         Ensure that no close failure goes unreported.
107251         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
107252         return early when it seems there's nothing to flush.
107253         Don't include __fpending.h.
107255 2004-11-10  Jim Meyering  <jim@meyering.net>
107257         * modules/closeout (Depends-on): Remove fpending.
107259 2004-11-10  Jim Meyering  <jim@meyering.net>
107261         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
107263 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107265         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
107266         gl_FUNC_STRFTIME.
107267         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
107268         and AC_REQUIRE when possible, to avoid duplicate checks.
107269         Check for <wchar.h>.
107271 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
107273         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
107275 2004-11-09  Bruno Haible  <bruno@clisp.org>
107277         * m4/sockpfaf.m4: New file.
107279 2004-11-05  Bruno Haible  <bruno@clisp.org>
107281         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
107282         Reported by Mark D. Baushke <mdb@cvshome.org>.
107284 2004-11-04  Bruno Haible  <bruno@clisp.org>
107286         2004-09-11  Bruno Haible  <bruno@clisp.org>
107287                 * allocsa.valgrind: New file.
107288         2004-02-06  Bruno Haible  <bruno@clisp.org>
107289                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
107290                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
107291                 Reported by Christopher Seip <chris.seip@hp.com>.
107293 2004-11-04  Bruno Haible  <bruno@clisp.org>
107295         * modules/allocsa (Files): Add lib/allocsa.valgrind.
107296         (Makefile.am): Distribute it.
107298 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
107300         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
107301         with errno == ERANGE if the buffer is too small.
107302         Problem reported by Mark D. Baushke.
107304 2004-11-03  Albert Chin  <china@thewrittenword.com>
107305             Paul Eggert  <eggert@cs.ucla.edu>
107307         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
107308         equivalent, substitute $ac_type for equivalent type rather than
107309         blindly using uint32_t *always* which won't work if uint32_t is not
107310         available.  Define _UINT32_T to work around typedef of uint32_t if
107311         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
107312         2.5.1.
107314 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107316         * m4/jm-macros.m4: Sync from coreutils.
107317         (gl_MACROS): Check for mbrlen, for pathchk.
107318         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
107320 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107322         * lib/xreadlink.c (MAXSIZE): New macro.
107323         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
107324         size does not exceed MAXSIZE.  Avoid cast.
107325         As suggested by Mark D. Baushke in
107326         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
107327         if readlink fails with buffer size just under MAXSIZE, try again
107328         with MAXSIZE.
107330 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
107332         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
107334 2004-11-02  Derek R. Price  <derek@ximbiot.com>
107335         and  Paul Eggert  <eggert@cs.ucla.edu>
107337         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
107338         (get_date): Overparenthesize to avoid GCC warning.
107340 2004-11-02  Bruno Haible  <bruno@clisp.org>
107342         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
107343         returns void.
107345 2004-11-02  Bruno Haible  <bruno@clisp.org>
107347         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
107348         function returns void.
107350 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107352         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
107353         fflush_unlocked, flockfile, funlockfile, funlockfile,
107354         fputs_unlocked, putc_unlocked.
107356 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
107358         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107359         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
107360         already declared.
107362 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107364         * modules/getdate (Files): Add doc/getdate.texi.
107365         (Depends-on): Add setenv, xalloc.
107367 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107369         * lib/getdate.y: Add support for TZ="foo" within a date string.
107370         Fix some bugs near time_t boundaries.  Reject dates with
107371         out-of-range components, e.g., "Sept 31".
107372         Include <stdlib.h>, "setenv.h", "xalloc.h".
107373         (ISDIGIT_LOCALE): Remove; unused.
107374         Note that the TZ and time functions used here are not reentrant.
107375         (mktime_ok, get_tz): New functions.
107376         (TZBUFSIZE): New constant.
107377         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
107378         This requires that we sometimes generate our own TZ="XXX..." setting.
107380 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
107382         * doc/getdate.texi: New file, from coreutils with modifications for
107383         the new TZ parsing.
107385 2004-10-27  Derek R. Price  <derek@ximbiot.com>
107387         * lib/mktime.c (not_equal_tm): Remove redundant check.
107389 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107391         * modules/regex (lib_SOURCES): Add regex.c.
107392         Reported by James Youngman in
107393         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
107395 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
107397         * lib/getdate.y: Use Bison 1.875 features, and some minor
107398         code cleanups.  This change does not affect semantics.
107399         Don't include <stdlib.h>; no longer needed.
107400         Don't include unlocked-io.h; only the "#if TEST" code uses
107401         stdio, and performance isn't crucial there.
107402         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
107403         Bison 1.875 features as described below.
107404         All uses of "PC." replaced by "pc->".
107405         (YYSTYPE): Add a forward declaration.
107406         (yylex, yyerror): Use full prototypes in forward decls.
107407         Use "%pure-parser" rather than obsolescent "%pure_parser".
107408         Use %parse-param and %lex-param instead of obsolescent
107409         YYPARSE_PARAM and YYLEX_PARAM.
107410         (meridian_table, month_and_day_table, time_units_table,
107411         relative_time_table, time_zone_table, military_table,
107412         lookup_zone, lookup_word, get_date):
107413         Use NULL instead of 0 where appropriate.
107414         (to_hour): Avoid abort (), to avoid a dependency on
107415         stdlib.h.
107416         (yyerror, yylex): Now accepts parser_control * arg.
107417         (main) [TEST]: Use '\0' rather than 0 for char.
107419 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107421         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
107423 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
107425         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
107426         It's now the caller's responsibility to handle the case where
107427         !HAVE_GETPAGESIZE && !defined getpagesize.
107429         * lib/mktime.c (leapyear): Arg is long int, not int.
107431 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
107433         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
107435 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
107437         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
107438         missing.  Problem reported by James Youngman.
107440 2004-10-16  Simon Josefsson  <jas@extundo.com>
107442         * gnulib-tool: Fix comments.  Fix parse problem.
107443         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
107445 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
107447         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
107448         implementation of getopt_long.  Problem reported by Alexander Taler in:
107449         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
107451 2004-10-15  Bruno Haible  <bruno@clisp.org>
107453         * gnulib-tool: Untabify. Initialize supplied_libname.
107454         (func_usage): More homogenous output.
107455         (func_modules_transitive_closure, func_modules_to_filelist,
107456         func_emit_lib_Makefile_am): New functions.
107457         (func_import): New function, extracted from big case statement. Use
107458         func_get_license, func_modules_transitive_closure,
107459         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
107460         opt_lgpl. Don't use test -a, as it's not portable.
107461         (func_create_testdir): Use func_modules_transitive_closure,
107462         func_modules_to_filelist, func_emit_lib_Makefile_am.
107464 2004-10-15  Bruno Haible  <bruno@clisp.org>
107466         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
107468 2004-10-15  Bruno Haible  <bruno@clisp.org>
107470         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
107471         the portions belonging to each module.
107472         Suggested by Derek Robert Price <derek@ximbiot.com>.
107474 2004-10-12  Simon Josefsson  <jas@extundo.com>
107476         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
107477         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
107478         to real functions.
107480 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107482         * modules/vsnprintf: New file.
107484 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107486         * m4/vsnprintf.m4: New file.
107488 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107490         * lib/vsnprintf.h: New file.
107491         * lib/vsnprintf.c: New file.
107493 2004-10-11  Bruno Haible  <bruno@clisp.org>
107495         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
107496         vsnprintf.
107498 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
107500         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
107502 2004-10-07  Bruno Haible  <bruno@clisp.org>
107504         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
107505         fits into the provided buffer.
107507 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
107509         * lib/diacrit.c, diacrit.h: Add GPL notice.
107511         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
107512         notice.
107513         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
107514         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
107515         This avoids a potential constant-folding bug.
107517 2004-10-05  Bruno Haible  <bruno@clisp.org>
107519         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
107520         for the declaration of strsep.
107522 2004-10-05  Bruno Haible  <bruno@clisp.org>
107524         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
107526 2004-10-04  Simon Josefsson  <jas@extundo.com>
107528         * modules/memmem: New file.
107529         * tests/test-memmem.c: New file.
107530         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
107532 2004-10-04  Simon Josefsson  <jas@extundo.com>
107534         * m4/memmem.m4: New file.
107536 2004-10-04  Simon Josefsson  <jas@extundo.com>
107538         * lib/memmem.h: New file.
107539         * lib/memmem.c: New file, taken from glibc.
107541 2004-10-04  Simon Josefsson  <jas@extundo.com>
107543         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
107544         '#ifdef USE_UNLOCKED_IO'.
107546 2004-10-04  Simon Josefsson  <jas@extundo.com>
107548         * config/srclist.txt: Add memmem from glibc.
107550 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107552         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
107554         * modules/argmatch, modules/argp, modules/closeout, modules/error,
107555         modules/exclude, modules/getdate, modules/getline,
107556         modules/getndelim2, modules/getpass, modules/getpass-gnu,
107557         modules/getusershell, modules/linebuffer, modules/md5,
107558         modules/mountlist, modules/posixtm, modules/readtokens,
107559         modules/readutmp, modules/regex, modules/sha1,
107560         modules/version-etc, modules/yesno:
107561         Remove dependency on unlocked-io.
107563 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107565         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
107567         * m4/unlocked-io.m4: Add copyright notice.
107568         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
107570 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107572         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
107573         * lib/xmalloc.c (xmemdup): Likewise.
107574         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
107575         XFREE): Remove these long-obsolescent macros.
107576         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
107577         * lib/xstrdup.c: Remove.
107579         * lib/regex.c (re_comp): Cast gettext return value to char *,
107580         Problem reported by Martin Neitzel via Mark D. Baushke.
107582 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
107584         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
107585         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
107586         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
107587         regex.c, sha1.c, version-etc.c, yesno.c:
107588         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
107589         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
107590         the includer's responsibility.
107592         Sync from coreutils.
107594         * lib/modechange.c (mode_compile): Don't decrement a pointer that
107595         points to the start of a string, as the C Standard says the
107596         resulting behavior is undefined.
107598         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
107599         simple -> simple_backups, numbered_existing ->
107600         numbered_existing_backups, numbered -> numbered_backups
107601         to avoid shadowing problems.  All uses changed.
107602         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
107603         * lib/backupfile.c (check_extension, numbered_backup):
107604         Rename locals to avoid shadowing 'basename'.
107605         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
107606         once.
107608         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
107609         * lib/.cvsignore: Add getopt.h.
107611 2004-10-04  Bruno Haible  <bruno@clisp.org>
107613         * modules/README: New file.
107614         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
107615         not a module.
107617 2004-10-02  Jim Meyering  <jim@meyering.net>
107619         * lib/dirfd.h, getpagesize.h: Add copyright notice.
107621 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107623         * modules/strsep: New file.
107625 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107627         * m4/strsep.m4: New file.
107629 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
107631         * lib/strsep.h: New file.
107632         * lib/strsep.c: New file.
107634 2004-10-01  Simon Josefsson  <jas@extundo.com>
107636         * lib/snprintf.c (snprintf): Handle size==0.
107638 2004-10-01  Simon Josefsson  <jas@extundo.com>
107639             Bruno Haible  <bruno@clisp.org>
107641         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
107642         (snprintf): Declare 'args'.
107644 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
107646         * lib/snprintf.c: Remove comments as to why each header is needed.
107648 2004-10-01  Bruno Haible  <bruno@clisp.org>
107650         * MODULES.html.sh: Add strsep.
107652 2004-09-30  Simon Josefsson  <jas@extundo.com>
107654         * modules/snprintf: New file.
107656 2004-09-30  Simon Josefsson  <jas@extundo.com>
107658         * m4/snprintf.m4: New file.
107660 2004-09-30  Simon Josefsson  <jas@extundo.com>
107662         * lib/snprintf.h, lib/snprintf.c: New files.
107664 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
107666         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
107667         (hol_entry_help): Never translate an empty string.
107668         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
107669         * lib/argp.h (OPTION_NO_TRANS): New option.
107671 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107673         * modules/argp (Maintainer): Replace Simon Josefsson
107674         by Sergey Poznyakoff.
107676 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107678         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
107679         changes merged back into glibc.
107681 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
107683         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
107685 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
107687         * lib/xvasprintf.c: Include xalloc.h.
107688         (xvasprintf): Use xalloc_die, not xmalloc_die.
107690 2004-09-29  Bruno Haible  <bruno@clisp.org>
107692         * modules/alloca-opt: New file, derived from modules/alloca.
107693         * modules/allocsa: Depend on alloca-opt instead of alloca.
107694         * modules/setenv: Likewise.
107695         * modules/vasnprintf: Likewise.
107696         * MODULES.html.sh: Add alloca-opt.
107698 2004-09-28  Simon Josefsson  <jas@extundo.com>
107700         * gnulib-tool: New parameter --lgpl, to asseert that modules are
107701         LGPL, and to replace license template from GPL to LGPL.
107703 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107705         * modules/dummy: Change license to LGPL.
107707 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
107709         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
107711 2004-09-24  Simon Josefsson  <jas@extundo.com>
107713         * modules/minmax (License): Change from GPL to LGPL.
107715 2004-09-23  Simon Josefsson  <jas@extundo.com>
107717         * gnulib-tool (--import): Typo.
107719 2004-09-23  Simon Josefsson  <jas@extundo.com>
107721         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
107723 2004-09-22  Bruno Haible  <bruno@clisp.org>
107725         * modules/*: Add 'License' field.
107726         * gnulib-tool: Accept --extract-license option.
107727         (func_get_license): New function.
107729 2004-09-21  Bruno Haible  <bruno@clisp.org>
107731         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
107732         Reported by Simon Josefsson.
107734 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107736         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
107737         gl_AC_TYPE_LONG_LONG.
107739 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
107741         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
107743 2004-09-18  Simon Josefsson  <jas@extundo.com>
107744         and  Paul Eggert  <eggert@cs.ucla.edu>
107746         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
107747         calls with autoreconf.  Define GL_LIB.
107749 2004-09-14  Karl Berry  <karl@gnu.org>
107751         * config/srclist.txt: unsync setenv.c, sigh.
107753 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107755         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
107756         Problem reported by Bruno Haible in:
107757         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
107759 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
107761         * config/srclist.txt: Comment out argp-pvh.c.
107763 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
107765         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
107766         in case some system header has #define'd it.  Problem reported by
107767         Soeren D. Schulze in
107768         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
107770 2004-09-09  Karl Berry  <karl@gnu.org>
107772         * regex.[ch]: delete from the root.  These were supposed to be
107773                 synced with emacs cvs, but this has not happened for about
107774                 a year, and anyway nothing else uses emacs regex.[ch].
107775                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
107776                 lib/regex[.ch] is untouched.
107778 2004-09-09  Bruno Haible  <bruno@clisp.org>
107780         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
107782 2004-09-09  Bruno Haible  <bruno@clisp.org>
107784         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
107785         modifications.
107786         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
107788 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107790         * modules/xvasprintf: New file.
107791         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
107793 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
107795         * lib/xvasprintf.h: New file.
107796         * lib/xvasprintf.c: New file.
107797         * lib/xasprintf.c: New file.
107799 2004-09-08  Bruno Haible  <bruno@clisp.org>
107801         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
107803 2004-09-08  Bruno Haible  <bruno@clisp.org>
107805         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
107806         length is > INT_MAX.
107807         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
107808         more.
107810 2004-09-08  Bruno Haible  <bruno@clisp.org>
107812         * lib/stdint_.h: New file, taken from GNU clisp.
107814 2004-09-08  Bruno Haible  <bruno@clisp.org>
107815             Oskar Liljeblad  <oskar@osk.mine.nu>
107817         * modules/stdint: New file.
107818         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
107820 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107822         Import from coreutils.
107823         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
107824         strings on unbounded length.  alloca's performance benefits aren't
107825         that important here.
107826         (V_STRDUP): Remove.
107827         (parse_with_separator): New function, with most of the internals
107828         of the old parse_user_spec.  Allow user to omit both user and group,
107829         for compatibility with FreeBSD.
107830         Clone only the user name, not the entire spec.
107831         Do not set *uid, *gid unless entirely successful.
107832         Avoid memory leak in some failing cases.
107833         Fix regression for USER.GROUP reported by Dmitry V. Levin in
107834         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
107835         (parse_user_spec): Rewrite to use parse_with_separator.
107837 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107839         * modules/userspec: Don't depend on alloca.
107841 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
107843         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
107845 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
107847         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
107848         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
107849         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
107851 2004-08-16  Simon Josefsson  <jas@extundo.com>
107853         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
107854         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
107855         Add --dry-run for --import.
107856         Let user provided command line parameters override configure.ac
107857         settings.
107859 2004-08-12  Simon Josefsson  <jas@extundo.com>
107861         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
107862         as discussed with Paul Eggert in threads rooted at
107863         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
107864         and
107865         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
107866         Before, the test was empty, and relied on ELIDE_CODE in source
107867         code.)
107868         (gl_PREREQ_GETOPT): New macro.
107869         (gl_GETOPT): Use them.
107871 2004-08-12  Simon Josefsson  <jas@extundo.com>
107873         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
107874         * lib/getopt_.h: Renamed from getopt.h.
107876 2004-08-12  Simon Josefsson  <jas@extundo.com>
107878         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
107879         Change default library name from libfoo to libgnu.
107880         Now, if you have a configure.ac that says:
107881                 gl_SOURCE_BASE(gl)
107882                 gl_M4_BASE(gl/m4)
107883                 gl_MODULES(error getopt etcetera)
107884                 gl_INIT
107885         you can import all you need by running:
107886                 ../gnulib/gnulib-tool --import
107888         * modules/getopt (Files): Rename getopt.h to getopt_.h.
107889         (Makefile.am): Rewrite, use logic from argz.
107890         (Include): Use <getopt.h> instead of "getopt.h".
107892 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107894         * modules/argp (Files): Add m4/unlocked-io.m4.
107895         (Depends-on): Add extensions.
107897 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107899         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
107900         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
107901         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
107902         Check for program_invocation_name, program_invocation_short_name,
107903         flockfile, funlockfile, features.h, _getopt_long_only_r.
107905 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107907         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
107908         its complicated substitute.
107909         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
107910         and program_invocation_name.
107911         (__argp_basename) [!_LIBC]: Remove; the only use was
107912         replaced by its body.
107913         (__argp_short_program_name): Change condition from
107914         !defined __argp_short_program_name to
107915         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
107916         to match argp-namefrob.h.
107917         (__argp_failure): Don't assume strerror_r returns char *.
107918         * lib/argp-parse.c (N_): Define unconditionally.
107919         (argp_default_options): Fill out initializers with 0 to avoid
107920         gcc warnings.
107922 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
107924         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
107925         getopt1.c.
107927 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107929         Merge from coreutils.
107931         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
107933         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
107934         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
107936 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107938         Merge from coreutils.
107940         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
107941         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
107942         for Reliant Unix 5.43.
107944         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
107945         (union fooround): Use uintmax_t, not long int.
107946         The rest is a merge from libc:
107947         [defined _LIBC]: Include <shlib-compat.h>.
107948         (_obstack) [defined _LIBC]: Remove after 2.3.4.
107950         * lib/settime.c (settime): Recode to avoid warning with
107951         Sun Forte C 6U2.
107953         * lib/strverscmp.c: Convert to UTF-8.
107955 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
107957         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
107958         m4/uintmax_t.m4.
107960 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107962         * modules/xalloc-die: New file.
107963         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
107965         * modules/md5 (Files): Add m4/uint32_t.m4.
107966         * modules/sha1: Renamed from modules/sha.
107967         (Files):
107968         Rename lib/sha.h to lib/sha1.h.
107969         Rename lib/sha.c to lib/sha1.c.
107970         Rename m4/sha.m4 to m4/sha1.m4.
107971         (lib_SOURCES): Likewise.
107972         (configure.ac): Rename gl_SHA to gl_SHA1.
107973         (Include): sha.h -> sha1.h.
107975 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107977         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
107978         * m4/sha1.m4: Renamed from sha.m4.
107979         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
107981 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
107983         * lib/obstack.h (obstack_empty_p):
107984         Don't assume that chunk->contents is suitably aligned.
107985         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
107986         Likewise. Problem reported by Benno in
107987         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
107989         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
107990         readable.  This could be improved further but it'd take some work.
107992 2004-08-08  Simon Josefsson  <jas@extundo.com>
107994         * modules/xgethostname (Depends-on): Remove exit and error (not
107995         used).
107997         * modules/getpass-gnu: Add getpass.h.
107998         (Depends-on): Add stdbool.
107999         * modules/getpass: Add getpass.h.
108001 2004-08-08  Simon Josefsson  <jas@extundo.com>
108003         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
108004         Check getpass declaration.
108006 2004-08-08  Simon Josefsson  <jas@extundo.com>
108008         * lib/xgethostname.c: Don't include error.h (not used).
108010         * lib/getpass.h: Add.
108011         * lib/getpass.c: Include getpass.h first.
108013 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
108015         * lib/xalloc-die.c: New file.
108016         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
108017         All uses removed.
108018         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
108019         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
108020         xalloc-die.c.
108021         (_, N_, xalloc_die): Move to xalloc-die.c.
108022         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
108023         so that we needn't mess with xalloc_msg_memory_exhausted.
108025         * lib/sha1.h: Renamed from sha.h.
108026         (SHA1_H): Renamed from _SHA_H.
108027         (sha1_ctx): Renamed from sha_ctx.
108028         (sha1_init_ctx): Renamed from sha_init_ctx.
108029         (sha1_process_block): Renamed from sha_process_block.
108030         (sha1_process_bytes): Renamed from sha_process_bytes.
108031         (sha1_finish_ctx): Renamed from sha_finish_ctx.
108032         (sha1_read_ctx): Renamed from sha_read_ctx.
108033         (sha1_stream): Renamed from sha_stream.
108034         (sha1_buffer): Renamed from sha_buffer.
108035         * lib/sha1.c: Likewise; renamed from sha.c.
108036         Do not include <sys/types.h>.
108037         Include <stddef.h> rather than <stdlib.h>.
108039 2004-08-08  Bruno Haible  <bruno@clisp.org>
108041         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
108042         FILESYSTEM_PREFIX_LEN.
108043         * lib/progreloc.c: Likewise.
108044         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
108046 2004-08-06  Simon Josefsson  <jas@extundo.com>
108048         * modules/progname (Depends-on): Don't depend on stdbool.
108050 2004-08-06  Simon Josefsson  <jas@extundo.com>
108052         * modules/getsubopt: New file.
108053         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108054         getsubopt.
108056 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108058         More merge from coreutils.
108060         * m4/utimens.m4, m4/utimecmp.m4: New files.
108061         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
108062         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
108063         prereq.m4, sha.m4: Import changes from coreutils.
108065 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108067         More merge from coreutils.
108068         * modules/raise, modules/readtokens0, modules/utimens:
108069         * modules/utimecmp, module/xnanosleep: New files.
108070         * modules/strftime: Add lib/strftime.h.
108071         Change include from <time.h> to "strftime.h".
108072         * modules/yesno: Add lib/yesno.h.
108073         * modules/backupfile: Remove lib/addext.c.
108074         * modules/euidaccess: Add stat-macros.h.
108075         * modules/canonicalize, modules/euidaccess,
108076         modules/filemode, modules/lchown, modules/makepath,
108077         modules/rmdir, modules/stat: Likewise.
108079 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
108081         Merge from tar.
108082         * lib/argp-help.c (make_hol, hol_append): Don't assume that
108083         SIZE_MAX is a valid preprocessor constant.
108084         (__argp_basename): Change from "#ifndef _LIBC"
108085         to "#ifndef __argp_short_program_name", so that
108086         we don't compile these functions for tar.
108088         More merges from coreutils.
108089         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
108090         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
108091         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
108092         * lib/addext.c: Remove; no longer needed.
108093         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
108094         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
108095         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
108096         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
108097         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
108098         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
108099         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
108100         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
108101         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
108102         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
108103         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
108104         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
108105         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
108106         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
108107         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
108108         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
108109         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
108110         Import changes from coreutils.
108112 2004-08-05  Simon Josefsson  <jas@extundo.com>
108114         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
108116 2004-08-05  Simon Josefsson  <jas@extundo.com>
108118         * m4/getsubopt.m4: New file.
108120 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108122         Merge from coreutils.
108124         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
108125         * m4/getcwd-path-max.m4: New files.
108127         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
108128         FILESYSTEM_PREFIX_LEN ->
108129         FILE_SYSTEM_PREFIX_LEN.
108130         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
108131         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
108132         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
108133         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
108135         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
108136         prerequisite modules now handle the DOS stuff.
108137         Don't check for unistd.h.
108139 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108141         Merge from coreutils.
108143         * lib/.gdb-history: Remove; this doesn't belong here.
108145         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
108146         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
108147         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
108148         * lib/getcwd.c: New files.
108150         * lib/dirname.h: Include <stdbool.h>.
108151         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
108152         for consistency with POSIX terminology.  All uses changed.
108153         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
108154         (strip_trailing_slashes): Use bool for booleans.
108155         * lib/stripslash.c (strip_trailing_slashes): Likewise.
108157         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
108158         sometimes returns a positive errno value even when it succeeds.
108159         (print_errno_message) [!LIBC]: Fall back on strerror if
108160         __strerror_r fails.
108162         * lib/path-concat.c (mempcpy): Don't define if a system header defines
108163         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
108164         (longest_relative_suffix): New function.
108165         (path_concat): Use it.  Assume first argument is not NULL.
108166         Port to DOS.  Omit redundant separators.
108167         Report an error instead of returning NULL.
108168         Use mempcpy instead of memcpy.
108169         (xpath_concat): Remove: not declared or used.
108171         * lib/same.h: Include <stdbool.h>
108172         (same_name): Return bool, not int.
108173         * lib/same.c (same_name): Likewise.
108174         (errno): Don't declare; we assume C89 or better now.
108176         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
108177         if not already defined.
108179         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
108180         * lib/dup-safer.c (errno): Likewise.
108182 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
108184         Merge from coreutils.
108185         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
108186         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
108187         * modules/path-concat: Don't depend on strdup.
108189 2004-08-03  Simon Josefsson  <jas@extundo.com>
108191         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
108192         * lib/progname.h: Don't include stdbool.h.
108194 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108196         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
108197         * MODULES.html.sh (func_all_modules): Remove fatal.
108199 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108201         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
108203 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
108205         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
108206         working.
108208 2004-08-02  Simon Josefsson  <jas@extundo.com>
108210         * lib/getsubopt.h: New file, with comments from Bruno Haible.
108211         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
108212         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
108214 2004-08-01  Simon Josefsson  <jas@extundo.com>
108216         * lib/xgetdomainname.c: Include stdlib.h, for free().
108218 2004-07-19  Bruno Haible  <bruno@clisp.org>
108220         * MODULES.html.sh (func_all_modules): Add dummy.
108222 2004-07-16  Simon Josefsson  <jas@extundo.com>
108224         * modules/dummy: New file.
108226 2004-07-16  Simon Josefsson  <jas@extundo.com>
108228         * lib/dummy.c: New file.
108230 2004-07-16  Bruno Haible  <bruno@clisp.org>
108232         * lib/backupfile.h: Add extern "C" for C++.
108233         * lib/closeout.h: Likewise.
108234         * lib/copy-file.h: Likewise.
108235         * lib/findprog.h: Likewise.
108236         * lib/full-write.h: Likewise.
108237         * lib/pathname.h: Likewise.
108238         * lib/progname.h: Likewise.
108239         * lib/stpcpy.h: Likewise.
108240         * lib/stpncpy.h: Likewise.
108241         * lib/strcase.h: Likewise.
108242         * lib/strstr.h: Likewise.
108243         * lib/xalloc.h: Likewise.
108245         * lib/mbswidth.h: Add extern "C" for C++.
108246         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
108248 2004-07-13  Robert Millan  <robertmh@gnu.org>
108250         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
108252 2004-07-09  Simon Josefsson  <jas@extundo.com>
108254         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
108255         failed without this.)
108257 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108259         * modules/chown (Files): Add lib/fchown-stub.c, since
108260         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
108262 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
108264         * lib/fchown-stub.c: New file.
108266 2004-06-24  Jim Meyering  <jim@meyering.net>
108268         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
108270 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108272         * modules/argz: Omit "#include".
108274         * MODULES.html.sh (func_all_modules): Add calloc, to match
108275         2004-06-01 addition of calloc module.
108277 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108279         * m4/argz.m4: New file, which is autoupdated from libtool.
108281 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108283         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
108284         libtool.
108286 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
108288         * config/srclist-update: Don't insist on "USA." before the
108289         close-comment, as libtool omits the period and puts the */ on a
108290         separate line.
108291         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
108292         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
108294 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
108296         * modules/argz: New file.
108297         * MODULES.html.sh (func_all_modules): Add argz.
108299 2004-06-12  Jim Meyering  <jim@meyering.net>
108300         and  Paul Eggert  <eggert@cs.ucla.edu>
108302         * modules/hash (Files): Add lib/xalloc.h.
108303         * modules/pipe (Depends-on): Add wait-process.
108304         * modules/stat (Depends-on): Add xalloc.
108305         * modules/userspec (Files): Add lib/userspec.h.
108306         * modules/xstrto
108308         Upgrade from gettext-0.13.
108309         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
108310         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
108311         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
108313 2004-06-10  Jim Meyering  <jim@meyering.net>
108315         * lib/calloc.c: New file.
108317 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
108319         * lib/getdate.y (yylex): Allow space between sign and number.
108320         Problem reported by Dan Jacobson.
108322 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108324         Merge from coreutils CVS.
108326         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
108327         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
108328         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
108329         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
108330         xstrtol.m4: Fix copyright date and/or serial number.
108332         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
108333         See if we need an fchown replacement.
108334         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
108335         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
108336         and use the replacement function if we detect either defect.
108338         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
108339         gl_UTIMECMP.
108341 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
108342         and  Jim Meyering  <jim@meyering.net>
108344         Merge from coreutils CVS.
108346         * lib/stat-macros.h: New file, with contents from file-type.h
108347         and coreutils' system.h.
108348         * lib/file-type.c: Include "stat-macros.h".
108349         * lib/file-type.h (file_type): Move all macro definitions to new file,
108350         stat-macros.h.
108352         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
108353         Wrap old code with this conditional.
108354         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
108355         function that does not dereference symlinks.
108356         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
108358         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
108359         dependency problems.
108360         (xreadlink): Accept new arg SIZE, for efficiency.
108361         All decls and uses changed.
108362         * lib/xreadlink.h: Include <stddef.h>, for size_t.
108364         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
108365         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
108367         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
108368         sysexits.h.
108370 2004-06-01  Jim Meyering  <jim@meyering.net>
108372         * m4/calloc.m4: New file.
108374 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
108376         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
108377         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
108378         Also, fix a typo in a diagnostic.
108380 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108382         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
108383         or AC_FUNC_REALLOC.
108385 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
108387         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
108388         macros to be defined.
108389         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
108390         the allocator returns NULL because the requested size is zero.
108392 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
108394         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
108395         var.  Add comment explaining why libc still defines it.  This
108396         merges the following patch from glibc:
108397         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
108399 2004-05-20  Andreas Schwab  <schwab@suse.de>
108401         * m4/free.m4: Replace free if it not known to work, not the other
108402         way round.
108404 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
108406         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
108407         present in glibc since revision 1.1 of this file.
108408         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
108409         obstack_alignment_mask, obstack_alloc, obstack_base,
108410         obstack_blank, obstack_blank_fast, obstack_chunk_size,
108411         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
108412         obstack_grow0, obstack_init, obstack_int_grow,
108413         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
108414         obstack_next_free, obstack_object_size, obstack_ptr_grow,
108415         obstack_ptr_grow_fast, obstack_room): Remove declarations of
108416         nonexistent functions.
108418 2004-05-18  Karl Berry  <karl@gnu.org>
108420         * config/srclist.txt: break link for vasnprintf.c.
108422 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108424         Port obstack to the AS/400, where pointers are 16 bytes wide and
108425         you cannot cast an integer to a valid pointer.  This patch is
108426         currently waiting to be integrated into glibc; see
108427         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
108429         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
108430         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
108431         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
108432         (struct obstack): temp member is now a union of a pointer and
108433         an integer, instead of an integer.  All integer uses changed.
108434         This does not affect the physical layout of struct obstack,
108435         except on hosts (like the AS/400) where the size or alignment of
108436         void * is greater than that of ptrdiff_t.
108437         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
108438         __STDC__)]: Store temporary in pointer member of union, not
108439         integer member.
108440         * lib/obstack.c: Include <stddef.h>, for offsetof.
108441         (struct fooalign): Remove; it doesn't need a name.
108442         (union fooround): Change double to long double, and add void *.
108443         (DEFAULT_ALIGNMENT): Use offsetof to compute.
108444         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
108445         not a macro.  Hence the values are always int; so remove all
108446         casts-to-int in uses.
108448 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
108450         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
108451         we can get this patch merged into glibc.
108453 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108454             Paul Eggert  <eggert@cs.ucla.edu>
108456         * m4/argp: Depend on alloca.
108458 2004-05-17  Derek R. Price  <derek@ximbiot.com>
108459             Paul Eggert  <eggert@cs.ucla.edu>
108461         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
108462         freecoding.
108464 2004-05-17  Bruno Haible  <bruno@clisp.org>
108466         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
108467         precision that consists of a '.' followed by an empty digit string.
108468         Patch by Tor Lillqvist <tml@iki.fi>.
108470 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108472         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
108473         for backward compatibility with older code.  We need our own
108474         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
108475         it under some other name, and our alloca.h will define it.
108477 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
108478             Derek Price  <derek@ximbiot.com>
108480         * lib/alloca.c: Include <alloca.h>, to get our interface.
108481         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
108482         include <alloca.h> first.  Use C89 prototype for alloca; this
108483         requires including <stddef.h> for size_t.  Use extern "C" if C++.
108484         Use #elif for simplicity, since we can assume C89 now.
108485         Don't try to source the system alloca.h since it will not be found
108486         and to prevent recursively including its replacement.
108487         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
108488         * lib/regex.c: Likewise.
108490 2004-05-16  Derek Price  <derek@ximbiot.com>
108491             Paul Eggert  <eggert@cs.ucla.edu>
108493         getline cleanup.  This changes the getndelim2 API: both order of
108494         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
108495         no delimiter).
108497         * lib/getline.c: Don't include stddef.h or stdio.h, since our
108498         interface does that.
108499         (getline): Always use getdelim, so that we don't have two
108500         copies of this code.
108501         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
108502         if available.
108503         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
108504         (GETNDELIM2_MAXIMUM): New macro.
108505         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
108506         instead of the old practice of delim2==0.  All callers changed.
108507         Return -1 on overflow, instead of returning junk.
108508         Do not set *linesize unless allocation succeeds.
108509         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
108510         that we include sys/types.h.
108511         * lib/getnline.h: Likewise.
108512         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
108513         (getndelim2): Reorder arguments.
108514         * lib/getnline.c (getnline, getndelim):
108515         Don't discard the NMAX argument.
108516         (getnline): Invoke getndelim, to avoid code duplication.
108517         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
108518         of (size_t) -1 by callers of the getnline family.
108520 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108522         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
108523         Check for gettimeofday.
108524         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
108525         Check for settimeofday, stime.
108527 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
108529         * lib/nanosleep.c (suspended): Change its type from int to
108530         sig_atomic_t volatile.
108531         (first_call): Make it private to rpl_nanosleep, and have it
108532         be zero initially as that's a bit faster.
108533         (my_usleep): Round up fractional times instead of truncating them,
108534         as this is the usual meaning for 'sleep'.
108536         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
108537         doesn't work.
108538         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
108539         (ENOSYS): Define if not defined.
108540         (settime): Fall back on stime if it exists and settimeofday fails.
108541         But don't bother with fallbacks if a method fails with errno == EPERM.
108543 2004-05-11  Jim Meyering  <jim@meyering.net>
108545         Prior to this change, the save_cwd caller required read access to the
108546         current directory on most systems (ones with the fchdir function).
108548         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
108549         fails, try write-only, and finally, resort to using xgetcwd.
108551 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
108553         * lib/obstack.c, obstack.h: Import changes from libc.
108555 2004-04-28  Bruno Haible  <bruno@clisp.org>
108557         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
108558         also implicitly appends .exe to executables.
108559         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
108560         accepts Windows pathnames.
108561         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108562         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108563         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
108564         Treat Cygwin like Windows, since it now accepts Windows pathnames.
108565         Reported by Derek Robert Price <derek@ximbiot.com>.
108567 2004-04-21  Karl Berry  <karl@gnu.org>
108569         * config/srclist.txt (localcharset.c): break sync.
108571 2004-04-20  Paul Eggert  <eggert@twinsun.com>
108573         * m4/host-os.m4: Add a copyright notice.
108575 2004-04-20  Jim Meyering  <jim@meyering.net>
108577         Change UTILS_ to gl_ in AC_DEFINE'd names.
108578         Change utils_- and jm_-prefixed variables, too.
108579         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
108580         UTILS_FUNC_MKDIR_TRAILING_SLASH.
108581         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
108583         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
108584         Don't emit trailing blanks.
108585         Also rename jm_-prefixed variables to have gl_ prefix.
108587         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
108588         Also rename jm_-prefixed variables to have gl_ prefix.
108590         * m4/jm-macros.m4: Reflect the renamings.
108591         * m4/prereq.m4: Likewise.
108593 2004-04-20  Jim Meyering  <jim@meyering.net>
108595         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
108596         memory.
108598 2004-04-20  Jim Meyering  <jim@meyering.net>
108599             Bruno Haible  <bruno@clisp.org>
108601         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
108602         memory when realloc fails.
108604 2004-04-19  Jim Meyering  <jim@meyering.net>
108606         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
108607         now that readutmp.c may call `free (0)'.
108609 2004-04-19  Bruno Haible  <bruno@clisp.org>
108611         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
108612         * m4/inttypes_h.m4: Likewise.
108613         * m4/stdint_h.m4: Likewise.
108614         * m4/intmax_t.m4: Likewise.
108615         * m4/uintmax_t.m4: Likewise.
108617 2004-04-18  Jim Meyering  <jim@meyering.net>
108619         * m4/prereq.m4: Don't forbid jm_ prefix.
108621         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
108622         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
108623         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
108624         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
108625         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
108626         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
108627         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
108628         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
108629         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
108630         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
108631         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
108632         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
108633         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
108634         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
108635         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
108636         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
108637         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
108638         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
108639         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
108641 2004-04-18  Jim Meyering  <jim@meyering.net>
108643         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
108644         failure, don't leak memory and do call END_UTMP_ENT.
108646 2004-04-16  Jim Meyering  <jim@meyering.net>
108648         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
108649         coreutils' stat program.
108650         (gl_PREREQ): Don't require jm_PREREQ_STAT.
108652 2004-04-11  Paul Eggert  <eggert@twinsun.com>
108654         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
108655         C89.
108656         (CHAR_BIT): Remove, since we assume C89.
108657         Include <stdint.h> if available, as per current Autoconf CVS advice.
108659 2004-03-31  Jim Meyering  <jim@meyering.net>
108661         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
108662         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
108663         * m4/xalloc.m4: Likewise.
108665 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108667         Merge from coreutils.
108669         * m4/inttostr.m4: New file.
108670         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
108671         Require AM_STDBOOL_H and gl_TIMESPEC instead.
108672         Require gl_CLOCK_TIME.
108673         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
108675 2004-03-30  Paul Eggert  <eggert@twinsun.com>
108677         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
108678         not bool, to be more consistent with Unix conventions.
108679         Suggested by Bruno Haible.
108681         Merge from coreutils.
108683         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
108684         * lib/umaxtostr.c: New files.
108686         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
108687         the usual <time.h> dance.
108688         (get_date): Change signature to support fractional time stamps.
108689         All callers changed.
108690         * lib/getdate.y: Include "getdate.h" first, as we can now
108691         assume C89 and don't need to worry about 'const'.
108692         Similarly, include "unlocked-io.h" near start, not in middle.
108693         Include <limits.h>.
108694         (textint.value): Use long int rather than int.
108695         (textint.digits): Use size_t rather than int.
108696         (BILLION, LOG10_BILLION): New constants.
108697         (parser_control): New member rel_ns.  Members day_ordinal,
108698         time_zone, month, day, hour, minutes, rel_year, rel_month,
108699         rel_day, rel_hour, rel_minutes, rel_seconds
108700         are now long int, not int.  Member seconds is now struct timespec,
108701         not int.  New member timespec_seen.  Members dates_seen, days_seen,
108702         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
108703         not int.
108704         (%union.intval): Now long int, not int.
108705         New member timespec.
108706         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
108707         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
108708         (spec): Now is a timespec or an item list.
108709         (timespec, items): New nonterminals.
108710         (time, rel, relunit, number, get_date):
108711         Add support for fractional seconds.
108712         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
108713         (gmtime, localtime, mktime): Remove decls; not needed with C89.
108714         (to_hour): First arg is now long int, not int.
108715         (to_year): Returns long int, not int.
108716         Don't treat year -70 like 70.
108717         (tm_diff): Returns long int, not int.
108718         (lookup_word): Use bool instead of int when appropriate.
108719         (yylex): Use size_t for count, not int.
108720         Detect overflow when parsing large integer constants.
108721         Add support for fractions.
108722         (get_date): Make pointers 'const' if possible.
108723         Use more-portable code to detect integer overflow.
108724         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
108725         Don't use ctime; it's not reliable if the year has >4 digits.
108727         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
108728         This is for compatibility with BSD.
108730         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
108731         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
108732         From coreutils' system.h.
108734         * lib/userspec.c: Don't include "posixver.h".
108735         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
108736         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
108737         compatible extension.  Simplify code by removing a boolean int
108738         that was always nonzero if a string was nonnull.
108740 2004-03-30  Jim Meyering  <jim@meyering.net>
108742         Merge from coreutils.
108744         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
108745         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
108746         on some systems one must include <grp.h> before it.
108747         Reported by Christian Krackowizer.
108749 2004-03-30  Jim Meyering  <jim@meyering.net>
108751         Merge from coreutils.
108753         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
108755         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
108756         an empty input stream.
108758         * lib/readtokens.c: Include <stdbool.h>.
108759         (readtoken): Use `size_t' rather than int/long.
108760         All callers adjusted.
108761         Use `bool' rather than `int' where appropriate.
108762         Use memset rather than an explicit loop.
108763         Use x2nrealloc rather than xrealloc.
108764         Allow the use of `\0' as a delimiter.
108765         (readtokens): Likewise.
108766         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
108768 2004-03-30  Jim Meyering  <jim@meyering.net>
108770         * m4/realloc.m4: Remove file, since now it does no more than
108771         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
108772         the `configure.ac' section of module/realloc.
108773         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
108775 2004-03-30  Bruno Haible  <bruno@clisp.org>
108777         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
108778         nonnull.
108780 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108782         Merge changes to getloadavg.c from coreutils and Emacs.
108784         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
108785         Define to an expression, not to the empty string.
108786         Include cloexec.h and xalloc.h.
108787         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
108788         Use set_cloexec_flag rather than rolling our own.
108789         * lib/cloexec.c, lib/cloexec.h: New files.
108791 2004-03-29  Paul Eggert  <eggert@twinsun.com>
108793         * m4/cloexec.m4: New file.
108795 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108797         * lib/getopt.h: Sync with libc CVS.
108799 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108800             Bruno Haible  <bruno@clisp.org>
108802         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
108803         mbswidth.
108805 2004-03-18  Paul Eggert  <eggert@twinsun.com>
108806             Bruno Haible  <bruno@clisp.org>
108808         * lib/mbswidth.h: Include <wchar.h> only if
108809         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
108810         <wchar.h>.
108811         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
108813 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108815         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
108816         Sync with libc CVS.
108817         * lib/getopt_int.h: New file, also synced from libc.
108819 2004-03-09  Paul Eggert  <eggert@twinsun.com>
108821         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
108822         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
108823         Bring back getopt.c, getopt.h, getopt1.c.
108825 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108827         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
108828         All uses changed.  Check for sa_sigaction member; this fixes
108829         a bug first reported by Jason Andrade in
108830         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108832 2004-03-07  Paul Eggert  <eggert@twinsun.com>
108834         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
108835         '#if' expressions.  Unlike the code it replaces, it does not
108836         depend on (defined _SC_PAGESIZE).  However, it does depend on
108837         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
108838         first reported by Jason Andrade in
108839         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
108841 2004-02-25  Simon Josefsson  <jas@extundo.com>
108843         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
108845 2004-02-25  Simon Josefsson  <jas@extundo.com>
108847         * lib/strdup.h: New file.
108848         * lib/strdup.c: Include it.
108849         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
108850         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
108852 2004-02-23  Karl Berry  <karl@gnu.org>
108854         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
108855         (from fencepost.gnu.org:/gd/gnuorg).
108857 2004-02-23  Karl Berry  <karl@gnu.org>
108859         * config/srclistvars.sh (GNUORG) [karl]: redefine.
108860         * config/srclist.txt: add maintain/standards documents.
108862 2004-02-18  Bruno Haible  <bruno@clisp.org>
108864         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
108865         Reported by Derek Robert Price <derek@ximbiot.com>.
108867 2004-02-16  Karl Berry  <karl@gnu.org>
108869         * config/mkinstalldirs, install-sh: update from automake.
108871 2004-02-06  Karl Berry  <karl@gnu.org>
108873         * m4/po.m4: update from gettext 0.14.1.
108875 2004-02-06  Karl Berry  <karl@gnu.org>
108877         * lib/config.charset: update from gettext 0.14.1.
108879 2004-02-05  Paul Eggert  <eggert@twinsun.com>
108881         Add comments and code, prompted by suggestions from Bruno Haible
108882         for sh-quote.
108883         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
108884         describing the enum quoting_style values.
108885         * lib/quotearg.c (quotearg_alloc): New function.
108886         (quotearg_buffer_restyled): Treat lone { and } as special.
108887         Treat = as special.  Work around bug with older shells
108888         that "see" a '\' that is really the 2nd byte of a multibyte char.
108889         Quote empty string with shell_quoting_style.
108891 2004-02-03  Bruno Haible  <bruno@clisp.org>
108893         * m4/pipe.m4: New file, from GNU gettext.
108895 2004-02-03  Bruno Haible  <bruno@clisp.org>
108897         * lib/pipe.h: New file, from GNU gettext.
108898         * lib/pipe.c: New file, from GNU gettext.
108900 2004-01-27  Bruno Haible  <bruno@clisp.org>
108902         * m4/execute.m4: New file, from GNU gettext.
108904 2004-01-27  Bruno Haible  <bruno@clisp.org>
108906         * lib/execute.h: New file, from GNU gettext.
108907         * lib/execute.c: New file, from GNU gettext.
108908         * lib/w32spawn.h: New file, from GNU gettext.
108910 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108912         Merge from diffutils.
108914         * lib/file-type.c (file_type): Add typed memory objects.
108915         * lib/file-type.h (S_TYPEISTMO): New macro.
108917         * lib/c-stack.h (c_stack_action): Remove argv argument.
108918         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
108919         (die): Don't calculate message unless segv_action returns.
108920         (get_stack_location, min_address_from_argv, max_address_from_argv,
108921         volatile stack_base, volatile_stack_size): Remove.
108922         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
108923         that every segmentation violation is a stack overflow.  (Ouch!)
108924         See Debian bug 136249 (still outstanding) for more info about why
108925         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
108927 2004-01-24  Paul Eggert  <eggert@twinsun.com>
108929         Exit-status fix from coreutils.
108931         Use exit_failure consistently in place of EXIT_FAILURE,
108932         so that program exit statuses are consistent on failure.
108934         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
108935         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
108936         * lib/argmatch.h: Comment fix to match the above.
108937         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
108938         Now a macro referring to exit_failure, instead of a separate
108939         variable.  Include "exitfail.h" to get it.
108940         * lib/xstrtol.h: Include "exitfail.h".
108941         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
108943         * lib/long-options.c (parse_long_options): Use prototype
108944         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
108945         for clarity.
108947 2004-01-21  Jim Meyering  <jim@meyering.net>
108949         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
108950         so as not to conflict with a different-sized __mktime_internal
108951         function in GNU libc.
108952         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
108953         Problem building statically-linked `ls' reported by Michael Brunnbauer.
108955 2004-01-20  Karl Berry  <karl@gnu.org>
108957         * config/config.guess: update from config.
108959         * config/srclistvars.sh: GNUWWWLICENSES for karl.
108961 2004-01-20  Bruno Haible  <bruno@clisp.org>
108963         Safer stack allocation.
108964         * lib/setenv.c: Include allocsa.h.
108965         (alloca): Remove fallback definition.
108966         (freea): Remove macro.
108967         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
108968         instead of freea.
108970 2004-01-20  Bruno Haible  <bruno@clisp.org>
108972         * m4/eealloc.m4: New file, from GNU gettext.
108974 2004-01-20  Bruno Haible  <bruno@clisp.org>
108976         * m4/allocsa.m4: New file, from GNU gettext.
108978 2004-01-20  Bruno Haible  <bruno@clisp.org>
108980         * lib/xallocsa.h: New file, from GNU gettext.
108981         * lib/xallocsa.c: New file, from GNU gettext.
108983 2004-01-20  Bruno Haible  <bruno@clisp.org>
108985         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
108987 2004-01-20  Bruno Haible  <bruno@clisp.org>
108989         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
108990         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
108991         specially.
108993 2004-01-20  Bruno Haible  <bruno@clisp.org>
108995         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
108996         patch.
108998 2004-01-20  Bruno Haible  <bruno@clisp.org>
109000         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
109002 2004-01-20  Bruno Haible  <bruno@clisp.org>
109004         * lib/eealloc.h: New file.
109006 2004-01-20  Bruno Haible  <bruno@clisp.org>
109008         * lib/binary-io.h: Avoid warnings on Cygwin.
109010 2004-01-20  Bruno Haible  <bruno@clisp.org>
109012         * lib/allocsa.h: New file, from GNU gettext.
109013         * lib/allocsa.c: New file, from GNU gettext.
109015 2004-01-18  Karl Berry  <karl@gnu.org>
109017         * doc/gpl.texi, doc/lgpl.texi: new files.
109019 2004-01-18  Karl Berry  <karl@gnu.org>
109021         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
109022         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
109024 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109026         Merge from coreutils.
109028         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
109029         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
109030         (gl_DEFAULT_POSIX2_VERSION): Move
109031         the documentation from 'configure' into 'config.hin',
109032         so that 'configure --help' isn't burdened by it and
109033         we don't have to worry about its formatting there.
109034         Reword the documentation so that it's more succinct
109035         and can be run together into a single paragraph.
109036         * m4/same.m4 (gl_SAME): Check for pathconf.
109038 2004-01-15  Paul Eggert  <eggert@twinsun.com>
109040         Merge from coreutils.
109042         * lib/posixver.c: Include posixver.h.
109044         * lib/same.c: Include <stdbool.h>, <limits.h>.
109045         (_POSIX_NAME_MAX): Define if not defined.
109046         (MIN): New macro.
109047         (same_name): If file names are silently truncated, report
109048         that the file names are the same if they are the same after
109049         the silent truncation.
109051         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
109052         conversion function.
109053         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
109054         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
109055         longer needed.
109057 2004-01-15  Jim Meyering  <jim@meyering.net>
109059         Merge from coreutils.
109061         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
109062         if no library is required.
109063         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
109064         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
109065         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
109066         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
109067         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
109068         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
109069         value, $ac_cv_search_crypt, if it's "none required".
109070         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
109071         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
109072         not gl_FUNC_GETLOADAVG.
109073         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
109074         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
109076 2004-01-15  Jim Meyering  <jim@meyering.net>
109078         Merge from coreutils.
109080         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
109081         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
109082         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
109084         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
109085         optional configure-time default.
109087         * lib/version-etc.c (version_etc_copyright): Update copyright date.
109089         * lib/xreadlink.c (xreadlink): Correct outdated comment.
109091 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
109093         Merge from coreutils.
109095         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
109096         value, $ac_cv_search_nanosleep, if it's "none required".
109098 2004-01-14  Paul Eggert  <eggert@twinsun.com>
109100         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
109101         with like-named macro in fnmatch.c.
109102         (EXT): Use an internal constant instead.
109104         Merge fnmatch patches from glibc.
109105         * lib/fnmatch.c (mbsinit): Remove define.
109106         Add libc_hidden_ver (__fnmatch, fnmatch).
109107         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
109108         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
109110 2004-01-14  Karl Berry  <karl@gnu.org>
109112         * config/install-sh: update from automake.
109114 2004-01-13  Karl Berry  <karl@gnu.org>
109116         * config/install-sh: update from automake.
109118 2004-01-09  Karl Berry  <karl@gnu.org>
109120         * config/install-sh: update from automake.
109122 2004-01-05  Karl Berry  <karl@gnu.org>
109124         * config/config.{sub,guess}: update from config.
109126 2003-12-31  Karl Berry  <karl@gnu.org>
109128         * config/depcomp: update from automake.
109130 2003-12-14  Karl Berry  <karl@gnu.org>
109132         * lib/config.charset: update from gettext-runtime.
109134 2003-12-03  Paul Eggert  <eggert@twinsun.com>
109136         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
109137         Bug reported by Alfred M. Szmidt.
109139 2003-12-03  Bruno Haible  <bruno@clisp.org>
109141         * m4/gettext.m4: Upgrade from gettext-0.13.
109142         * m4/po.m4: Upgrade from gettext-0.13.
109143         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
109144         * m4/intmax.m4: New file, from gettext-0.13.
109145         * m4/printf-posix.m4: New file, from gettext-0.13.
109147 2003-11-29  Karl Berry  <karl@gnu.org>
109149         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
109151 2003-11-25  Paul Eggert  <eggert@twinsun.com>
109152             Bruno Haible  <bruno@clisp.org>
109154         * lib/printf-parse.h: Don't include sys/types.h.
109155         (ARG_NONE): New macro.
109156         (char_directive): Change type of *arg_index fields to size_t.
109157         * lib/printf-parse.c: Don't include sys/types.h.
109158         (SSIZE_MAX): Remove macro.
109159         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
109160         Remove unnecessary overflow check.
109161         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
109162         fields.
109164 2003-11-25  Bruno Haible  <bruno@clisp.org>
109166         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
109168 2003-11-25  Bruno Haible  <bruno@clisp.org>
109170         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
109171         gt_TYPE_SSIZE_T.
109173 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109175         * modules/alloca: Remove dependency on xalloc.
109177 2003-11-24  Paul Eggert  <eggert@twinsun.com>
109179         * lib/alloca.c: Remove dependency on xalloc module.
109180         (xalloc_die): Remove.
109181         (memory_full) [!defined emacs]: New macro.
109182         [!defined emacs]: Don't include xalloc.h.
109183         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
109184         address arithmetic overflows.  Change datatypes a bit to avoid
109185         unnecessary casts.
109187 2003-11-22  Jim Meyering  <jim@meyering.net>
109189         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
109190         s/size/size_t/.
109192 2003-11-21  Karl Berry  <karl@gnu.org>
109194         * config/config.{sub,guess}: update from config.
109196 2003-11-18  Karl Berry  <karl@gnu.org>
109198         * config/config.{sub,guess}: update from config.
109200         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
109202 2003-11-17  Paul Eggert  <eggert@twinsun.com>
109204         * README: Mention that S+T cannot overflow if S is the size of
109205         an existing object and T is sufficiently small.
109207 2003-11-17  Jim Meyering  <jim@meyering.net>
109209         On systems without utime and without a utimes function capable of
109210         dealing with a NULL struct utimbuf* argument, this utime replacement
109211         could -- in unusual circumstances -- leak a file descriptor.
109212         * lib/utime.c: Include <unistd.h> and <errno.h>.
109213         (utime_null): Be sure to close `fd' and to preserve errno.
109214         Reported by Geoff Collyer via Arnold Robbins.
109216 2003-11-17  Bruno Haible  <bruno@clisp.org>
109218         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
109219         (Depends-on): Add xsize.
109221 2003-11-17  Bruno Haible  <bruno@clisp.org>
109223         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
109225 2003-11-17  Bruno Haible  <bruno@clisp.org>
109227         * lib/vasnprintf.c (alloca): Remove fallback definition.
109228         (freea): Remove definition.
109229         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
109230         Reported by Paul Eggert.
109232 2003-11-16  Paul Eggert  <eggert@twinsun.com>
109233             Bruno Haible  <bruno@clisp.org>
109235         Protect against address arithmetic overflow.
109236         * lib/printf-args.h: Include stddef.h.
109237         (arguments): Change type of field 'count' to size_t.
109238         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
109239         'unsigned int' where appropriate.
109240         * lib/printf-parse.h: Include sys/types.h.
109241         (char_directive): Change type of *arg_index fields to ssize_t.
109242         (char_directives): Change type of fields 'count', max_*_length to
109243         size_t.
109244         * lib/printf-parse.c: Include sys/types.h and xsize.h.
109245         (SSIZE_MAX): Define fallback value.
109246         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
109247         instead of 'int' where appropriate. Check a_allocated, d_allocated
109248         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
109249         * lib/vasnprintf.c: Include xsize.h.
109250         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
109251         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
109252         overflow. Avoid wraparound when converting a width or precision from
109253         decimal to binary.
109255 2003-11-16  Bruno Haible  <bruno@clisp.org>
109257         Update from GNU gettext.
109258         * lib/printf-parse.c: Generalize to it can be compiled for wide
109259         strings.
109260         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
109261         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
109262         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
109263         SNPRINTF): New macros.
109264         Don't include <alloca.h> if the file is used inside libintl.
109265         (local_wcslen): New function, for Solaris 2.5.1.
109266         (VASNPRINTF): Use it instead of wcslen.
109268 2003-11-16  Bruno Haible  <bruno@clisp.org>
109270         * lib/xsize.h (xmax): New function.
109271         (xsum, xsum3, xsum4): Declare as "pure" functions.
109273 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109275         * modules/xalloc (Files): Undo latest change, since xalloc.h
109276         no longer needs SIZE_MAX or PTRDIFF_MAX.
109278 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109280         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
109281         gl_PTRDIFF_MAX.
109283 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109285         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
109286         "return", to pacify some unknown compiler.  Problem reported
109287         by Joerg Schilling.
109289 2003-11-12  Paul Eggert  <eggert@twinsun.com>
109291         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
109292         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
109293         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
109294         heuristic is just as accurate as far as we know, and it removes a
109295         dependency on size_max.m4 and ptrdiff_max.m4.
109297 2003-11-11  Bruno Haible  <bruno@clisp.org>
109299         * modules/xsize (Files): Add m4/size_max.m4.
109300         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
109302 2003-11-11  Bruno Haible  <bruno@clisp.org>
109304         * m4/size_max.m4: New file.
109305         * m4/ptrdiff_max.m4: New file.
109306         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
109307         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
109308         (gl_XALLOC): Invoke it.
109310 2003-11-11  Bruno Haible  <bruno@clisp.org>
109312         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
109313         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
109314         defined.
109316 2003-11-10  Paul Eggert  <eggert@twinsun.com>
109318         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
109319         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
109320         rejected some allocations of exactly SIZE_MAX - 2 bytes.
109321         From Bruno Haible.
109322         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
109323         not (size_t) -1, since it's defined here.
109325 2003-11-09  Karl Berry  <karl@gnu.org>
109327         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
109329 2003-11-06  Paul Eggert  <eggert@twinsun.com>
109331         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
109332         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
109333         Reject sizes of exactly SIZE_MAX bytes.
109334         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
109335         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
109337 2003-11-05  Bruno Haible  <bruno@clisp.org>
109339         * lib/xsize.h: Include limits.h, to avoid a possible collision with
109340         SIZE_MAX defined in <limits.h> on Solaris.
109342 2003-11-04  Jim Meyering  <jim@meyering.net>
109344         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
109345         variable names, rather than @VAR@.
109346         * modules/poll: Likewise.
109348 2003-11-04  Bruno Haible  <bruno@clisp.org>
109350         * modules/xsize: New file.
109351         * modules/linebreak: Depend on xsize.
109352         * MODULES.html.sh (func_all_modules): Add xsize.
109354 2003-11-04  Bruno Haible  <bruno@clisp.org>
109356         * m4/xsize.m4: New file.
109358 2003-11-04  Bruno Haible  <bruno@clisp.org>
109360         * lib/xsize.h: New file.
109361         * lib/linebreak.c: Include xsize.h.
109362         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
109363         argument for overflow.
109364         Suggested by Paul Eggert.
109366 2003-11-03  Karl Berry  <karl@gnu.org>
109368         * config/config.{guess,sub}: update from config.
109370 2003-11-03  Jim Meyering  <jim@meyering.net>
109372         * modules/userspec (lib_SOURCES): Add userspec.h.
109373         (Include): Add "userspec.h".
109374         Improve description.
109376 2003-11-03  Jim Meyering  <jim@meyering.net>
109378         * lib/userspec.c: Include "userspec.h".
109379         * lib/userspec.h: New file.
109381 2003-11-03  Bruno Haible  <bruno@clisp.org>
109383         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
109385 2003-11-03  Bruno Haible  <bruno@clisp.org>
109387         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
109388         available, to avoid (extremely rare) race condition.
109389         Suggested by Paul Eggert.
109391 2003-11-02  Karl Berry  <karl@gnu.org>
109393         * config/srclist.txt (vasprintf.c): sync broken, sigh.
109395 2003-10-31  Paul Eggert  <eggert@twinsun.com>
109397         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
109398         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
109399         (read_filesystem_list): Set and use me_type_malloced.
109400         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
109401         whatever the type happens to be), for brevity and consistency.
109402         Check for size calculation overflow on Alphas running OSF/1.
109404 2003-10-31  Jim Meyering  <jim@meyering.net>
109406         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
109408         * lib/linebuffer.c: Include <string.h> for declaration of memset.
109410 2003-10-30  Paul Eggert  <eggert@twinsun.com>
109411             Bruno Haible  <bruno@clisp.org>
109413         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
109414         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
109416 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
109418         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
109419         netbsd*-gnu*.  Suggested by Robert Millan.
109421 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109423         * modules/group-member: Depend on stdbool.
109425 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109427         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
109429 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109431         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
109432         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
109433         after the 'gnu' in these cases.  This fixes some bugs in the
109434         previous change, and is based on suggestions by Robert Millan.
109436 2003-10-29  Paul Eggert  <eggert@twinsun.com>
109438         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
109439         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
109440         no longer needed.
109441         * lib/quotearg.c (quotearg_n_options): Use it.
109442         * lib/group-member.c: Include <stdbool.h>.
109443         (free_group_info): Arg is now const *; don't free arg.
109444         (get_group_info): Now returns bool and accepts struct group_info *,
109445         rather than returning a malloc'ed struct group_info *.
109446         All uses changed.  Check for overflow in internal size calculation.
109448         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
109449         rather than xmalloc/xrealloc.
109450         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
109451         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
109452         conformance bug: the old code used a pointer after freeing the
109453         storage that it addressed.
109454         * lib/hash.c (hash_initialize): Simplify the code by using
109455         xalloc_oversized rather than doing it by hand.
109456         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
109457         the buffer preserved.  Use free and xmalloc instead.
109458         * lib/quotearg.c (quotearg_n_options): Likewise.
109459         Use a simpler test for size overflow.  Don't use xalloc_oversized
109460         because unsigned int might be wider than size_t (!); this suggests
109461         that we should switch from unsigned int to size_t for slot numbers.
109463 2003-10-28  Paul Eggert  <eggert@twinsun.com>
109465         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
109466         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
109467         NetBSD kernels.  Requested by Richard Stallman.
109469 2003-10-27  Paul Eggert  <eggert@twinsun.com>
109471         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
109472         to allocate the returned structure.  Do not allocate a subarray,
109473         as x2nrealloc will do that.
109474         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
109475         instead of xnrealloc.
109476         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
109478 2003-10-27  Bruno Haible  <bruno@clisp.org>
109480         * lib/stdbool_.h: Better support for BeOS.
109482 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109484         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
109485         now uses inline.
109487 2003-10-26  Paul Eggert  <eggert@twinsun.com>
109489         * lib/xalloc.h (xalloc_oversized): New static inline function, for
109490         callers that want to do their own size-overflow checking.  Include
109491         <stdbool.h>, since xalloc_oversized returns bool.
109492         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
109493         to use xalloc_oversized.
109495         Add two functions x2realloc, x2nrealloc, for programs that grow
109496         arrays dynamically by doubling their sizes.
109497         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
109498         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
109499         New functions.
109501         Port to C99 semantics for 'inline' of external functions.
109502         Bug reported by Bruno Haible.
109503         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
109504         with the old contents of xnmalloc.
109505         (xnmalloc, xmalloc): Use it.
109506         (xnrealloc_inline): New static inline function,
109507         with the old contents of xnrealloc.
109508         (xnrealloc, xrealloc): Use it.
109510         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
109511         that.
109513 2003-10-26  Karl Berry  <karl@gnu.org>
109515         * config/srclist.txt (COPYING.DOC): no longer available from
109516         /gd/gnuorg; don't know where the ultimate source is.
109518 2003-10-25  Paul Eggert  <eggert@twinsun.com>
109520         Fix several address-calculation bugs in the hash modules,
109521         plus some minor code cleanup.
109523         * lib/hash.h: Include <stdbool.h>, for bool.
109524         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
109525         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
109526         hash_get_n_entries, hash_get_max_bucket_length,
109527         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
109528         hash_rehash): Use size_t rather than unsigned.
109529         * lib/hash.c (struct hash_table, hash_get_n_buckets,
109530         hash_get_n_buckets_used, hash_get_n_entries,
109531         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
109532         hash_get_entries, hash_do_for_each, hash_string, is_prime,
109533         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
109534         Likewise.
109535         (SIZE_MAX): Define if not defined.
109536         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
109537         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
109538         hash_print):
109539         Use const * when possible.
109540         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
109541         (check_tuning): Fix bug: if tuning parameters were very close to
109542         0 or 1, rounding errors could have caused subscript violations.
109543         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
109544         (hash_initialize): Add 'fail:' label
109545         to free table and return NULL, and use it to simplify code.
109546         Use calloc rather than clearing the storage ourself.
109547         (hash_initialize, hash_rehash): Check for arithmetic overflow in
109548         buffer size calculations.
109549         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
109550         Include <stddef.h>, for size_t.
109551         * lib/hash-pjw.c (hash_pjw): Likewise.
109552         Switch to method described by Bruno Haible.
109553         Include <limits.h>, for CHAR_BIT.
109554         (SIZE_BITS): New macro.
109556 2003-10-23  Paul Eggert  <eggert@twinsun.com>
109558         * m4/getline.m4 (AM_FUNC_GETLINE):
109559         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
109560         hosts.  Problem reported by Derek Robert Price in
109561         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
109562         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
109563         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
109565 2003-10-21  Paul Eggert  <eggert@twinsun.com>
109567         * lib/getndelim2.c (getndelim2): When size calculation overflows,
109568         ceiling the allocation at NMAX bytes rather than silently
109569         discarding input bytes before NMAX is reached.  This makes
109570         a difference only if NMAX exceeds SIZE_MAX / 2.
109572         * lib/obstack.c: Merge from glibc.
109573         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
109574         Add libc_hidden_def (_obstack_newchunk).
109575         (_obstack_free) [! defined _LIBC]: Remove.
109576         [defined _LIBC]: Make a strong alias from obstack_free, rather than
109577         a clone of the function body.
109578         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
109579         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
109581         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
109582         glibc.
109583         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
109584         arg to memcpy.
109586         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
109587         (obstack_ptr_grow_fast, obstack_int_grow_fast):
109588         Don't use lvalue casts, as GCC plans to remove support for them
109589         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
109590         was also present in the non-GCC version, indicating that this
109591         code had always been buggy and had never been widely used.
109592         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
109593         Use the fast variant of each macro, rather than copying the
109594         definiens of the fast variant; that way, we'll be more likely to
109595         catch future bugs in the fast variants.
109597 2003-10-20  Bruno Haible  <bruno@clisp.org>
109599         * modules/wait-process: New file.
109600         * MODULES.html.sh (func_all_modules): Add wait-process.
109602 2003-10-20  Bruno Haible  <bruno@clisp.org>
109604         * m4/wait-process.m4: New file.
109606 2003-10-20  Bruno Haible  <bruno@clisp.org>
109608         * lib/wait-process.h: New file, from GNU gettext.
109609         * lib/wait-process.c: New file, from GNU gettext.
109611 2003-10-19  Jim Meyering  <jim@meyering.net>
109613         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
109614         HPUX 10.20.
109616 2003-10-18  Karl Berry  <karl@gnu.org>
109618         * config/config.guess: update from config.
109620 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109622         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
109623         (getgroups): First arg is int, not size_t.
109624         Don't let 'free' mangle errno.
109626 2003-10-16  Paul Eggert  <eggert@twinsun.com>
109628         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
109630 2003-10-16  Karl Berry  <karl@gnu.org>
109632         * config/config.{guess,sub}: update from config.
109634 2003-10-16  Jim Meyering  <jim@meyering.net>
109636         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
109637         memcpy.
109639 2003-10-15  Paul Eggert  <eggert@twinsun.com>
109641         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
109642         (SIZE_MAX): Remove.
109643         (new_exclude, add_exclude_file): Initial size no longer needs to
109644         be a power of 2.
109645         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
109646         our own address arithmetic overflow checking.
109648         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
109649         (fnmatch): Do not alloca more than 2000 wide characters;
109650         instead, use malloc for large buffers.
109651         Check for address arithmetic overflow, and return -1
109652         with errno set to ENOMEM in that case.
109653         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
109654         (NEW_PATTERN): Do not alloca more than 8000 bytes;
109655         instead, return -1.  Check for address arithmetic overflow.
109657 2003-10-14  Paul Eggert  <eggert@twinsun.com>
109659         Handle invalid suffixes and overflow independently, so that
109660         callers can treat them independently as needed.  Fix some bugs in
109661         suffix handling, e.g., "100k@" was not diagnosed as an invalid
109662         suffix for a human-readable blocksize.  The major caller-visible
109663         change is the addition of a new
109664         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
109665         that both overflow and suffix chars were found.
109667         * lib/human.c (humblock): Don't check separately for invalid suffix
109668         char; that is xstrtoumax's job (now that its bug is fixed).
109669         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
109670         INTMAX_MAX]: New macros.
109671         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
109672         TYPE_MAXIMUM): New macros.
109673         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
109674         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
109675         if overflow occurs, as it's what __strtol does and it's more useful
109676         in practice.
109677         (__xstrtol): If __strtol reports some error other than ERANGE,
109678         reflect it to the caller as LONGINT_INVALID.  If it reports
109679         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
109680         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
109681         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
109682         value.
109683         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
109684         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
109685         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
109686         [defined UINTMAX_MAX]: New macros.
109688 2003-10-14  Bruno Haible  <bruno@clisp.org>
109690         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
109692 2003-10-14  Bruno Haible  <bruno@clisp.org>
109694         * m4/sig_atomic_t: New file, from GNU gettext.
109695         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
109697 2003-10-14  Bruno Haible  <bruno@clisp.org>
109699         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
109700         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
109701         Also use volatile where needed.
109703 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109705         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
109706         Change maintainer from Bruno Haible to 'all'.
109708 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109710         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
109712 2003-10-12  Paul Eggert  <eggert@twinsun.com>
109714         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
109715         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
109716         and define in terms of the other primitives.
109717         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
109718         (SIZE_MAX): Define if not already defined.
109719         (array_size_overflow): New function.
109720         (xalloc_die): Abort instead of exiting if 'error' returns.
109721         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
109722         (xmalloc, xrealloc): Use them.
109723         (xcalloc): Check for address arithmetic overflow.
109724         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
109725         a bit faster than strcpy.
109727 2003-10-10  Simon Josefsson  <jas@extundo.com>
109729         * modules/argp (Depends-on): Add restrict and strcase.
109731 2003-10-10  Simon Josefsson  <jas@extundo.com>
109733         * m4/argp.m4: Add AC_C_INLINE.
109735 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109737         Merge getpass from libc, plus a few fixes.
109739         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
109740         Include <stdbool.h>.
109741         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
109742         __fsetlocking to empty.
109743         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
109744         do include <bits/libc-lock.h>.
109745         Do not include <fcntl.h>; not needed.
109746         [_LIBC]: Include <wchar.h>.
109747         (NOTCANCEL_MODE): New macro.
109748         (flockfile, funlockfile) [_LIBC]: New macros.
109749         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
109750         [!_LIBC]: New macros.
109751         (call_fclose): New function.
109752         (getpass): Use it.  Save tty stream separately; this simplifies the
109753         code and makes it more reliable if stdin happens to equal stdout.
109754         Invoke __fsetlocking on tty.
109755         Handle thread cancellation if needed.
109756         Namespace cleanup (use __tcgetattr, __getline).
109757         Use bool for Booleans.
109758         [USE_IN_LIBIO]: Handle wide streams.
109759         [!_LIBC]: Unconditionally do the fseek, since we don't know what
109760         stream might go where.
109762         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
109763         doesn't have to include <stdio.h> before us.
109764         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
109765         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
109766         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
109767         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
109768         if not declared, so that we can use getpass.c code from libc without
109769         rewriting it.
109770         (flockfile, ftrylockfile, funlockfile): New macros.
109772 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109774         * modules/getpass: Depend on stdbool.
109776 2003-10-08  Paul Eggert  <eggert@twinsun.com>
109778         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
109780 2003-10-07  Karl Berry  <karl@gnu.org>
109782         * config/config.{guess,sub}: update from config.
109784 2003-10-06  Jim Meyering  <jim@meyering.net>
109785             Bruno Haible  <bruno@clisp.org>
109787         This lets translators provide better translations for the
109788         "Written by ..." part of --version output.
109789         * lib/version-etc.h: Include stdarg.h.
109790         (version_etc_copyright): Declare as readonly.
109791         (version_etc): Make this function variadic with a NULL-terminated list
109792         of author name strings.
109793         (version_etc_va): New declaration.
109794         * lib/version-etc.c: Include stdarg.h, stdlib.h.
109795         (version_etc_copyright): Declare as readonly.
109796         (version_etc_va): New function. Provide a different translatable string
109797         for each possible number of authors < 10. Abbreviate when there are 10
109798         authors or more.
109799         (version_etc): Make this function variadic. Call version_etc_va.
109800         Suggestion from Gary V. Vaughan.
109802         * lib/long-options.h (parse_long_options): Change prototype: the
109803         authors string is moved to the end and becomes variadic.
109804         * lib/long-options.c: Include stdarg.h.
109805         (parse_long_options): Make this function variadic, too.
109806         Call version_etc_va, not version_etc.
109808 2003-10-06  Bruno Haible  <bruno@clisp.org>
109810         * modules/version-etc-2: Remove file.
109811         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
109813 2003-10-06  Bruno Haible  <bruno@clisp.org>
109815         * modules/fatal-signal: New file.
109816         * MODULES.html.sh (func_all_modules): Add fatal-signal.
109818 2003-10-06  Bruno Haible  <bruno@clisp.org>
109820         * m4/fatal-signal.m4: New file.
109821         * m4/signalblocking.m4: New file, from GNU gettext.
109823 2003-10-06  Bruno Haible  <bruno@clisp.org>
109825         * lib/version-etc-2.h: Remove file.
109826         * lib/version-etc-2.c: Remove file.
109828 2003-10-06  Bruno Haible  <bruno@clisp.org>
109830         * lib/fatal-signal.h: New file, from GNU gettext.
109831         * lib/fatal-signal.c: New file, from GNU gettext.
109833 2003-10-05  Paul Eggert  <eggert@twinsun.com>
109835         * README: Rework advice for preventing empty .o files.
109836         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
109837         not <sys/types.h>.
109839 2003-10-04  Karl Berry  <karl@gnu.org>
109841         * lib/argp*: update from libc.
109843 2003-10-04  Karl Berry  <karl@gnu.org>
109845         * config/config.{guess,sub}: update from config.
109847 2003-10-02  Bruno Haible  <bruno@clisp.org>
109849         * modules/lchown (Include): Add lchown.h.
109850         * modules/time_r (Include): Use "..." syntax.
109851         * modules/xgetdomainname (Include): Add xgetdomainname.h.
109853 2003-10-01  Simon Josefsson  <jas@extundo.com>
109855         * MODULES.html.sh (func_all_modules): Move gethostname from section
109856         'based on' to section 'lacking' POSIX:2001.
109858 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
109860         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
109861         to output mode on the same stream.
109863 2003-09-29  Paul Eggert  <eggert@twinsun.com>
109865         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
109866         Fix arg typo in previous patch.
109868 2003-09-28  Jim Meyering  <jim@meyering.net>
109870         * lib/error.c: Correct cpp indentation.
109872 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109874         * modules/free: New file.
109876 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109878         * m4/free.m4: New file.
109880 2003-09-27  Paul Eggert  <eggert@twinsun.com>
109882         * lib/minmax.h (MIN, MAX)
109883         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
109884         Omit the special code that used __typeof__, since we worry that
109885         it could be more trouble than it's worth.  See:
109886         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
109887         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
109889         * lib/free.c: New file.
109891 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
109893         Trivial fixes to Makefile.am parts of module listings.
109894         * modules/strstr: Append strstr.h to lib_SOURCES.
109895         * modules/strcase: Likewise, for strcase.h.
109897 2003-09-27  Karl Berry  <karl@gnu.org>
109899         * config/mkinstalldirs: update from automake.
109901 2003-09-26  Paul Eggert  <eggert@twinsun.com>
109903         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
109904         (error_tail): Do not loop, reallocating temporary buffer, since
109905         the output cannot contain more wide characters than the input
109906         contains bytes, the size must be big enough already.  This avoids
109907         one potential size overflow calculation.  Check for size overflow
109908         when calculating temporary buffer size.  Free temporary buffer
109909         when done, if it was allocated with malloc; this plugs a memory
109910         leak.  Remove casts from void * to pointers, that are no longer
109911         needed now that we're assuming C89 or better.
109913         Merge error changes from glibc.
109915         * lib/error.c, error.h: Update copyright notice header to match glibc.
109916         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
109917         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
109918         Disable cancellation while printing error.
109919         * lib/error.h: Prepend __ to parameter names.
109921 2003-09-26  Jim Meyering  <jim@meyering.net>
109923         * lib/error.c (error_tail): Move some declarations
109924         into inner scope where the local variables are used.
109926 2003-09-26  Bruno Haible  <bruno@clisp.org>
109928         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
109929         stpncpy().
109930         Don't define stpncpy through config.h; it's now done through stpncpy.h.
109932 2003-09-26  Bruno Haible  <bruno@clisp.org>
109934         * lib/stpncpy.h (gnu_stpncpy): New declaration.
109935         (stpncpy): Define as alias for gnu_stpncpy.
109936         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
109938 2003-09-25  Simon Josefsson  <jas@extundo.com>
109940         * lib/xgetdomainname.h: New file.
109941         * lib/xgetdomainname.c: New file.
109943 2003-09-25  Simon Josefsson  <jas@extundo.com>
109944             Bruno Haible  <bruno@clisp.org>
109946         * modules/getdomainname: New file.
109947         * modules/xgetdomainname: New file.
109948         * MODULES.html.sh (func_all_modules): Add getdomainname,
109949         xgetdomainname.
109951 2003-09-25  Simon Josefsson  <jas@extundo.com>
109952             Bruno Haible  <bruno@clisp.org>
109954         * m4/getdomainname.m4: New file.
109956 2003-09-25  Simon Josefsson  <jas@extundo.com>
109957             Bruno Haible  <bruno@clisp.org>
109959         * lib/getdomainname.h: New file.
109960         * lib/getdomainname.c: New file.
109962 2003-09-25  Karl Berry  <karl@gnu.org>
109964         * lib/argp-fmtstream.c, argp-help.c: update from libc.
109966 2003-09-25  Karl Berry  <karl@gnu.org>
109968         * config/install-sh: update from automake.
109970 2003-09-25  Bruno Haible  <bruno@clisp.org>
109972         * modules/version-etc-2: New file, from modules/version-etc with
109973         modifications.
109974         * MODULES.html.sh (func_all_modules): Add version-etc-2.
109976 2003-09-25  Bruno Haible  <bruno@clisp.org>
109978         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
109979         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
109981 2003-09-24  Simon Josefsson  <jas@extundo.com>
109983         * modules/xgethostname: Add xgethostname.h.
109985 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109987         * lib/linebuffer.c (freebuffer): Don't free the argument, just
109988         the buffer associated with the argument.  Bug reported by
109989         Simon Josefsson.
109991 2003-09-24  Paul Eggert  <eggert@twinsun.com>
109993         * README: Document assumptions that 'int' is at least 32 bits
109994         wide, that integer arithmetic is 2's complement without overflow,
109995         that there are no holes in integer values, that adding sizes of
109996         two nonoverlapping objects can't overflow, and that all-bits-zero
109997         yields scalar zero.  Fix spelling and capitalization typos.
109999 2003-09-19  Karl Berry  <karl@gnu.org>
110001         * lib/argp.h: update from libc.
110003 2003-09-17  Paul Eggert  <eggert@twinsun.com>
110005         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
110006         to avoid spurious warnings like "AC_RUN_IFELSE was called before
110007         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
110009 2003-09-17  Paul Eggert  <eggert@twinsun.com>
110011         * gnulib-tool: Use "test -h", not "test -L", for portability
110012         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
110013         (tags_regexp): Remove, since \| doesn't conform to POSIX.
110014         (sed_extract_prog): Issue s commands one-by-one, rather than
110015         using \| in one s command.
110017 2003-09-16  Paul Eggert  <eggert@twinsun.com>
110019         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
110020         input error, instead of returning NULL the next time we are called
110021         (and therefore losing track of errno).
110023 2003-09-16  Bruno Haible  <bruno@clisp.org>
110025         * gnulib-tool (func_create_testdir): Warn about duplicated
110026         dependencies.
110028 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110030         * modules/argmatch, modules/fatal, modules/obstack,
110031         modules/xalloc, modules/xgethostname: Sort dependencies by
110032         importance, not alphabetically.
110034 2003-09-15  Paul Eggert  <eggert@twinsun.com>
110036         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
110037         fails, so that the caller gets the proper errno.
110039         * lib/readutmp.c (read_utmp): Likewise.
110040         Check for fstat error.  Close stream and free storage
110041         when failing.
110043 2003-09-14  Karl Berry  <karl@gnu.org>
110045         * config/srclist.txt (strdup.c): disable for c89 changes.
110047 2003-09-14  Jim Meyering  <jim@meyering.net>
110049         * lib/getloadavg.c: Correct cpp indentation.
110050         * lib/strdup.c: Likewise.
110051         * lib/vasnprintf.c: Likewise.
110053 2003-09-14  Bruno Haible  <bruno@clisp.org>
110055         * modules/fwriteerror: New file.
110056         * MODULES.html.sh (func_all_modules): Add fwriteerror.
110058 2003-09-14  Bruno Haible  <bruno@clisp.org>
110060         * lib/fwriteerror.h: New file.
110061         * lib/fwriteerror.c: New file.
110063 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110065         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
110066         modules/xgethostname, modules/xalloc: Depend on exit.
110068 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110070         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
110072         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
110073         and AC_MINIX, too, so that their extensions are available.
110075         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
110076         This macro has been superseded by gl_BACKUPFILE.
110078         More patches to assume C89 or better.
110080         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
110082         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
110083         unconditionally.
110084         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
110085         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
110086         Include <string.h>, <stdlib.h> unconditionally.
110087         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
110088         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
110089         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
110090         headers or for string.h.
110091         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
110092         or strtoul.
110094         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
110095         headers.
110096         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
110097         * m4/userspec.m4 (gl_USERSPEC): Likewise.
110098         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
110099         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
110100         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
110101         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
110102         memcpy, memset.
110103         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
110104         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
110105         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
110106         strtol.
110107         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
110108         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
110109         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
110110         strtoul.
110112 2003-09-12  Paul Eggert  <eggert@twinsun.com>
110114         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
110115         * lib/obstack.c [!defined _LIBC]: Likewise.
110116         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
110117         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
110118         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
110120         More changes to assume C89 or better.
110122         * lib/error.c (error_tail): Assume vprintf.
110124         * lib/argmatch.c (getenv): Remove decl.
110125         * lib/progreloc.c (get_full_program_name): Define via prototype.
110126         * lib/setenv.c (clearenv): Likewise.
110127         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
110128         needed.
110129         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
110130         (malloc, memcpy): Remove decls.
110131         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
110132         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
110133         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110134         (memcpy): Remove macro.
110135         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
110136         (__P): Remove.  All uses removed.
110137         (PTR): Remove.  All uses changed to void *.
110138         (CHAR_BIT, NULL): Remove.
110139         (spaces, zeros, memset_space, memset_zero)
110140         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
110141         Remove.
110142         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
110143         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
110144         Define with prototype.
110145         Remove now-unnecessary prototype decl.
110146         (extra_args_spec): Assume ANSI C.  All uses changed.
110147         (extra_args_spec_iso): Remove.
110148         (my_strftime, emacs_strftimeu): Define via prototype.
110149         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
110150         unconditionally.
110151         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
110152         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
110153         (strtoul, strtol): Remove decls.
110154         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
110155         LONG_MAX): Remove.
110156         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
110157         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
110158         (LOCALE_PARAM_PROTO): New macro.
110159         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
110160         (INTERNAL (strtol), strtol): Define with a prototype.
110161         (PARAMS): Remove.  All uses removed.
110162         * lib/tempname.c: Include <string.h> unconditionally.
110163         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
110164         * lib/xgethostname.c (main): Define with a prototype.
110165         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
110166         Include <stdlib.h> unconditionally.
110167         (calloc, malloc, realloc, free): Remove decls.
110168         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
110169         Include <stdlib.h> unconditionally.  Sort include file names.
110170         (strtod): Remove.
110171         (xstrtod): Define with a prototype.
110172         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
110173         (strtol, strtoul): Remove decls.
110175 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110177         More patches to assume C89 or better.
110178         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
110179         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
110180         string.h, memchr, STDC_HEADERS.
110182 2003-09-11  Paul Eggert  <eggert@twinsun.com>
110184         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
110185         Include <stdlib.h>, <string.h> unconditionally.
110186         Remove now-unnecessary cast to char *.
110187         * lib/strnlen.c: Include <string.h> unconditionally.
110188         * lib/yesno.c (yesno): Define with a prototype.
110190 2003-09-11  Bruno Haible  <bruno@clisp.org>
110192         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
110194 2003-09-10  Jim Meyering  <jim@meyering.net>
110196         * lib/error.c: Correct indentation of cpp directives.
110198 2003-09-10  Bruno Haible  <bruno@clisp.org>
110200         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
110201         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
110202         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
110203         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
110204         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
110205         <stdlib.h> and <string.h> checks.
110206         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
110207         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
110209 2003-09-10  Bruno Haible  <bruno@clisp.org>
110211         * lib/strcspn.c: Include <string.h> unconditionally.
110212         * lib/strpbrk.c: Include <string.h> unconditionally.
110213         * lib/strstr.c: Include <string.h> unconditionally.
110214         * lib/unicodeio.c: Include <string.h> unconditionally.
110215         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
110216         * lib/unsetenv.c: Likewise.
110217         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
110218         * lib/yesno.c: Include <stdlib.h> unconditionally.
110219         (rpmatch): Add prototype.
110221 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110223         More patches to assume C89 or better.
110224         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
110225         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
110226         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
110227         or for string.h.
110228         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
110229         stdlib.h.
110230         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
110231         C headers.
110232         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
110233         string.h.
110234         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
110235         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
110236         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
110237         or for string.h.
110238         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
110239         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
110240         C headers.
110241         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
110242         memcpy.
110243         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
110244         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
110245         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
110246         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
110247         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
110248         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
110249         string.h, free.
110250         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
110251         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
110252         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
110253         C headers, or for string.h.
110254         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
110255         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
110256         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
110257         headers, memory.h, stdlib.h, string.h, strings.h.
110258         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
110259         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
110260         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
110261         strchr.
110262         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
110263         headers, memory.h, string.h.
110264         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
110265         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
110266         free.
110267         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
110268         headers.
110269         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
110270         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
110271         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
110272         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
110273         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
110275 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110277         More K&R removal.
110279         * lib/acosl.c (main): Use a prototype.
110280         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
110281         tanl.c: Likewise.
110283         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
110285         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
110286         (getopt, etopt_long, getopt_long_only, _getopt_internal)
110287         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
110288         with a prototype.
110289         * lib/getopt.c (const): Remove macro.
110290         Include <string.h> unconditionally.
110291         (my_index): Remove; all uses changed to strchr.
110292         (strlen): Remove decl.
110293         (exchange): Remove forward decl; no longer needed.
110294         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
110295         Define with prototype.
110296         * lib/getopt1.c (const): Remove macro.
110297         (getopt_long, getopt_long_only, main): Define with prototype.
110299         * lib/getugroups.c: Include <string.h> unconditionally.
110301         * lib/getusershell.c: Include <stdlib.h> unconditionally.
110302         (getusershell, setusershell, endusershell, readname, main):
110303         Define with prototypes.
110305         * lib/group-member.c: Include group-member.h first.
110306         Include <stdlib.h> unconditionally.
110308         * lib/hard-locale.c: Include hard-locale.h first.
110309         Include <stdlib.h>, <string.h> unconditionally.
110311         * lib/hash.c (free, malloc): Remove decls.
110312         Include <stdlib.h> unconditionally.
110314         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
110315         (getenv): Do not declare.
110317         * lib/idcache.c: Include <string.h> unconditionally.
110319         * lib/long-options.c: Include long-options.h first, to test interface.
110320         Include <stdlib.h> unconditionally.
110322         * lib/makepath.c: Include makepath.h first, to test interface.
110323         Include <stdlib.h> and <string.h> unconditionally.
110325         * lib/linebuffer.c: Include <stdlib.h>.
110326         (free): Remove decl.
110328         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
110329         stddef.h. rpl_malloc returns void *, not char *.
110330         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
110331         prototype.
110333         * lib/md5.h: Include <limits.h> unconditionally.
110334         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
110335         (__P): Remove; all uses removed.
110336         * lib/md5.c: Include "md5.h" first.
110337         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
110338         md5_buffer, md5_process_bytes, md5_process_block):
110339         Define with prototypes.
110340         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
110341         * lib/sha.c: Include "sha.h" first.
110342         Include <stdlib.h>, <string.h> unconditionally.
110344         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
110345         * lib/memcmp.c (__ptr_t): Likewise.
110346         * lib/memrchr.c (__ptr_t): Likewise.
110347         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
110348         Include <string.h> unconditionally.
110349         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
110350         * lib/memchr.c: Include <stdlib.h> unconditionally.
110351         * lib/memchr.c (LONG_MAX): Remove.
110352         * lib/memrchr.c (LONG_MAX): Likewise.
110353         * lib/memchr.c (__memchr): Define via a prototype.
110354         * lib/memrchr.c (__memrchr): Likewise.
110355         * lib/memcmp.c (__P): Remove, and remove all uses.
110356         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
110357         Remove forward decls; no longer needed.
110358         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
110359         Use types required by C89 in prototype.
110361         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
110362         * lib/savedir.c: Likewise.
110363         * lib/mkdir.c (free): Remove decl.
110364         * lib/rmdir.c (rmdir): Define with a prototype.
110365         * lib/savedir.c: Include savedir.h first, to test interface.
110367         * lib/mktime.c (STDC_HEADERS): Remove.
110368         Include <stdlib.h>, <string.h> unconditionally.
110370         * lib/modechange.c: Include <stdlib.h> unconditionally.
110371         (malloc): Remove decl.
110373         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
110374         (free): Remove decl.
110376         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
110377         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
110378         (This type really should be intptr_t, but that's a C99ism.)
110379         (_obstack_memcpy): Remove: all uses changed to memcpy.
110380         Include <string.h> unconditionally.
110381         (struct obstack): Assume __STDC__ for types of members
110382         chunkfun, freefun, extra_arg.
110383         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
110384         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
110385         obstack_begin, obstack_specify_allocation,
110386         obstack_specify_allocation_with_arg, obstack_chunkfun,
110387         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
110388         Remove unprototyped decls and the macros that use them.
110389         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
110390         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
110391         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
110392         (defined __STDC__ && __STDC__)]:
110393         Remove nonprototyped code.
110394         Include <stdlib.h> unconditionally.
110395         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
110396         _obstack_allocated_p, _obstack_free, obstack_free,
110397         _obstack_memory_used, print_and_abort):
110398         Define using prototypes.
110399         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
110400         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
110401         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
110402         obstack_next_free, obstack_object_size, obstack_room) [0]:
110403         Remove unused, unprototyped code.
110405         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
110407         * lib/physmem.c (physmem_total, physmem_available, main): Define
110408         with prototypes.
110410         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
110411         (main): Define with a prototype.
110413         * lib/posixver.c (getenv): Remove decl.
110415         * lib/putenv.c (malloc): Returns void *, not char *.
110416         Include <string.h> unconditionally.
110417         (strchr, memcpy, NULL): Do not define.
110419         * lib/readtokens.c: Include readtokens.h first, to test interface.
110420         Include <stdlib.h>, <string.h> unconditionally.
110421         (init_tokenbuffer): Define with a prototype.
110423         * lib/regex.c (PARAMS): Remove.  All uses removed.
110424         All uses of _RE_ARGS removed, too.
110425         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
110426         unconditionally.
110427         (bzero): Assume memset exists.
110428         (memcmp, memcpy, NULL): Remove.
110429         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
110430         char, or assignments to local vars of type signed char.
110431         (init_syntax_once, PREFIX(extract_number_and_incr),
110432         PREFIX(print_partial_compiled_pattern),
110433         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
110434         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
110435         PREFIX(regex_grow_registers), PREFIX(regex_compile),
110436         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
110437         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
110438         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
110439         wcs_compile_range, byte_compile_range, truncate_wchar,
110440         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
110441         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
110442         count_mbs_length, wcs_re_match_2_internal,
110443         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
110444         PREFIX(alt_match_null_string_p),
110445         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
110446         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
110447         regfree, PREFIX(extract_number)): Define with prototype.  Remove
110448         now-unnecessary declaration, if any.
110449         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
110450         regcomp, regexec):
110451         Remove now-unnecessary casts among pointer types.
110452         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
110454         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
110455         (free): Remove decl.
110457         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
110459         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
110460         (free): Remove decl.
110462         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
110463         * lib/xgetcwd.c: Likewise.
110465         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
110466         (free): Remove decl.
110468         * lib/strchrnul.c (strchrnul): Define with a prototype.
110469         Fix bug: c_in was not converted to char before searching.
110471         The following changes are not K&R related:
110473         * lib/group-member.h: Include <sys/types.h>, so that this file is
110474         self-contained.
110475         * lib/makepath.h: Likewise.
110477         * lib/getusershell.c (readname, default_index, line_size, readname):
110478         Use size_t, not int, for sizes.
110479         (readname): If the size overflows, report an error instead of
110480         looping forever.
110482 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110484         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
110485         libc.
110487 2003-09-09  Paul Eggert  <eggert@twinsun.com>
110489         * README: New section: portability guidelines.
110491 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110493         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
110494         C89 spec.
110496 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
110498         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
110500 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110502         Assume C89 or better; remove K&R cruft.
110503         A few of these changes were first proposed by Derek Robert Price
110504         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
110506         * lib/addext.c: Include <string.h> unconditionally.
110507         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
110508         Don't declare getenv or malloc.
110510         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
110511         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
110512         (NULL): Remove.
110513         (find_stack_direction, alloca): Use prototypes.
110515         * lib/atexit.c (atexit): Define using a prototype.
110517         * lib/basename.c, dirname.c, stripslash.c:
110518         Include <string.h> unconditionally.
110520         * lib/bcopy.c: Include <stddef.h>.
110521         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
110523         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
110525         * lib/error.h (error, error_at_line, error_print_progname)
110526         [! (defined (__STDC__) && __STDC__)]: Remove decls.
110527         * lib/error.c: Include error.h first, to check interface.
110528         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110529         (VA_START): Remove; all uses changeed to va_start.
110530         (exit, strerror): Remove decls.
110531         (error_print_progname): Prototype uncondionally.
110532         Don't include <errno.h>; no longer needed.
110533         (private_strerror): Remove.
110534         (error_tail): Always define.
110535         (error, error_at_line): Assume C89 or better; always use prototypes.
110536         * lib/fatal.c: Include "fatal.h" first, to test interface.
110537         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
110538         (VA_START): Remove; all uses changed to va_start.
110539         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
110540         this case.
110541         (exit): Remove decl.
110542         (fatal): Prototype unconditionally.  Assume va_start works.
110543         Abort at end, to pacify gcc.
110545         * lib/euidaccess.c (main): Define with a prototype.
110547         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
110549         * lib/exitfail.c: Include <stdlib.h> unconditionally.
110551         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
110552         prototypes.
110553         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
110554         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
110555         (getenv): Remove decl.
110556         (fnmatch): Define using a prototype.
110557         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
110558         (FCT): Define using a prototype.
110560         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
110562         * lib/gethostname.c: Include <stddef.h>.
110563         (gethostname): Define with prototype.  Length is size_t, not int.
110565 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110567         Assume C89 or better; remove K&R cruft.
110568         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
110569         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
110570         string.h, getenv, malloc.
110571         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
110572         headers.
110573         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
110574         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
110575         do not check for strerror.
110576         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
110577         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
110578         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
110579         do not check for doprnt or vprintf.
110580         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
110581         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
110583 2003-09-08  Paul Eggert  <eggert@twinsun.com>
110585         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
110586         getversion.c should have been removed then, but was accidentally
110587         preserved.
110589         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
110590         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
110592 2003-09-08  Karl Berry  <karl@gnu.org>
110594         * config/config.sub, config.guess, srclistvars.sh: update from savannah
110595                 config, forget about prep.
110597         * config/depcomp, missing: update from automake.
110599 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110601         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
110602         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110604 2003-09-07  Paul Eggert  <eggert@twinsun.com>
110606         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
110607         copy_tm_result.  Bug reported by Simon Josefsson in
110608         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
110610 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110612         * m4/time_r.m4: New file.
110613         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
110614         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
110615         is. Check for timegm declaration.
110616         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
110617         Do not check for gmtime_r.
110618         Replace mktime if __mktime_internal does not exist and if mktime
110619         hasn't been replaced already.
110621 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110623         * lib/time_r.c, lib/time_r.h: New files.
110625         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
110626         __localtime_r.
110627         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
110628         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
110630         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
110631         __gmtime_r.
110632         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
110633         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
110634         Include <time_r.h>.
110636         * lib/timegm.c: Switch to glibc implementation, with the following
110637         changes:
110638         [defined HAVE_CONFIG_H]: Include <config.h>.
110639         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
110640         (__mktime_internal) [!defined _LIBC]: New decl.
110641         (__gmtime_r) [!defined _LIBC]: New macro and function.
110642         (timegm): Use a prototype, since gnulib assumes C89.
110643         Do not bother declaring tmp to be const, as it's not really usefu.
110644         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
110645         (timegm): Declare only if HAVE_DECL_TIMEGM.
110647 2003-09-06  Paul Eggert  <eggert@twinsun.com>
110649         * MODULES.html.sh (func_all_modules): Add time_r.
110650         * modules/time_r: New file.
110651         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
110652         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
110654 2003-09-03  Paul Eggert  <eggert@twinsun.com>
110656         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
110657         Bug reported by Lute Kamstra in
110658         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
110660         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
110661         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
110662         course with correspondingly smaller numbers for tomorrow and
110663         yesterday.  From Tadayoshi Funaba.  Originally installed into
110664         sh-utils on 1999-08-07, but the patch got lost (I guess during the
110665         coreutils merge?).
110667 2003-08-31  Simon Josefsson  <jas@extundo.com>
110669         * modules/timegm: New file.
110670         * MODULES.html.sh (func_all_modules): Add timegm.
110672 2003-08-31  Simon Josefsson  <jas@extundo.com>
110674         * m4/timegm.m4: New file.
110676 2003-08-31  Simon Josefsson  <jas@extundo.com>
110678         * lib/timegm.h: New file.
110679         * lib/timegm.c: New file.  Based on
110680         wget-1.8.2/src/http.c:mktime_from_utc.
110682 2003-08-31  Karl Berry  <karl@gnu.org>
110684         * lib/argp.h: update from libc.
110686 2003-08-28  Bruno Haible  <bruno@clisp.org>
110688         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
110689         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
110690         followed by '#define fnmatch fnmatch_posix' gives an error.
110692 2003-08-28  Bruno Haible  <bruno@clisp.org>
110694         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
110695         warning on QNX, which defines O_BINARY to 000000.
110697 2003-08-27  Jim Meyering  <jim@meyering.net>
110699         * m4/mkstemp.m4: Require that the system mkstemp be able to create
110700         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
110701         would fail after 32.  Reported by Danny Levinson.  Details here:
110702         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
110704 2003-08-24  Bruno Haible  <bruno@clisp.org>
110706         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
110707         MSVC7 <stdio.h> is included later.
110709 2003-08-22  Simon Josefsson  <jas@extundo.com>
110711         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
110713 2003-08-20  Karl Berry  <karl@gnu.org>
110715         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
110717 2003-08-20  Bruno Haible  <bruno@clisp.org>
110719         * modules/progname: New file.
110720         * MODULES.html.sh (func_all_modules): Add progname.
110722 2003-08-20  Bruno Haible  <bruno@clisp.org>
110724         * lib/progname.h: New file, from GNU gettext.
110725         * lib/progname.c: New file, from GNU gettext.
110726         * lib/progreloc.c: New file, from GNU gettext.
110728 2003-08-19  Jim Meyering  <jim@meyering.net>
110730         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
110731         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
110733 2003-08-19  Bruno Haible  <bruno@clisp.org>
110735         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
110736         more.
110738 2003-08-19  Bruno Haible  <bruno@clisp.org>
110740         * lib/xstrdup.c: Assume <string.h> exists.
110742 2003-08-18  Paul Eggert  <eggert@twinsun.com>
110744         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
110745         in makefile rules.
110747 2003-08-18  Jim Meyering  <jim@meyering.net>
110749         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
110750         * m4/lib-ld.m4: Likewise.
110752 2003-08-18  Jim Meyering  <jim@meyering.net>
110754         * lib/setenv.h: Indent nested cpp directive.
110755         * lib/vasnprintf.c: Remove trailing blanks.
110757 2003-08-17  Simon Josefsson  <jas@extundo.com>
110759         * modules/xstrndup: New file.
110760         * MODULES.html.sh (func_all_modules): Add xstrndup.
110762 2003-08-17  Simon Josefsson  <jas@extundo.com>
110764         * modules/argp: Fix autoconf macro name. Add more dependencies.
110766 2003-08-17  Simon Josefsson  <jas@extundo.com>
110768         * m4/xstrndup.m4: New file.
110770 2003-08-17  Simon Josefsson  <jas@extundo.com>
110772         * m4/argp.m4: New file.
110774 2003-08-17  Simon Josefsson  <jas@extundo.com>
110775             Bruno Haible  <bruno@clisp.org>
110777         * lib/xstrndup.h: New file.
110778         * lib/xstrndup.c: New file.
110780 2003-08-17  Bruno Haible  <bruno@clisp.org>
110782         * modules/strndup (Files, Include): Add lib/strndup.h.
110784 2003-08-17  Bruno Haible  <bruno@clisp.org>
110786         * modules/euidaccess (Files): Add lib/euidaccess.h.
110788 2003-08-17  Bruno Haible  <bruno@clisp.org>
110790         * lib/strndup.h: New file.
110792 2003-08-17  Bruno Haible  <bruno@clisp.org>
110794         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
110795         like AC_GNU_SOURCE.
110796         * modules/extensions (configure.ac): Comment out the invocation of
110797         gl_USE_SYSTEM_EXTENSIONS.
110799 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110801         Merges from coreutils, etc.
110802         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
110803         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
110804         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
110805         fixing a typo.
110806         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
110807         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
110809 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110811         Document merge from coreutils.
110812         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
110813         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
110814         * modules/utime: Add m4/utimes-null.m4.
110816 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110818         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
110819         space, undoing this 2003-08-12 change:
110820         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110822 2003-08-16  Paul Eggert  <eggert@twinsun.com>
110824         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
110825         strtoul.c from libc, undoing this 2003-08-12 change:
110826         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
110828 2003-08-16  Jim Meyering  <jim@meyering.net>
110830         Merges from coreutils.
110831         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
110832         prefix.  Adjust cache variables similarly.  Create 500 rather than
110833         just 300 files, to exercise bug on Darwin6.5, too.
110834         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
110835         $missing_dir.
110836         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
110837         AM_SYS_POSIX_TERMIOS.
110838         Reported by mkc@mathdogs.com.
110839         Also change use of $am_cv_sys_posix_termios
110840         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
110841         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
110842         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
110843         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
110844         in /proc/mounts until it finds one with matching device number.  This
110845         is unnecessary when the FILE argument *is* a mount point.  No stat call
110846         is necessary in that case.  So, disable the statvfs-testing code on
110847         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
110848         as RedHat bug# 84846.
110849         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110850         to 1MB, so as not to render systems with no stack size limit (e.g.,
110851         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110852         Include <unistd.h>.  On some systems,
110853         it is required for the definition of _SC_PAGESIZE.
110855 2003-08-16  Jim Meyering  <jim@meyering.net>
110857         Merge from coreutils.
110858         * lib/xstrtoimax.c: #else #if -> #elif.
110859         * lib/xstrtoumax.c: Likewise.
110861 2003-08-16  Jim Meyering  <jim@meyering.net>
110863         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
110864         * m4/utimes.m4: Removed.
110865         * m4/utimes-null.m4: Renamed from utimes.m4.
110867         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
110868         to 1MB, so as not to render systems with no stack size limit (e.g.,
110869         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
110870         Include <unistd.h>.  On some systems,
110871         it is required for the definition of _SC_PAGESIZE.
110873 2003-08-16  Jim Meyering  <jim@meyering.net>
110874         and Paul Eggert  <eggert@cs.ucla.edu>
110876         Merges from coreutils, etc.
110878         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
110879         using the latest version from cvs.  This avoids problems with #line
110880         directives using a vendor (Sun) compiler.
110881         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
110882         Don't set GETGROUPS_LIB here; now it's
110883         done via getgroups.m4's wrapper function.
110884         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
110885         rather than just in sh-util/configure.in, so that the
110886         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
110887         same.
110888         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
110889         AC_FUNC_GETLOADAVG where to find getloadavg.c.
110890         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
110891         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
110892         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
110893         Remove code that is now done by the newly-required macros.
110894         Append $(EXEEXT) to DF_PROG.
110895         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
110896         Do not invoke or require the following here,
110897         since prereq.m4 or some gnulib .m4 now does this for us:
110898         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
110899         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
110900         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
110901         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
110902         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
110903         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
110904         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
110905         AC_FUNC_OBSTACK.
110906         Do not replace the following functions, as this is now the job
110907         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
110908         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
110909         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
110910         atexit getpass, strdup, getpagesize.
110911         Replace 'raise'.
110912         Do not check for the following functions, as this is now the job
110913         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
110914         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
110915         setregid.
110916         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
110917         Check for sys/sysctl.h.
110918         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
110919         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
110920         of checking for ssize_t ourselves.
110922         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
110923         Require every macro that gnulib/modules/* suggests for us.
110924         (jm_PREREQ_ADDEXT): New macro.
110925         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
110926         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
110928         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
110929         (gl_PHYSMEM): Use it.
110930         Also check for `table' function.
110931         Check for new headers and functions.
110932         Add check for sys/sysmp.h.
110933         With suggestions from Kaveh Ghazi.
110934         Ignore headers that are present but cannot be compiled.  This
110935         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
110936         C 5.4.
110938 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110940         Document merge from coreutils.
110941         * modules/userspec: Depend on posixver.
110942         * modules/strftime: Depend on tzset.
110944 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110946         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
110947         rather than tab, after '#' in shell-script copyright notices.
110948         Suggested by Bruno Haible.
110950 2003-08-15  Paul Eggert  <eggert@twinsun.com>
110952         * config/srclist-update: Use three spaces, rather than tab, after '#'
110953         in shell-script copyright notices.  Suggested by Bruno Haible.
110954         Remove unnecessary parenthesization in regular expression.
110956 2003-08-15  Jim Meyering  <jim@meyering.net>
110958         Merge from coreutils.
110959         * lib/xgethostname.c: Include <stdlib.h>.
110960         (xghostname): Don't exit for anything other than memory-related
110961         failure; just return NULL.
110962         * lib/userspec.c: Include "posixver.h".
110963         (parse_user_spec): Accept `.' as a separator only
110964         in pre-POSIX-200112 mode.
110965         * lib/strtoimax.c: Use #elif rather than #else #if.
110966         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
110967         Remove function, now that we can rely on a working tzset function.
110968         [!_LIBC]: Ensure that the required autoconf test has been run.
110969         [!defined _NL_CURRENT && HAVE_STRFTIME]:
110970         Use underlying_strftime for %r.
110971         * lib/sha.c: Merge in some clean-up and optimization changes from
110972         glibc.
110973         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
110974         Ensure that it is a multiple of 64.
110975         Rearrange loop exit tests so as to avoid performing an
110976         additional fread after encountering an error or EOF.
110977         * lib/realloc.c: Update copyright date.
110979 2003-08-15  Jim Meyering  <jim@meyering.net>
110980         and Paul Eggert  <eggert@twinsun.com>
110982         Merge from coreutils.
110983         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
110984         member but strut utmpx does not.  Needed for AIX 4.3.3.
110985         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
110987 2003-08-15  Jim Meyering  <jim@meyering.net>
110988         and Paul Eggert  <eggert@cs.ucla.edu>
110990         Merges from coreutils, etc.
110991         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
110992         Require gl_FUNC_TZSET_CLOBBER.
110993         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
110994         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
110995         members.
110997 2003-08-14  Paul Eggert  <eggert@twinsun.com>
110999         Help the merge from coreutils.
111000         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
111001         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
111002         * m4/tzset.m4: Use it too.
111004 2003-08-14  Paul Eggert  <eggert@twinsun.com>
111006         * modules/tzset: New file.
111008 2003-08-14  Jim Meyering  <jim@meyering.net>
111010         Merges from coreutils.
111011         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
111012         variable names, rather than @FNMATCH_H@.
111013         * modules/alloca: Likewise for $(ALLOCA_H).
111015         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
111016         the three copies of the literal target, `fnmatch.h'.
111017         * modules/alloca (alloca.h): Likewise.
111019 2003-08-14  Jim Meyering  <jim@meyering.net>
111021         Merge from coreutils.
111022         * m4/tzset.m4: New file.
111023         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
111024         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
111025         otherwise, AIX 5.1 systems would end up using the latter.
111026         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
111027         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
111028         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
111029         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
111031 2003-08-14  Jim Meyering  <jim@meyering.net>
111033         Merge from coreutils.
111034         * lib/obstack.h: Whitespace changes.
111035         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
111036         and xcalloc return values.
111037         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
111038         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
111039         hang on OSF/1 5.1 for DIR on both local and remote file systems.
111040         Reported by (and fix confirmed by) Nelson H. F. Beebe.
111041         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
111042         error from mntctl.
111043         Use mntctl's return value to drive the entry-processing loop, since
111044         we can't rely on the value of the vmt_length member in the last
111045         entry.  On some systems doing so could result in exhausting
111046         virtual memory.  Based in part on a patch from Mike Jetzer.
111048 2003-08-14  Jim Meyering  <jim@meyering.net>
111049         and Paul Eggert  <eggert@twinsun.com>
111051         Merges from coreutils, plus other fixes.
111052         * lib/physmem.c: Merge in portability changes from gcc/libiberty
111053         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
111054         for credits and details.  Thanks to Kaveh Ghazi for helping
111055         to keep these files in sync.
111056         (ARRAY_SIZE): Define it.
111057         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
111058         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
111059         (memcasecmp): Don't assume size_t fits in unsigned int.
111060         Remove casts and duplicate code.
111061         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
111062         (memcpy): Remove definition.
111063         Merge in some clean-up and optimization changes from glibc.
111064         [BLOCKSIZE]: Move definition to top of file.
111065         Ensure that it is a multiple of 64.
111066         Rearrange loop exit tests so as to avoid performing an
111067         additional fread after encountering an error or EOF.
111068         * lib/md5.h (md5_uintptr): Define.
111069         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
111070         return to the initial working directory.  Preserve errno
111071         for caller.
111072         * lib/idcache.c: Include "xalloc.h".
111073         (xmalloc, xrealloc): Remove decls.
111074         (getuser): Remove casts no longer required in C89.
111075         * lib/human.c: Include stdio.h, for sprintf.
111076         * lib/group-member.c: Include "xalloc.h".
111077         (xmalloc, xrealloc): Remove decls.
111078         (get_group_info): Remove casts no longer required in C89.
111079         * lib/getusershell.c (readname): Remove casts no longer required in
111080         C89.
111081         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
111082         * lib/getline.c: Whitespace fix, from coreutils.
111084 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111086         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
111087         Check for isascii.
111089         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111090         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111091         Undo previous (whitespace-only) change.
111093 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111095         * lib/exclude.c: Include <ctype.h>
111096         (IN_CTYPE_DOMAIN): New macro.
111097         (is_space): New fn.
111098         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
111099         and empty lines.
111101         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111102         Undo previous (whitespace-only) change.
111104 2003-08-13  Paul Eggert  <eggert@twinsun.com>
111106         * config/srclist-update: Change update back to the old behavior,
111107         leaving whitespace alone.  Use one 'sed' command rather than a
111108         pipeline.
111109         (fixlicense): Now a variable, not a function.
111110         (remove_trailing_blanks): Remove.
111111         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
111112         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111113         Undo previous (whitespace-only) change.
111115 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111117         Merge from coreutils.
111118         * modules/euidaccess: Add lib_SOURCES, include for new
111119         file euidaccess.h
111121 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111123         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
111124         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
111125         Normalize leading white space and remove trailing white space.
111127         Merge from coreutils
111128         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
111130         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
111131         0.12.1.  These files are now being upgraded automatically by
111132         ../config/srclist-update.
111134 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111136         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
111137         Normalize leading white space and remove trailing white space.
111138         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
111139         notice, as per ../config/srclist-update.
111141         Merge from coreutils.
111142         * lib/euidaccess.h: New file.
111143         * lib/euidaccess.c: Include it.
111144         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
111145         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
111146         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
111148 2003-08-12  Paul Eggert  <eggert@twinsun.com>
111150         * config/srclist-update: Add copyright notice.
111151         (remove_id_lines, remove_trailing_blanks): New constants.
111152         (fixfile): Use them to normalize spacing a bit in copied files.
111153         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
111154         Normalize leading white space and remove trailing white space.
111156         * config/texinfo.tex: Sync with texinfo.
111158         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
111159         strtoul.c from libc, to merge coreutils whitespace changes.
111161         * config/srclist.txt: Get the following m4 files from gettext:
111162         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
111163         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
111164         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
111165         wint_t.m4.
111167 2003-08-12  Karl Berry  <karl@gnu.org>
111169         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
111170         been made.
111172 2003-08-11  Paul Eggert  <eggert@twinsun.com>
111174         * modules/gnu-source, m4/gnu-source.m4:
111175         Remove; we're assuming Autoconf 2.54 or later now.
111176         Suggested by Bruno Haible.
111177         * MODULES.html.sh (func_all_modules): Remove gnu-source.
111179 2003-08-11  Bruno Haible  <bruno@clisp.org>
111181         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
111183 2003-08-11  Bruno Haible  <bruno@clisp.org>
111185         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
111186         (vasnprintf): Use it instead of wcslen.
111188 2003-08-11  Bruno Haible  <bruno@clisp.org>
111190         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
111191         value to ensure that _Bool promotes to int. Use #define for _Bool when
111192         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
111194 2003-08-10  Karl Berry  <karl@gnu.org>
111196         * lib/regex.h: update from libc (whitespace fix).
111198 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111200         Merge some files from coreutils.  These changes were
111201         originally made by Jim Meyering.
111202         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
111203         many older Unixes require this.
111204         * lib/alloca.c (alloca): Remove cast to argument of free;
111205         no longer needed in C89.
111206         * lib/alloca_.h, regex.h: Fix white space to match
111207         what GNU indent does.
111209 2003-08-09  Paul Eggert  <eggert@twinsun.com>
111211         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
111212         apparently Emacs's Unicode mode got confused before my 2003-08-05
111213         checkin.
111215 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111217         * m4/extensions.m4: New file.
111218         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
111219         Require gl_USE_SYSTEM_EXTENSIONS.
111220         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
111221         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
111223 2003-08-08  Paul Eggert  <eggert@twinsun.com>
111225         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
111226         * modules/extensions, modules/gnu-source: New files.
111227         * modules/timespec, modules/unlocked-io: Depend on extensions.
111229 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111231         * modules/restrict: New file.
111232         * MODULES.html.sh (func_all_modules): Add restrict.
111233         * modules/regex: Depend on restrict.
111235 2003-08-07  Paul Eggert  <eggert@twinsun.com>
111237         * m4/restrict.m4: New file.
111238         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
111240 2003-08-07  Bruno Haible  <bruno@clisp.org>
111242         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
111243         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
111245 2003-08-07  Bruno Haible  <bruno@clisp.org>
111247         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
111248         makes the module 'getndelim2' compatible with the module 'getline'.
111250 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111252         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
111253         byte with "\201" to avoid glitches when editing that source file
111254         with multi-gnome-terminal.
111256 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111258         * lib/bumpalloc.h: Remove.
111260 2003-08-05  Paul Eggert  <eggert@twinsun.com>
111262         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
111263         * modules/bumpalloc: Remove.
111265 2003-08-04  Paul Eggert  <eggert@twinsun.com>
111267         * lib/getloadavg.c: Change copyright notice and spacing to conform to
111268         GNU coding style.
111270         Merge from coreutils.
111271         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
111272         1. From glibc.
111273         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
111274         from Karl Berry, implemented by Jim Meyering.
111275         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
111276         from Dmitry V. Levin.
111277         Remove anachronistic cast of xrealloc.
111278         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
111279         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
111280         type. Otherwise, it wouldn't compile with at least /bin/cc on
111281         ymp-cray-unicos9.0.2.X.
111282         Combine two mostly-identical uses of alloca into one.
111283         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
111285 2003-08-04  Dave Love  <d.love@dl.ac.uk>
111287         [From Emacs.]
111289         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
111290         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
111291         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
111292         obsolete NLIST_NAME_UNION.
111293         [__GNU__]: Undef BSD and FSCALE.
111294         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
111296 2003-08-03  Paul Eggert  <eggert@twinsun.com>
111298         * lib/stdbool_.h (_Bool): Make it signed char, instead of
111299         an enum type, so that it's guaranteed to promote to int.  See:
111300         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
111302 2003-08-03  Karl Berry  <karl@gnu.org>
111304         * config/depcomp: update from automake.
111306 2003-07-31  Paul Eggert  <eggert@twinsun.com>
111308         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
111309         (strerror): Don't assume that a printable int fits in 14 bytes.
111311 2003-07-31  Bruno Haible  <bruno@clisp.org>
111313         * modules/getpass-gnu: New file.
111314         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
111316 2003-07-31  Bruno Haible  <bruno@clisp.org>
111318         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
111320 2003-07-24  Karl Berry  <karl@gnu.org>
111322         * config/missing: update from automake.
111324 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
111325             Bruno Haible  <bruno@clisp.org>
111327         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
111328         * lib/getline.c (getline, getdelim): Likewise.
111329         Remove _GNU_SOURCE define; now it's defined in config.h through
111330         m4/getline.m4.
111332 2003-07-23  Karl Berry  <karl@gnu.org>
111334         * config/config.sub: update from prep.
111336 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111338         * modules/xalloc (Depends-on): Add exitfail.
111339         * modules/xmemcoll: Likewise.
111341 2003-07-22  Paul Eggert  <eggert@twinsun.com>
111343         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
111344         over-parenthesization in macros.
111346         Sync with coreutils.
111348         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
111349         required by C99.
111351         Use `exit_failure' for xalloc and xmemcoll instead of their own
111352         private exit-failure variables.
111353         * lib/xalloc.h (xalloc_exit_failure): Remove.
111354         * lib/xmalloc.c: Likewise.  Include exitfail.h.
111355         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
111356         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
111357         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
111358         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
111360 2003-07-20  Jim Meyering  <jim@meyering.net>
111362         * modules/closeout (Depends-on): Add exitfail.
111363         Suggestion from Bruno Haible.
111365 2003-07-19  Karl Berry  <karl@gnu.org>
111367         * config/config.sub: update from prep.
111369 2003-07-18  Paul Eggert  <eggert@twinsun.com>
111371         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
111372         Remove.
111373         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
111374         to test that it can stand by itself.  Include "exitfail.h".
111375         Clients should set exit_failure instead.
111376         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
111378 2003-07-18  Bruno Haible  <bruno@clisp.org>
111380         * modules/getndelim2: New file.
111381         * modules/getline: Share files with module getndelim2.
111382         * modules/getnline: Depend on getndelim2 instead of sharing files with
111383         it. Add getnline.c to lib_SOURCES.
111384         * MODULES.html.sh (func_all_modules): Add getndelim2.
111386 2003-07-18  Bruno Haible  <bruno@clisp.org>
111388         * m4/getndelim2.m4: New file.
111389         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
111390         invoke gl_PREREQ_GETNDELIM2.
111391         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
111392         gl_PREREQ_GETNDELIM2.
111393         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
111394         gl_GETNDELIM2.
111396 2003-07-18  Bruno Haible  <bruno@clisp.org>
111398         * lib/getndelim2.h: New file.
111399         * lib/getndelim2.c: Make into a module of its own. Include config.h,
111400         getndelim2.h.
111401         (getndelim2): Make non-static. Change return type to ssize_t.
111402         * lib/getline.h: Change argument names.
111403         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
111404         * lib/getnline.c: Include getndelim2.h.
111406 2003-07-18  Andreas Schwab  <schwab@suse.de>
111408         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
111410 2003-07-17  Karl Berry  <karl@gnu.org>
111412         * config/config.sub: update from prep.
111414 2003-07-17  Bruno Haible  <bruno@clisp.org>
111416         * modules/getnline: New file.
111417         * modules/getline: Add lib/getndelim2.c to source file list.
111418         * MODULES.html.sh (func_all_modules): Add getnline.
111420 2003-07-17  Bruno Haible  <bruno@clisp.org>
111422         * m4/getnline.m4: New file.
111424 2003-07-17  Bruno Haible  <bruno@clisp.org>
111426         * m4/Makefile.am.in: Remove file.
111427         * m4/Makefile.am: Remove file.
111428         * m4/Makefile.in: Remove file.
111430 2003-07-17  Bruno Haible  <bruno@clisp.org>
111432         * lib/getnline.h: New file.
111433         * lib/getnline.c: New file.
111434         * lib/getndelim2.c: New file, extracted from getline.c.
111435         (getndelim2): Renamed from getdelim2, with added nmax argument.
111436         * lib/getline.c: Include getndelim2.c.
111437         (getdelim2): Moved out to getndelim2.c.
111438         (getline, getdelim): Update.
111440 2003-07-17  Bruno Haible  <bruno@clisp.org>
111442         * lib/Makefile.am: Remove file.
111443         * lib/Makefile.in: Remove file.
111445 2003-07-17  Bruno Haible  <bruno@clisp.org>
111447         * configure.in: Remove file.
111448         * Makefile.in: Remove file.
111450 2003-07-17  Bruno Haible  <bruno@clisp.org>
111452         * MODULES.html.sh: Put the </BODY> right before </HTML>.
111454 2003-07-16  Karl Berry  <karl@gnu.org>
111456         * config/srclist-update: was running fixlicense twice, which caused
111457                 texinfo.tex to be nullified for some reason.  Simplify,
111458                 $gplsrc is no longer needed as far as I can see?
111460 2003-07-16  Jim Meyering  <jim@meyering.net>
111462         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
111464 2003-07-15  Paul Eggert  <eggert@twinsun.com>
111466         * config/srclist.txt: Get the following files from gettext-runtime/intl
111467         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
111468         ref-del.sin.  From Bruno Haible.
111469         * config/srclist-update (fixfile): Change grep pattern again, since the
111470         previous fix didn't work (there was another trailing $).  Use
111471         '[$]' to escape the $s.
111473 2003-07-15  Karl Berry  <karl@gnu.org>
111475         * lib/vasnprintf.c: update from gettext.
111477 2003-07-15  Karl Berry  <karl@gnu.org>
111479         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
111480         gets expanded when surrounded by '$'.
111482 2003-07-15  Jim Meyering  <jim@meyering.net>
111484         * modules/save-cwd: Don't depend on error.  From Derek Price.
111486 2003-07-15  Jim Meyering  <jim@meyering.net>
111488         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
111490 2003-07-14  Simon Josefsson  <jas@extundo.com>
111492         * modules/mempcpy: New file.
111493         * MODULES.html.sh (func_all_modules): Add mempcpy.
111495 2003-07-14  Simon Josefsson  <jas@extundo.com>
111497         * m4/mempcpy.m4: New file.
111499 2003-07-14  Simon Josefsson  <jas@extundo.com>
111501         * lib/mempcpy.h: New file.
111502         * lib/mempcpy.c: New file.
111504 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111506         * modules/getdate, modules/posixtm: Depend on mktime.
111508 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111510         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
111511         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
111512         unicodeio.c, unicodeio.h, unlocked-io.h:
111513         Switch from LGPL to GPL.
111515 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111517         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
111518         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
111519         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
111520         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
111521         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
111522         updated automatically by ../config/srclist-update.  This changes
111523         their license from LPGL to GPL.
111525 2003-07-14  Paul Eggert  <eggert@twinsun.com>
111527         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
111528         assumed to refer to the root of the most recent stable gettext version.
111529         * config/srclistvars.sh: Add defaults for eggert.
111530         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
111531         Match "This program" as well as "The program".  This is needed
111532         for gettext.
111534 2003-07-14  Jim Meyering  <jim@meyering.net>
111536         Don't emit diagnostics.  Let callers do that.
111537         * lib/save-cwd.c: Don't include "error.h".
111538         (save_cwd): Don't call error.  Ensure that errno is valid
111539         when returning nonzero.
111541         * lib/save-cwd.h (restore_cwd): Update prototype.
111542         * lib/save-cwd.c (restore_cwd): Remove two parameters.
111543         Simplify.  Don't call error upon failure.  Let callers do that.
111544         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
111545         when auditing is enabled.  But don't bother updating the #if.
111547 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
111549         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
111550         it breaks C++ compilation.
111551         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
111553 2003-07-10  Simon Josefsson  <jas@extundo.com>
111555         * modules/strchrnul (Makefile.am): Add strchrnul.h.
111557 2003-07-10  Jim Meyering  <jim@meyering.net>
111559         * m4/clock_time.m4: Remove trailing blank.
111560         * m4/intmax_t.m4: Likewise.
111562 2003-07-10  Jim Meyering  <jim@meyering.net>
111564         * lib/vasnprintf.c: Remove trailing blanks.
111565         Make cpp indentation consistent.
111567 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111569         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
111570         posixver.c, strftime.c, strnlen.c, strverscmp.c:
111571         Switch from LGPL to GPL.
111573 2003-07-09  Paul Eggert  <eggert@twinsun.com>
111575         * config/srclist.txt: Sort sublists.  Add
111576         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
111577         that differ from gnulib for one reason or another; we'd like this list
111578         to be smaller but for now let's document what we have.
111580 2003-07-08  Paul Eggert  <eggert@twinsun.com>
111582         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
111583         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
111584         and sweeter "eval x=$x".
111585         * config/srclist.txt: Get lib/argp* from glibc.
111587 2003-07-07  Paul Eggert  <eggert@twinsun.com>
111589         * lib/mktime.c: Fix some boundary cases and remove need for floating
111590         point.
111592         Issue a compile-time diagnostic if time_t is floating point, or if
111593         two's complement arithmetic is not in effect, or if arithmetic
111594         right shift does not propagate the sign.  These assumptions were
111595         all in the original code but they weren't checked.
111597         (TIME_T_MIDPOINT, verify): New macros.
111598         (__isleap): Remove; it has integer overflow problems.
111599         (leapyear): New function, without those problems.
111600         (ydhms_tm_diff): Remove; splitting into two parts.
111601         (ydhms_diff): New function, containing the arithmetic part of
111602         the old ydhms_tm_diff function.  Issue a compile-time
111603         diagnostic if we are not using C99 integer division.
111604         Avoid casts when possible.
111605         (guess_time_tm): New function, containing the checking part of
111606         the old ydhms_tm_diff function.  Return the new value, rather than
111607         the difference between it and the old.  Accept a new argument T
111608         so that *T specifies the old value.  Check for overflow in the result.
111610         (__mktime_internal): Use a time_t offset, not a long int offset.
111611         This undoes the 2003-06-04 change, which is no longer needed now
111612         that we have better overflow checking.
111613         (localtime_offset): Likewise.
111615         (__mktime_internal): Avoid harmful overflow on hosts where time_t
111616         and long are 64-bit but int is only 32-bit.
111617         (ydhms_diff): Use long int to store year1 and yday1.
111618         Issue a compile-time diagnostic if long int is not wide enough.
111620         (__mktime_internal): Use long int to store adjusted year and yday.
111621         Use plain C rather than preprocessor commands, if that doesn't
111622         affect efficiency.
111623         Check for overflow (and try to repair) after each probe
111624         rather than checking only at the very end.  This avoids some bugs
111625         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
111626         does not equal GMT offset at maximum time).
111627         Use integer to check for overflow rather than floating point; this
111628         is more portable to non-IEEE hosts, and is a tad faster.
111629         When we detect that we are oscillating between two values,
111630         don't check whether tm_isdst has the requested value, since
111631         we already know the answer.  When tm_isdst has the wrong value,
111632         use a different heuristic to find the right one, based on the
111633         extreme values actually observed in practice in tz2003a,
111634         rather than the (overly optimistic) "previous 3 calendar quarters".
111636         (not_equal_tm, print_tm, check_result): Use "const T" rather than
111637         "T const" to accommodate glibc style.
111638         (check_result): Use less-confusing report format.  "long" -> "long int.
111639         (main): Likewise.
111640         Don't loop if the iteration overflows time_t.
111641         Allow a negative step in the iteration.
111643 2003-07-06  Karl Berry  <karl@gnu.org>
111645         * config/depcomp: update from automake.
111646         * config/config.sub: update from prep.
111648 2003-07-03  Karl Berry  <karl@gnu.org>
111650         * config/config.guess: update from prep.
111652 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111654         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
111655         xreadlink.c now includes it unconditionally.
111657 2003-07-01  Paul Eggert  <eggert@twinsun.com>
111659         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
111660         having it depend on HAVE_SYS_TYPES_H.
111662 2003-07-01  Bruno Haible  <bruno@clisp.org>
111664         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
111665         <sys/types.h> should be sufficient.
111666         Reported by Paul Eggert.
111668 2003-06-26  Karl Berry  <karl@gnu.org>
111670         * config/depcomp: update from automake.
111672 2003-06-26  Bruno Haible  <bruno@clisp.org>
111674         * modules/human: Depend on module stdbool.
111676 2003-06-25  Bruno Haible  <bruno@clisp.org>
111678         * modules/readlink: New file.
111679         * modules/xreadlink: Depend on it.
111680         * MODULES.html.sh (func_all_modules): Add readlink.
111682 2003-06-25  Bruno Haible  <bruno@clisp.org>
111684         * m4/readlink.m4: New file.
111686 2003-06-25  Bruno Haible  <bruno@clisp.org>
111688         * lib/readlink.c: New file.
111690 2003-06-22  Karl Berry  <karl@gnu.org>
111692         * config/srclist.txt: update mkinstalldirs from automake.
111693         * config/mkinstalldirs: update.
111695 2003-06-22  Bruno Haible  <bruno@clisp.org>
111697         Portability to mingw32.
111698         * m4/ssize_t.m4: New file, from GNU gettext.
111699         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
111700         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
111702 2003-06-22  Bruno Haible  <bruno@clisp.org>
111704         * modules/safe-read: Add m4/ssize_t.m4.
111705         * modules/xreadlink: Add m4/ssize_t.m4.
111707 2003-06-20  Bruno Haible  <bruno@clisp.org>
111709         Assume C89, so PARAMS isn't needed.
111710         * lib/unicodeio.h (PARAMS): Remove.
111711         * lib/unicodeio.c: Don't use PARAMS.
111713 2003-06-18  Karl Berry  <karl@gnu.org>
111715         * config/config.{guess,sub}: update from prep.
111717 2003-06-18  Jim Meyering  <jim@meyering.net>
111719         Merge changes from coreutils.
111720         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
111721         Remove explicit declarations of xmalloc and realloc.
111722         Include xalloc.h.
111723         (read_utmp): Remove anachronistic cast of xmalloc.
111725 2003-06-17  Paul Eggert  <eggert@twinsun.com>
111727         Assume C89, so PARAMS isn't needed.
111728         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
111729         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
111730         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
111731         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
111732         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
111733         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
111734         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
111735         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
111736         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
111737         lib/xstrtod.h, lib/xstrtol.h: Likewise.
111738         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
111739         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
111740         no longer needed. Anyway, config.h should always be included before any
111741         other file.
111743 2003-06-11  Simon Josefsson  <jas@extundo.com>
111745         * modules/sysexits: New file.
111746         * MODULES.html.sh (func_all_modules): Add sysexits.
111748 2003-06-11  Simon Josefsson  <jas@extundo.com>
111750         * lib/sysexit_.h: New file.
111752 2003-06-11  Derek Price  <derek@ximbiot.com>
111754         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
111755         necessary.
111757 2003-06-11  Bruno Haible  <bruno@clisp.org>
111759         * m4/sysexits.m4: New file.
111761 2003-06-10  Simon Josefsson  <jas@extundo.com>
111763         * lib/argp.h: New file, from glibc.
111764         * lib/argp-ba.c: New file, from glibc.
111765         * lib/argp-eexst.c: New file, from glibc.
111766         * lib/argp-fmtstream.c: New file, from glibc.
111767         * lib/argp-fmtstream.h: New file, from glibc.
111768         * lib/argp-fs-xinl.c: New file, from glibc.
111769         * lib/argp-help.c: New file, from glibc.
111770         * lib/argp-namefrob.h: New file, from glibc.
111771         * lib/argp-parse.c: New file, from glibc.
111772         * lib/argp-pv.c: New file, from glibc.
111773         * lib/argp-pvh.c: New file, from glibc.
111774         * lib/argp-xinl.c: New file, from glibc.
111776 2003-06-10  Simon Josefsson  <jas@extundo.com>
111778         * modules/strchrnul: New file.
111780 2003-06-10  Simon Josefsson  <jas@extundo.com>
111782         * modules/argp: New file.
111784 2003-06-10  Simon Josefsson  <jas@extundo.com>
111786         * m4/strchrnul.m4: New file.
111788 2003-06-10  Simon Josefsson  <jas@extundo.com>
111790         * lib/strchrnul.h: New file.
111791         * lib/strchrnul.c: New file.
111793 2003-06-10  Bruno Haible  <bruno@clisp.org>
111795         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
111797 2003-06-07  Karl Berry  <karl@gnu.org>
111799         * config/config.{guess,sub}: update from prep.
111801 2003-06-07  Jim Meyering  <jim@meyering.net>
111803         * modules/strtod: Use $(...) notation, not @...@ for
111804         AC_REPLACE'd variables.
111805         * modules/localcharset: Likewise.
111807 2003-06-07  Jim Meyering  <jim@meyering.net>
111809         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
111810         in place of my name in the copyright comment.
111811         Remove definition and uses of __P.
111813         From coreutils.
111814         * lib/stat.c: Don't declare xmalloc explicitly.
111815         Instead, include "xalloc.h".
111816         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
111817         xrealloc, and xcalloc return values.
111818         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
111819         Improve comment.
111820         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
111822 2003-06-07  Bruno Haible  <bruno@clisp.org>
111824         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
111825         avoid AC_CONFIG_LINKS.
111826         * modules/fnmatch (Makefile.am): Use explicit creation rule for
111827         fnmatch.h, to avoid AC_CONFIG_LINKS.
111828         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
111830 2003-06-07  Bruno Haible  <bruno@clisp.org>
111832         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
111833         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
111834         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111835         directory.
111836         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
111837         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
111838         directory.
111840 2003-06-06  Jim Meyering  <jim@meyering.net>
111842         Merge from coreutils.
111843         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
111844         Consolidate declarations and initializations of *_base* locals.
111846         Merge from coreutils.
111847         This avoids a core dump on systems without GNU putenv,
111848         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
111849         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
111850         (unsetenv): New static function, from GNU libc.
111851         (rpl_putenv): Use it.
111853         * lib/modechange.c: Remove trailing blanks.
111855         Merge from coreutils.
111856         * lib/fsusage.c: Remove declaration of statfs.
111857         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
111859         * lib/posixtm.c: Include <stdbool.h> unconditionally.
111861 2003-06-06  Jim Meyering  <jim@meyering.net>
111863         * lib/stdbool_.h: Renamed from stdbool.h.in.
111865 2003-06-06  Jim Meyering  <jim@meyering.net>
111866             Bruno Haible  <bruno@clisp.org>
111868         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
111869         Adjust Makefile.am snippet not to redirect directly to target.
111870         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
111872 2003-06-05  Paul Eggert  <eggert@twinsun.com>
111874         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
111875         mismatch, look in future quarters as well as past.  This fixes a
111876         bug when processing fall-backwards gaps immediately after a long
111877         period of daylight-saving time.
111879         * lib/mktime.c: Assume freestanding C89 or better.
111880         (HAVE_LIMITS_H): Remove.  Assume it's 1.
111881         (__P): Remove; not used.
111882         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
111883         (mktime, not_equal_tm, print_tm, check_result,
111884         main): Use prototypes.  Use const * where appropriate.
111885         (main): Fix typo in testing code that uncovered by above changes.
111886         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
111888 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111890         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
111891         locale.h, localeconv.  This merges changes from coreutils.
111893         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
111894         It can be removed after the next Autoconf is released.
111895         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
111896         needed.
111898 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111900         * lib/mktime.c: Fix Debian bug 177940
111901         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
111902         (localtime_offset): Now long int, not time_t, because we want it
111903         to be guaranteed to be signed.  All uses changed.
111904         (__mktime_internal): If overflow would occur when adding offset,
111905         don't add it.
111907         Merge 'human' changes from coreutils.  Rewrite to support
111908         locale-specific notations like thousands separators.
111909         * lib/human.c: Simplify authorship notice.
111910         Include human.h immediately after config.h.
111911         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
111912         <limits.h>: Do not include, since human.h does.
111913         (SIZE_MAX, UINTMAX_MAX): New macros.
111914         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
111915         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
111916         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
111917         (power_letter): Renamed from suffixes.
111918         (generate_suffix_backwards): Remove.
111919         (adjust_value): Now takes int style (because of human.h changes)
111920         and long double value (for greater precision on some platforms).
111921         (group_number): New function.
111922         (human_readable): Use it.  Use integer options, not enum.
111923         Put the options before the sizes in the arg list.
111924         Support all the new options.
111925         The old human_readable function has been removed;
111926         use inttostr.h instead.
111927         (human_readable, default_block_size, humblock):
111928         Use uintmax_t, not int, for block sizes.
111929         (human_readable_inexact, block_size_types): Remove.
111930         (block_size_opts): New constant.
111931         (human_options): Renamed from human_block_size, with new signature
111932         that allows block sizes up to UINTMAX_MAX.  All callers changed.
111933         * lib/human.h: Add copyright and authorship notice.
111934         Include <limits.h> and <stdbool.h> unconditionally.
111935         (PARAMS): Remove.  All uses removed.
111936         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
111937         (enum human_inexact_style): Remove tag; now a nameless enum.
111938         (human_floor, human_ceiling, human_round_to_even): Now have
111939         values 2, 0, 1 rather than -1, 1, 0.
111940         (human_group_digits, human_suppress_point_zero, human_autoscale,
111941         human_base_1024, human_SI, human_B): New constants.
111942         (human_readable_inexact, human_block_size): Remove.
111943         (human_readable): Size args are now uintmax_t, not int.
111944         (human_options): New decl.
111946         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
111947         unnecessary now that we assume C89 or better.  This change
111948         imported from coreutils.
111950         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
111951         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
111952         in the 2003-05-30 sync from glibc.
111954         .h files should stand alone, but we shouldn't include <sys/types.h>
111955         if we can get away with just <stddef.h>.
111957         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
111958         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
111959         rather than <sys/types.h>, as we merely need size_t.
111960         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
111961         to get size_t.
111962         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
111963         Include <stdio.h>, to get FILE.
111964         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
111965         memcasecmp.h has included <stddef.h> and all we need is size_t.
111966         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
111967         our interface, instead of including <sys/types.h>
111969 2003-06-04  Paul Eggert  <eggert@twinsun.com>
111971         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
111972         now, as glibc mktime is buggy on non-glibc systems.
111974 2003-06-03  Karl Berry  <karl@gnu.org>
111976         * config/config.sub: update from prep.
111978 2003-06-02  Paul Eggert  <eggert@twinsun.com>
111980         [from coreutils]
111981         Fix some minor time-related bugs with POSIX time arguments.
111982         Some valid time stamps were being rejected (notably -1, and
111983         time stamps before 1900 on 64-bit hosts).  And some invalid
111984         time stamps were being accepted, e.g. September 31.
111986         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
111987         that we can return (time_t) -1 successfully.
111988         * lib/posixtm.c: Likewise.
111989         [HAVE_STDBOOL_H]: Include <stdbool.h>.
111990         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
111991         (t): Remove static var.
111992         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
111993         of static var.  All uses changed.
111994         (year): Do not reject years before 1900; they can occur with
111995         64-bit time_t.
111996         (posix_time_parse): Do not check for out-of-range components;
111997         that is now the caller's responsibility, since our checks were
111998         only approximations.
111999         (posixtime): Use mktime to check for out-of-range components,
112000         since it knows them exactly.
112001         If mktime returns (time_t) -1, check whether an error actually occurred
112002         by invoking localtime on -1.
112003         (main) [TEST_POSIXTIME]: Check for input data errors, and report
112004         posixtime failures better.
112005         Improve the test data (in comments only).
112007 2003-06-02  Karl Berry  <karl@gnu.org>
112009         * config/mkinstalldirs (version): new variable.
112010         (--version): new option.
112011         (usage): improve message.
112013 2003-05-30  Karl Berry  <karl@gnu.org>
112015         * lib/mktime.c: update from libc.
112017 2003-05-30  Bruno Haible  <bruno@clisp.org>
112019         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
112020         * config/config.rpath: Upgrade to gettext-0.12.1.
112022 2003-05-30  Bruno Haible  <bruno@clisp.org>
112024         * m4/gettext.m4: Upgrade to gettext-0.12.1.
112025         * m4/nls.m4: New file, from gettext-0.12.1.
112026         * m4/po.m4: New file, from gettext-0.12.1.
112027         * m4/progtest.m4: Upgrade to gettext-0.12.1.
112029 2003-05-30  Bruno Haible  <bruno@clisp.org>
112031         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
112032         * lib/localcharset.h: Likewise.
112033         * lib/localcharset.c: Likewise.
112035 2003-05-29  Karl Berry  <karl@gnu.org>
112037         * config/config.rpath: update from gettext.
112039 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112041         Assume the headers required for C89 freestanding compilers.
112042         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
112043         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
112044         * m4/human.m4 (gl_HUMAN): Likewise.
112045         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
112046         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
112047         * m4/userspec.m4 (gl_USERSPEC): Likewise.
112048         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
112049         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
112050         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
112052 2003-05-28  Paul Eggert  <eggert@twinsun.com>
112054         Assume the headers required for C89 freestanding compilers.
112055         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
112056         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
112057         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
112058         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
112059         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
112060         define, since <limits.h> is guaranteed to do that.
112061         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
112062         * lib/exclude.c: Include <stdbool.h> unconditionally.
112063         * lib/tempname.c: Include <stddef.h> unconditionally.
112064         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
112065         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
112066         <stddef.h> does that.
112067         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
112068         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
112069         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
112070         needed.
112071         * lib/xstrtol.c: Likewise.
112072         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
112073         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
112075         * lib/addext.c (addext): Use assignment rather than cast, to avoid
112076         warnings on some platforms.
112078         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
112079         arbitrarily.
112081 2003-05-26  Jim Meyering  <jim@meyering.net>
112083         Merge in a change from coreutils:
112084         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
112085         that is guaranteed to be `no'.  Use `no_such_member' to indicate
112086         that condition, rather than `-1' which is slightly misleading.
112087         Change the name of the cache variable to have the gl_ prefix.
112088         Prompted by a patch from Richard Dawe for DJGPP.
112090 2003-05-24  Karl Berry  <karl@gnu.org>
112092         * config/config.guess: update from prep.
112094 2003-05-22  Karl Berry  <karl@gnu.org>
112096         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
112098 2003-05-20  Karl Berry  <karl@gnu.org>
112100         * config/config.guess: update from prep.
112102 2003-05-18  Karl Berry  <karl@gnu.org>
112104         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
112105         might actually be set by the user.
112107         * config/depcomp, install-sh, mdate-sh: update from automake.
112109 2003-05-17  Bruno Haible  <bruno@clisp.org>
112111         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
112112         invalid expansion for AC_EGREP_CPP.
112113         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
112114         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
112115         Suggested by Akim Demaille <akim@epita.fr> in
112116         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
112118 2003-05-12  Jim Meyering  <jim@meyering.net>
112120         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
112121         the space-padded-by-default conversion specifiers, %e, %k, %l.
112123 2003-05-12  Bruno Haible  <bruno@clisp.org>
112125         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
112126         the string is longer than 4 KB.
112128 2003-05-11  Karl Berry  <karl@gnu.org>
112130         * config/config.{guess,sub}: update from prep.
112132 2003-05-09  Bruno Haible  <bruno@clisp.org>
112134         * modules/error: Add m4/strerror_r.m4 to file list.
112136 2003-05-03  Bruno Haible  <bruno@clisp.org>
112138         Upgrade to Unicode-4.0.
112139         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
112140         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
112141         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
112142         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
112143         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
112144         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
112145         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
112146         Change width of U+E0100..U+E01EF from 1 to 0.
112148 2003-04-25  Jim Meyering  <jim@meyering.net>
112150         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
112151         of type size_t, not int.
112153 2003-04-25  Bruno Haible  <bruno@clisp.org>
112155         * lib/copy-file.c: Include <stddef.h>, for size_t.
112157 2003-04-21  Paul Eggert  <eggert@twinsun.com>
112159         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
112160         code which expansion is under static control.  Patch imported from
112161         Akim Demaille's patch to Bison; see
112162         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
112164 2003-04-14  Bruno Haible  <bruno@clisp.org>
112166         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
112168 2003-04-11  Jim Meyering  <jim@meyering.net>
112170         Merge changes from Coreutils.
112172         2003-03-22  Jim Meyering  <jim@meyering.net>
112174         * lib/strftime.c (widen): Cast alloca return value to proper type.
112176         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
112178         From GNU libc.
112179         * lib/strftime.c (my_strftime): Handle very large width
112180         specifications for numeric values correctly.  Improve checks for
112181         overflow.
112183         2003-01-19  Jim Meyering  <jim@meyering.net>
112185         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
112186         definitions.
112187         (nl_get_alt_digit) [! defined my_strftime]: Define.
112188         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
112189         _nl_get_alt_digit and _nl_get_walt_digit.
112191         * lib/strftime.c (my_strftime): Merge in locale-related changes from
112192         libc. These changes have no effect outside of _LIBC.
112194 2003-04-10  Bruno Haible  <bruno@clisp.org>
112196         * modules/findprog: New file.
112197         * MODULES.html.sh (func_all_modules): Add it.
112199 2003-04-10  Bruno Haible  <bruno@clisp.org>
112201         * m4/findprog.m4: New file.
112202         * m4/eaccess.m4: New file.
112204 2003-04-10  Bruno Haible  <bruno@clisp.org>
112206         * lib/findprog.h: New file, from GNU gettext.
112207         * lib/findprog.c: New file, from GNU gettext.
112209 2003-04-05  Jim Meyering  <jim@meyering.net>
112211         Merge changes from Coreutils.
112213         * lib/exclude.h (PARAMS): Remove definition and uses.
112214         * lib/exclude.c: Remove uses of `PARAMS'.
112216         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
112217         Add test-cases for DOS filenames. Declare program_name.
112218         (main): Set up program_name.  Patch by Rich Dawe.
112220         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
112221         error from mntctl.
112222         Use mntctl's return value to drive the entry-processing loop, since
112223         we can't rely on the value of the vmt_length member in the last
112224         entry.  On some systems doing so could result in exhausting
112225         virtual memory.  Based in part on a patch from Mike Jetzer.
112227 2003-04-04  Bruno Haible  <bruno@clisp.org>
112229         * modules/linebreak: New file.
112230         * MODULES.html.sh (func_all_modules): Add it.
112232 2003-04-04  Bruno Haible  <bruno@clisp.org>
112234         * m4/linebreak.m4: New file.
112236 2003-04-04  Bruno Haible  <bruno@clisp.org>
112238         * lib/linebreak.h: New file, from GNU gettext.
112239         * lib/linebreak.c: New file, from GNU gettext with slight
112240         modifications.
112241         * lib/lbrkprop.h: New file, from GNU gettext.
112243 2003-04-03  Bruno Haible  <bruno@clisp.org>
112245         * modules/utf8-ucs4: New file.
112246         * modules/utf16-ucs4: New file.
112247         * modules/ucs4-utf8: New file.
112248         * modules/ucs4-utf16: New file.
112249         * MODULES.html.sh (func_all_modules): Add them.
112251 2003-04-03  Bruno Haible  <bruno@clisp.org>
112253         * m4/utf-ucs4.m4: New file.
112254         * m4/ucs4-utf.m4: New file.
112256 2003-04-03  Bruno Haible  <bruno@clisp.org>
112258         * lib/utf8-ucs4.h: New file, from GNU gettext.
112259         * lib/utf16-ucs4.h: New file, from GNU gettext.
112260         * lib/ucs4-utf8.h: New file, from GNU gettext.
112261         * lib/ucs4-utf16.h: New file, from GNU gettext.
112263 2003-04-02  Bruno Haible  <bruno@clisp.org>
112265         * modules/binary-io: New file.
112266         * MODULES.html.sh (func_all_modules): Add it.
112268 2003-04-02  Bruno Haible  <bruno@clisp.org>
112270         * lib/binary-io.h: New file, from GNU gettext.
112272 2003-04-01  Bruno Haible  <bruno@clisp.org>
112274         * modules/pathname: New file.
112275         * MODULES.html.sh (func_all_modules): Add it.
112277 2003-04-01  Bruno Haible  <bruno@clisp.org>
112279         * lib/pathname.h: New file, from GNU gettext.
112280         * lib/concatpath.c: New file, from GNU gettext.
112282 2003-03-30  Bruno Haible  <bruno@clisp.org>
112284         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
112286 2003-03-30  Bruno Haible  <bruno@clisp.org>
112288         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
112289         function chown() doesn't exist.
112291 2003-03-28  Bruno Haible  <bruno@clisp.org>
112293         * modules/copy-file: New file.
112294         * MODULES.html.sh (func_all_modules): Add it.
112296 2003-03-28  Bruno Haible  <bruno@clisp.org>
112298         * m4/copy-file.m4: New file.
112300 2003-03-28  Bruno Haible  <bruno@clisp.org>
112302         * lib/copy-file.h: New file, from GNU gettext.
112303         * lib/copy-file.c: New file, from GNU gettext.
112305 2003-03-18  Jim Meyering  <jim@meyering.net>
112307         * lib/quote.c (quote_n): Fix typo in comment.
112309 2003-03-18  Bruno Haible  <bruno@clisp.org>
112311         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
112312         checking.
112313         * m4/onceonly_2_57.m4: Likewise.
112315 2003-03-17  Bruno Haible  <bruno@clisp.org>
112317         * m4/onceonly.m4: Require autoconf 2.54 or newer.
112318         (m4_quote): Remove macro.
112319         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
112321 2003-03-14  Jim Meyering  <jim@meyering.net>
112323         Merge changes from Coreutils.
112324         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
112325         to be const, in order to avoid warnings.
112326         (obstack_room): Likewise.
112327         (obstack_empty_p): Likewise.
112329 2003-03-14  Bruno Haible  <bruno@clisp.org>
112331         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
112332         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
112334 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112336         Merge changes from Bison.
112337         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
112338         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
112339         when compiling Bison 1.875's `bitset bset = obstack_alloc
112340         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
112341         * lib/hash.c: Include <stdbool.h> unconditionally.
112343 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112345         * m4/onceonly.m4 (m4_quote): New macro.
112346         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
112347         Quote AC_FOREACH variable-expansions properly.
112349 2003-03-13  Paul Eggert  <eggert@twinsun.com>
112351         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
112353 2003-03-09  Paul Eggert  <eggert@twinsun.com>
112355         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
112356         Reported by Bruce Becker; see:
112357         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
112359 2003-03-03  Paul Eggert  <eggert@twinsun.com>
112360             Bruno Haible  <bruno@clisp.org>
112362         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
112363         Reported by John Hughes, see
112364         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
112366 2003-02-20  Bruno Haible  <bruno@clisp.org>
112368         * MODULES.html.sh (func_all_modules): Add poll.
112370 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112372         * modules/poll: New file.
112374 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112376         * lib/poll_.h: New file.
112377         * lib/poll.c: New file.
112379 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
112381         * m4/poll.m4: New file.
112383 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112385         * modules/mathl: New file.
112387 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112389         * lib/mathl.h: New file.
112390         * lib/acosl.c: New file.
112391         * lib/asinl.c: New file.
112392         * lib/atanl.c: New file.
112393         * lib/ceill.c: New file.
112394         * lib/cosl.c: New file.
112395         * lib/expl.c: New file.
112396         * lib/floorl.c: New file.
112397         * lib/frexpl.c: New file.
112398         * lib/ldexpl.c: New file.
112399         * lib/logl.c: New file.
112400         * lib/sincosl.c: New file.
112401         * lib/sinl.c: New file.
112402         * lib/sqrtl.c: New file.
112403         * lib/tanl.c: New file.
112404         * lib/trigl.c: New file.
112405         * lib/trigl.h: New file.
112407 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
112409         * m4/mathl.m4: New file.
112411 2003-02-18  Bruno Haible  <bruno@clisp.org>
112413         * MODULES.html.sh (func_all_modules): Add mathl.
112415 2003-02-17  Bruno Haible  <bruno@clisp.org>
112417         * modules/mkdtemp: New module.
112418         * MODULES.html.sh (func_all_modules): Add it.
112420 2003-02-17  Bruno Haible  <bruno@clisp.org>
112422         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
112424 2003-02-17  Bruno Haible  <bruno@clisp.org>
112426         * lib/mkdtemp.h: New file, from GNU gettext.
112427         * lib/mkdtemp.c: New file, from GNU gettext.
112429 2003-02-02  Jim Meyering  <jim@meyering.net>
112431         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
112432         e.g. glibc-2.2.93.
112434 2003-01-31  Bruno Haible  <bruno@clisp.org>
112436         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
112437         'rpl_rename'.
112438         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
112439         'rpl_strnlen'.
112440         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
112441         'rpl_strtod'.
112442         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
112443         'rpl_utime'.
112445 2003-01-31  Bruno Haible  <bruno@clisp.org>
112447         * lib/rename.c: #undef rename before defining rpl_rename.
112448         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
112450 2003-01-30  Bruno Haible  <bruno@clisp.org>
112452         * modules/vasnprintf, modules/vasprintf: New modules.
112453         * MODULES.html.sh (func_all_modules): Add them.
112455 2003-01-30  Bruno Haible  <bruno@clisp.org>
112457         * m4/signed.m4: New file, from GNU gettext.
112458         * m4/longdouble.m4: New file, from GNU gettext.
112459         * m4/wchar_t.m4: New file, from GNU gettext.
112460         * m4/wint_t.m4: New file, from GNU gettext.
112461         * m4/vasnprintf.m4: New file.
112462         * m4/vasprintf.m4: New file.
112464 2003-01-30  Bruno Haible  <bruno@clisp.org>
112466         * lib/printf-args.h: New file, from GNU gettext.
112467         * lib/printf-args.c: New file, from GNU gettext.
112468         * lib/printf-parse.h: New file, from GNU gettext.
112469         * lib/printf-parse.c: New file, from GNU gettext.
112470         * lib/vasnprintf.h: New file, from GNU gettext.
112471         * lib/vasnprintf.c: New file, from GNU gettext.
112472         * lib/asnprintf.c: New file, from GNU gettext.
112473         * lib/vasprintf.h: New file, from GNU gettext with modifications.
112474         * lib/vasprintf.c: New file, from GNU gettext.
112475         * lib/asprintf.c: New file, from GNU gettext.
112477 2003-01-29  Bruno Haible  <bruno@clisp.org>
112479         * modules/stpncpy: New module.
112480         * MODULES.html.sh (func_all_modules): Add it.
112482 2003-01-29  Bruno Haible  <bruno@clisp.org>
112484         * m4/stpncpy.m4: New file.
112486 2003-01-29  Bruno Haible  <bruno@clisp.org>
112488         * lib/stpncpy.h: New file, from GNU gettext with modifications.
112489         * lib/stpncpy.c: New file, from GNU gettext with modifications.
112491 2003-01-28  Bruno Haible  <bruno@clisp.org>
112493         * modules/c-ctype: New module.
112494         * MODULES.html.sh (func_all_modules): Add it.
112496 2003-01-28  Bruno Haible  <bruno@clisp.org>
112498         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
112499         Paul Eggert.
112500         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
112501         Paul Eggert.
112503 2003-01-27  Bruno Haible  <bruno@clisp.org>
112505         * modules/xsetenv: New module.
112506         * MODULES.html.sh (func_all_modules): Add it.
112508 2003-01-27  Bruno Haible  <bruno@clisp.org>
112510         * lib/xsetenv.h: New file, from GNU gettext.
112511         * lib/xsetenv.c: New file, from GNU gettext.
112513 2003-01-23  Jim Meyering  <jim@meyering.net>
112515         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
112516         from working on systems without dirfd (at least Irix and OSF1/Tru64).
112518 2003-01-23  Bruno Haible  <bruno@clisp.org>
112520         * modules/minmax: New module.
112521         * MODULES.html.sh (func_all_modules): Add it.
112523 2003-01-23  Bruno Haible  <bruno@clisp.org>
112525         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
112526         Eggert.
112528 2003-01-22  Bruno Haible  <bruno@clisp.org>
112530         * modules/exit: New module.
112531         * MODULES.html.sh (func_all_modules): Add it.
112533 2003-01-22  Bruno Haible  <bruno@clisp.org>
112535         * lib/exit.h: New file, from GNU gettext.
112537 2003-01-19  Bruno Haible  <bruno@clisp.org>
112539         * gnulib-tool: Recognize option --extract-maintainer.
112540         (func_get_maintainer): New function.
112541         * modules/*: Add Maintainer entry.
112543 2003-01-16  Jim Meyering  <jim@meyering.net>
112545         * m4/regex.m4: The `regex' struct is both input and output.
112546         Initialize it before each use.  Patch by Tim Waugh.
112548 2003-01-16  Bruno Haible  <bruno@clisp.org>
112550         * MODULES.html.sh: Add a table of contents. Add the module name as
112551         leftmost column. Add hyperlinks.
112553 2003-01-15  Bruno Haible  <bruno@clisp.org>
112555         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
112557 2003-01-15  Bruno Haible  <bruno@clisp.org>
112559         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
112560         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
112561         suffix.
112563 2003-01-15  Bruno Haible  <bruno@clisp.org>
112565         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
112567 2003-01-15  Bruno Haible  <bruno@clisp.org>
112569         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
112570         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
112572 2003-01-14  Jim Meyering  <jim@meyering.net>
112574         * lib/same.c (same_name): Tweak a comment.
112576 2003-01-14  Bruno Haible  <bruno@clisp.org>
112578         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
112579         when a string comparison is sufficient.
112581 2003-01-14  Bruno Haible  <bruno@clisp.org>
112583         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
112584         'unsigned int'.
112586 2003-01-14  Bruno Haible  <bruno@clisp.org>
112588         * lib/hash-pjw.c: Add comment about low quality of this function.
112590 2003-01-13  Bruno Haible  <bruno@clisp.org>
112592         * modules/stpcpy: Distribute lib/stpcpy.h.
112593         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
112595 2003-01-13  Bruno Haible  <bruno@clisp.org>
112597         * modules/*: Add a description.
112598         * modules/strpbrk: Fix Makefile.am snippet.
112599         * modules/strtoimax: Fix dependencies.
112600         * modules/strtoumax: Likewise.
112602 2003-01-13  Bruno Haible  <bruno@clisp.org>
112604         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
112605         * modules/alloca (Makefile.am): All object files depend on alloca.h.
112606         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
112608 2003-01-13  Bruno Haible  <bruno@clisp.org>
112610         * gnulib-tool (func_create_testdir): Store config/* files in the main
112611         directory.
112612         * config.rpath: Move to ...
112613         * config/config.rpath: ... here.
112614         * modules/gettext: Contains config/config.rpath, not config.rpath.
112615         * modules/iconv: Likewise.
112617 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112619         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112620         to avoid collisions with libcurses and libreadline.
112622         * m4/getstr.m4: Remove.
112623         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
112625 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112627         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112628         to avoid collisions with libcurses and libreadline.
112630         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
112631         * lib/getstr.h, getstr.c: Remove.
112632         * lib/getline.c: Include "getline.h", to check interface.
112633         Move body of old getstr.c here: this defines MIN_CHUNK and
112634         declares getdelim2, which is renamed from getstr.
112635         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
112637         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
112638         All uses changed.
112639         * lib/linebuffer.h: Likewise.
112640         (readline): Remove backward-compatibility macro.
112642 2003-01-12  Paul Eggert  <eggert@twinsun.com>
112644         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
112645         to avoid collisions with libcurses and libreadline.
112646         * getstr: Remove.
112647         * MODULES.html.sh: Remove getstr.
112648         * modules/getline: Depend on unlocked-io, not getstr.
112650 2003-01-12  Jim Meyering  <jim@meyering.net>
112652         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
112654 2003-01-10  Bruno Haible  <bruno@clisp.org>
112656         * modules/alloca: Change Makefile.am requirements. Simplify Include
112657         requirements. Add lib/alloca_.h to file list.
112659 2003-01-10  Bruno Haible  <bruno@clisp.org>
112661         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
112663 2003-01-10  Bruno Haible  <bruno@clisp.org>
112665         * lib/alloca_.h: New file.
112666         * lib/getdate.y: Unconditionally include alloca.h.
112667         * lib/makepath.c: Likewise.
112668         * lib/setenv.c: Likewise.
112669         * lib/userspec.c: Likewise.
112671 2003-01-09  Karl Berry  <karl@gnu.org>
112673         * MODULES.html.sh: include `dirname $0` in PATH, to find
112674         gnulib-tool.
112676 2003-01-09  Bruno Haible  <bruno@clisp.org>
112678         * modules/stdbool: Change configure.ac, Makefile.am requirements.
112679         Simplify Include requirements. Add lib/stdbool.h.in to file list.
112681 2003-01-09  Bruno Haible  <bruno@clisp.org>
112683         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
112685 2003-01-09  Bruno Haible  <bruno@clisp.org>
112687         * lib/stdbool.h.in: New file.
112689 2003-01-09  Bruno Haible  <bruno@clisp.org>
112691         * gnulib-tool (func_all_modules): Ignore files ending in ~.
112692         * MODULES.html.sh: Likewise.
112694 2003-01-08  Jim Meyering  <jim@meyering.net>
112696         * lib/full-write.c: Undefine and define-away `const' after inclusion
112697         of errno.h, not before.  Suggestion from Bruno Haible.
112699 2003-01-08  Bruno Haible  <bruno@clisp.org>
112701         * modules/full-read: Depend on full-write.
112703 2003-01-08  Bruno Haible  <bruno@clisp.org>
112705         * lib/safe-read.c: Include specification header first, to ensure its
112706         selfcontainedness.
112707         * lib/full-write.c: Likewise.
112709 2003-01-07  Jim Meyering  <jim@meyering.net>
112711         * lib/full-write.c: Rework so that it may serve to define full_read,
112712         too.
112713         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
112715 2003-01-07  Bruno Haible  <bruno@clisp.org>
112717         * lib/strtoimax.c: Include <stdint.h> as an alternative to
112718         <inttypes.h>.
112719         * lib/xstrtol.h: Likewise.
112720         * lib/xstrtoimax.c: Likewise.
112721         * lib/xstrtoumax.c: Likewise.
112722         * lib/human.h: Likewise.
112724         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
112725         on systems that have <inttypes.h> but not <stdint.h>.
112727 2003-01-07  Bruno Haible  <bruno@clisp.org>
112729         * MODULES.html.sh: Add copyright notice.
112730         (missed_files): Omit CVS directory entries.
112731         (func_module): Make it work with sed-3.02.
112732         * MODULES.txt: Remove file.
112734 2003-01-06  Jim Meyering  <jim@meyering.net>
112736         * lib/version-etc.c: Update year in translatable copyright string.
112738 2003-01-03  Karl Berry  <karl@gnu.org>
112740         * config/config.{guess,sub}: update from prep.
112742 2003-01-02  Karl Berry  <karl@gnu.org>
112744         * doc/COPYING.DOC: belatedly updated to 1.2.
112746 2003-01-01  Karl Berry  <karl@gnu.org>
112748         * gnulib-tool (func_verify_module): report module name $module in
112749         error message, not $1.
112750         * gnulib-tool (create-testdir): don't complain if destdir couldn't
112751         be created, only if it doesn't exist.
112752         * gnulib-tool (last_checkin_date): don't expand the $Date here.
112754 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112756         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
112758 2002-12-31  Paul Eggert  <eggert@twinsun.com>
112760         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
112761         memcmp if strcoll doesn't work.
112763 2002-12-31  Bruno Haible  <bruno@clisp.org>
112765         * lib/utime.c (utime_null): No need to call ftruncate if the file was
112766         nonempty.
112768 2002-12-31  Bruno Haible  <bruno@clisp.org>
112770         * lib/memcoll.c (STRCOLL): New macro.
112771         (memcoll): Use it.
112773 2002-12-31  Bruno Haible  <bruno@clisp.org>
112775         * lib/localcharset.h: New file.
112776         * lib/localcharset.c: Include it.
112777         * lib/unicodeio.c: Likewise.
112779 2002-12-31  Bruno Haible  <bruno@clisp.org>
112781         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
112782         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
112784 2002-12-31  Bruno Haible  <bruno@clisp.org>
112786         * lib/getline.h: Include <stddef.h>, for size_t.
112788         * lib/unicodeio.h: Include <stddef.h>, for size_t.
112789         * lib/unicodeio.c: Don't include <stddef.h>.
112791 2002-12-31  Bruno Haible  <bruno@clisp.org>
112793         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
112794         HAVE_TM_ZONE.
112796 2002-12-24  Karl Berry  <karl@gnu.org>
112798         * config/config.guess: update from prep.
112800 2002-12-24  Bruno Haible  <bruno@clisp.org>
112802         General infrasructure.
112803         * m4/README: Rewritten.
112804         * m4/onceonly.m4: New file.
112805         * m4/onceonly_2_57.m4: New file.
112807         Module atexit.
112808         * m4/atexit.m4: New file.
112810         Module strtod.
112811         * m4/strtod.m4: New file.
112813         Module strtol.
112814         * m4/strtol.m4: New file.
112816         Module strtoul.
112817         * m4/strtoul.m4: New file.
112819         Module memchr.
112820         * m4/memchr.m4: New file.
112822         Module memcmp.
112823         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
112824         (jm_FUNC_MEMCMP): Invoke it.
112826         Module memcpy.
112827         * m4/memcpy.m4: New file.
112829         Module memmove.
112830         * m4/memmove.m4: New file.
112832         Module memset.
112833         * m4/memset.m4: New file.
112835         Module strcspn.
112836         * m4/strcspn.m4: New file.
112838         Module strpbrk.
112839         * m4/strpbrk.m4: New file.
112841         Module strstr.
112842         * m4/strstr.m4: New file.
112844         Module strerror.
112845         * m4/strerror.m4: New file.
112847         Module mktime.
112848         * m4/mktime.m4: Renamed from jm-mktime.m4.
112849         (gl_PREREQ_MKTIME): New macro.
112850         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
112852         Module malloc.
112853         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
112854         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
112855         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
112857         Module realloc.
112858         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
112859         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
112860         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
112862         Module strftime.
112863         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
112864         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
112865         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
112866         gl_TM_GMTOFF.
112867         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
112869         Module xalloc.
112870         * m4/xalloc.m4: New file.
112872         Module alloca.
112873         * m4/alloca.m4: New file.
112875         Module putenv.
112876         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
112877         (jm_FUNC_PUTENV): Invoke it.
112879         Module setenv.
112880         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
112881         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
112882         when invoked twice.
112883         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
112884         gt_FUNC_SETENV.
112886         Module memrchr.
112887         * m4/memrchr.m4: New file.
112889         Module stpcpy.
112890         * m4/stpcpy.m4: New file.
112892         Module strcase.
112893         * m4/strcase.m4: New file.
112895         Module strdup.
112896         * m4/strdup.m4: New file.
112898         Module strnlen.
112899         * m4/strnlen.m4: New file.
112901         Module strndup.
112902         * m4/strndup.m4: New file.
112904         Module xstrtod.
112905         * m4/xstrtod.m4: New file.
112907         Module xstrtol.
112908         * m4/xstrtol.m4: New file.
112910         Module getdate.
112911         * m4/getdate.m4: New file.
112913         Module unlocked-io.
112914         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
112915         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
112916         * m4/jm-glibc-io.m4n: Remove file.
112918         Module long-options.
112919         * m4/long-options.m4: New file.
112921         Module md5.
112922         * m4/md5.m4: New file.
112924         Module sha.
112925         * m4/sha.m4: New file.
112927         Module getstr.
112928         * m4/getstr.m4: New file.
112930         Module getline.
112931         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
112932         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
112933         <sys/types.h>, for size_t. Use the function name gnu_getline, not
112934         simply getline. Infoke gl_PREREQ_GETLINE.
112936         Module obstack.
112937         * m4/obstack.m4: New file.
112939         Module hash.
112940         * m4/hash.m4: New file.
112942         Module readtokens.
112943         * m4/readtokens.m4: New file.
112945         Module strverscmp.
112946         * m4/strverscmp.m4: New file.
112948         Module stdbool.
112949         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
112950         OSF/1.
112952         Module strtoll.
112953         * m4/strtoll.m4: New file.
112955         Module strtoull.
112956         * m4/strtoull.m4: New file.
112958         Module strtoimax.
112959         * m4/strtoimax.m4: New file.
112961         Module strtoumax.
112962         * m4/strtoumax.m4: New file.
112964         Module xstrtoimax.
112965         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
112966         jm_AC_PREREQ_XSTRTOIMAX.
112967         Moved the strtol prerequisites to strtol.m4.
112968         Moved the strtoll prerequisites to strtoll.m4.
112969         Moved the strtoimax prerequisites to strtoimax.m4.
112971         Module xstrtoumax.
112972         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
112973         jm_AC_PREREQ_XSTRTOUMAX.
112974         Moved the strtoul prerequisites to strtoul.m4.
112975         Moved the strtoull prerequisites to strtoull.m4.
112976         Moved the strtoumax prerequisites to strtoumax.m4.
112978         Module chown.
112979         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
112980         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
112982         Module dup2.
112983         * m4/dup2.m4: New file.
112985         Module ftruncate.
112986         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
112987         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
112989         Module getgroups.
112990         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
112991         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
112993         Module gettimeofday.
112994         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
112995         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
112996         gl_PREREQ_GETTIMEOFDAY.
112998         Module mkdir.
112999         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
113000         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
113002         Module mkstemp.
113003         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
113004         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
113005         jm_AC_TYPE_UINTMAX_T.
113006         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
113008         Module stat.
113009         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
113010         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
113012         Module lstat.
113013         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
113014         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
113016         Module timespec.
113017         * m4/timespec.m4 (gl_TIMESPEC): New macro.
113018         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
113019         * m4/st_mtim.m4: Indentation.
113021         Module nanosleep.
113022         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
113023         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
113024         gl_PREREQ_NANOSLEEP.
113026         Module regex.
113027         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
113028         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
113029         (gl_REGEX): New macro.
113031         Module rename.
113032         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
113033         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
113035         Module rmdir.
113036         * m4/rmdir.m4: New file.
113038         Module utime.
113039         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
113040         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
113041         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
113043         Module dirname.
113044         * m4/dirname.m4: New file.
113046         Module getopt.
113047         * m4/getopt.m4: New file.
113049         Module unistd-safer.
113050         * m4/unistd-safer.m4: New file.
113052         Module fnmatch.
113053         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
113054         declaration.
113055         (gl_PREREQ_FNMATCH_EXTRA): New macro.
113056         (gl_FUNC_FNMATCH_POSIX): New macro.
113057         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
113058         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
113059         simply fnmatch.
113061         Module exclude.
113062         * m4/exclude.m4: New file.
113064         Module human.
113065         * m4/human.m4: New file.
113067         Module acl.
113068         * m4/acl.m4: Nop.
113070         Module backupfile.
113071         * m4/backupfile.m4: New file.
113072         * m4/d-ino.m4: Indentation.
113074         Module fsusage.
113075         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
113076         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
113077         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
113079         Module dirfd.
113080         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
113081         requirements.
113083         Module euidaccess.
113084         * m4/euidaccess.m4: New file.
113086         Module file-type.
113087         * m4/file-type.m4: New file.
113089         Module fileblocks.
113090         * m4/fileblocks.m4: New file.
113092         Module filemode.
113093         * m4/filemode.m4: New file.
113095         Module isdir.
113096         * m4/isdir.m4: New file.
113098         Module lchown.
113099         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
113100         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
113102         Module makepath.
113103         * m4/makepath.m4: New file.
113105         Module modechange.
113106         * m4/modechange.m4: New file.
113108         Module mountlist.
113109         * m4/mountlist.m4: New file.
113110         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
113111         Indentation.
113113         Module path-concat.
113114         * m4/path-concat.m4: New file.
113116         Module pathmax.
113117         * m4/pathmax.m4: New file.
113119         Module same.
113120         * m4/same.m4: New file.
113122         Module save-cwd.
113123         * m4/save-cwd.m4: New file.
113125         Module savedir.
113126         * m4/savedir.m4: New file.
113128         Module xgetcwd.
113129         * m4/xgetcwd.m4: New file.
113130         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
113132         Module xreadlink.
113133         * m4/xreadlink.m4: New file.
113135         Module safe-read.
113136         * m4/safe-read.m4: New file.
113138         Module safe-write.
113139         * m4/safe-write.m4: New file.
113141         Module closeout.
113142         * m4/closeout.m4: New file.
113144         Module stdio-safer.
113145         * m4/stdio-safer.m4: New file.
113147         Module getpass.
113148         * m4/getpass.m4: New file.
113150         Module getugroups.
113151         * m4/getugroups.m4: New file.
113153         Module group-member.
113154         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
113155         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
113157         Module idcache.
113158         * m4/idcache.m4: New file.
113160         Module userspec.
113161         * m4/userspec.m4: New file.
113163         Module gettime.
113164         * m4/clock_time.m4: New file.
113165         * m4/gettime.m4: New file.
113167         Module settime.
113168         * m4/settime.m4: New file.
113170         Module posixtm.
113171         * m4/posixtm.m4: New file.
113173         Module gethostname.
113174         * m4/gethostname.m4: New file.
113176         Module canon-host.
113177         * m4/canon-host.m4: New file.
113179         Module gettext.
113180         * m4/codeset.m4: New file, from gettext-0.11.5.
113181         * m4/gettext.m4: New file, from gettext-0.11.5.
113182         * m4/glibc21.m4: New file, from gettext-0.11.5.
113183         * m4/iconv.m4: New file, from gettext-0.11.5.
113184         * m4/intdiv0.m4: New file, from gettext-0.11.5.
113185         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
113186         * m4/inttypes.m4: New file, from gettext-0.11.5.
113187         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
113188         * m4/isc-posix.m4: New file, from gettext-0.11.5.
113189         * m4/lcmessage.m4: New file, from gettext-0.11.5.
113190         * m4/lib-ld.m4: New file, from gettext-0.11.5.
113191         * m4/lib-link.m4: New file, from gettext-0.11.5.
113192         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
113193         * m4/progtest.m4: New file, from gettext-0.11.5.
113194         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
113195         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
113196         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
113198         Module localcharset.
113199         * m4/localcharset.m4: New file.
113201         Module hard-locale.
113202         * m4/hard-locale.m4: New file.
113204         Module mbswidth.
113205         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
113206         onceonly macros.
113207         * m4/mbrtowc.m4: Add comment.
113209         Module memcasecmp.
113210         * m4/memcasecmp.m4: New file.
113212         Module memcoll.
113213         * m4/memcoll.m4: New file.
113215         Module unicodeio.
113216         * m4/unicodeio.m4: New file.
113218         Module rpmatch.
113219         * m4/rpmatch.m4: New file.
113221         Module yesno.
113222         * m4/yesno.m4: New file.
113224         Module exitfail.
113225         * m4/exitfail.m4: New file.
113227         Module c-stack.
113228         * m4/c-stack.m4 (gl_C_STACK): New macro.
113229         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
113231         Module error.
113232         * m4/error.m4 (gl_ERROR): New macro.
113233         (jm_PREREQ_ERROR): Use onceonly macros.
113235         Module fatal.
113236         * m4/fatal.m4: New file.
113238         Module getloadavg.
113239         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
113240         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
113242         Module getpagesize.
113243         * m4/getpagesize.m4: New file.
113245         Module getusershell.
113246         * m4/getusershell.m4: New file.
113248         Module physmem.
113249         * m4/physmem.m4: New file.
113251         Module posixver.
113252         * m4/posixver.m4: New file.
113254         Module quotearg.
113255         * m4/quotearg.m4: New file.
113257         Module quote.
113258         * m4/quote.m4: New file.
113260         Module readutmp.
113261         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
113263         Module sig2str.
113264         * m4/sig2str.m4: New file.
113266         Other.
113267         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
113268         ulonglong.m4.
113269         * m4/intmax_t.m4: New file.
113270         * m4/d-type.m4: Indentation.
113271         * m4/jm-macros.m4: Update.
113272         * m4/prereq.m4 (jm_PREREQ): Update.
113273         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
113274         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
113275         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
113276         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
113277         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
113278         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
113279         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
113280         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
113281         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
113282         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
113283         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
113284         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
113285         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
113286         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
113287         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
113288         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
113289         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
113290         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
113291         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
113293 2002-12-24  Bruno Haible  <bruno@clisp.org>
113295         * MODULES.txt: Update according to m4/ changes.
113297         Module gettext.
113298         * config.rpath: New file, from gettext-0.11.5.
113300         * modules/*: New module descriptions.
113301         * gnulib-tool: New file.
113302         * MODULES.html.sh: New file.
113304 2002-12-21  Karl Berry  <karl@gnu.org>
113306         * doc/fdl.texi: update to version 1.2.
113308 2002-12-19  Karl Berry  <karl@gnu.org>
113310         * config/config.guess: update from prep.
113312 2002-12-18  Bruno Haible  <bruno@clisp.org>
113314         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
113315         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
113317 2002-12-17  Bruno Haible  <bruno@clisp.org>
113319         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
113320         stdlib.h, string.h.
113322 2002-12-17  Bruno Haible  <bruno@clisp.org>
113324         * lib/canon-host.c (strdup): Remove unused declaration.
113326         * lib/fsusage.c: Include full_read.h.
113327         (get_fs_usage): Use full_read instead of safe_read.
113329         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
113331 2002-12-12  Karl Berry  <karl@gnu.org>
113333         * config/config.guess: update from prep.
113335 2002-12-11  Bruno Haible  <bruno@clisp.org>
113337         * m4/setenv.m4: New file, from gettext-0.11.5.
113339 2002-12-11  Bruno Haible  <bruno@clisp.org>
113341         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
113342         not unsetenv().
113343         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
113344         modifications:
113346         2002-12-11  Bruno Haible  <bruno@clisp.org>
113348                 * setenv.c (alloca): Fall back to malloc.
113349                 (freea): New macro.
113350                 (setenv): Use freea() to free memory allocated with alloca().
113352         2002-11-13  Bruno Haible  <bruno@clisp.org>
113354                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
113355                 function declarations.
113356                 * unsetenv.c (unsetenv): Likewise.
113358         2002-03-04  Bruno Haible  <bruno@clisp.org>
113360                 Portability to AIX 4.3.3.
113361                 * unsetenv.c: New file, extracted from setenv.c.
113362                 * setenv.c: Move the unsetenv() function to unsetenv.c.
113364         2001-12-20  Bruno Haible  <bruno@clisp.org>
113366                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
113367                 use malloc instead. For SunOS 4.
113369         2001-12-11  Bruno Haible  <bruno@clisp.org>
113371                 * setenv.c: Declare alloca.
113372                 (compar_fn_t): New typedef.
113373                 (KNOWN_VALUE, STORE_VALUE): Use it.
113375         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
113376         setenv.h.
113378 2002-12-10  Paul Eggert  <eggert@twinsun.com>
113380         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
113381         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
113382         Choose values that are less likely to collide with system fnmatch
113383         options.
113384         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
113385         defined (e.g., a pure POSIX system).
113386         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
113387         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
113389 2002-12-06  Paul Eggert  <eggert@twinsun.com>
113391         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
113392         a pain in practice to deal with generated m4 files.  This change
113393         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
113395         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
113396         and jm-glibc-io.m4, as they are no longer a special case.
113397         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
113398         kludge and the auto-generation stuff.  Check only whether the
113399         functions are declared, not whether they exist, since older hosts
113400         that don't declare the functions can't use the optimization anyway.
113402 2002-12-06  Jim Meyering  <jim@meyering.net>
113404         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
113406         Merge in changes from libc's misc/error.c, in preparation
113407         for the merge of gnulib's changes back into libc.
113409         * lib/error.c (_): Define only if not already defined.
113410         Move definition to follow all #include directives.
113411         Include unlocked-io.h only if !_LIBC.
113412         [_LIBC]: Include <libio/libioP.h>.
113413         [USE_IN_LIBIO]: Include <libio/iolibio.h>
113414         (fflush): Tweak definition to use INTUSE.
113415         (putc): Define.
113417 2002-12-05  Paul Eggert  <eggert@twinsun.com>
113419         * lib/alloca.c [defined emacs]: Include "lisp.h".
113420         (xalloc_die) [defined emacs]: New macro.
113421         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
113422         [! defined emacs]: Include <xalloc.h>.
113423         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
113424         (pointer): Typedef to POINTER_TYPE *.
113425         (malloc): Remove decl; we now always use xmalloc.
113426         (alloca): Use old-style definition, since Emacs needs this.
113427         Check for arithmetic overflow when computing combined size.
113429 2002-12-04  Paul Eggert  <eggert@twinsun.com>
113431         Do not generate unlocked-io.h automatically, since it's easier to
113432         maintain it by hand.
113434         * lib/unlocked-io.h: New file, from GNU diffutils,
113435         but with proper copyright notice and attribution.
113436         * lib/gen-uio: Remove.
113437         * lib/Makefile.am: Add copyright notice.
113438         (libfetish_a_SOURCES): Add unlocked-io.h.
113439         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
113440         (DISTCLEANFILES, io_functions): Remove macros.
113441         (EXTRA_DIST): Remove gen_uio.
113442         (unlocked-io.h): Remove rule.
113444 2002-12-04  Jim Meyering  <jim@meyering.net>
113446         Reflect the fact that stat.c and lstat.c are no longer generated.
113447         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
113448         (DISTCLEANFILES): Likewise.
113449         (EXTRA_DIST): Likewise.
113450         (all_local): Don't depend on stat.c or lstat.c.
113451         (stat.c, lstat.c): Remove rules.
113452         (EXTRA_DIST): Remove xstat.in.
113454         * lib/xstat.in: Remove file.  Contents moved into stat.c.
113455         * lib/stat.c: New file.  Contents mostly from xstat.in.
113456         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
113457         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
113459         * lib/safe-read.c: Rework so that it may serve to define safe_write,
113460         too.
113461         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
113463 2002-12-03  Jim Meyering  <jim@meyering.net>
113465         * lib/safe-read.c, safe-write.c: Change variable names and comments,
113466         but not semantics, to minimize the differences between these two files.
113467         (safe_read): Change comment to mention SAFE_READ_ERROR.
113469         * lib/safe-read.c (IS_EINTR): Define.
113470         (safe_read): Use IS_EINTR in place of in-function cpp directives.
113472 2002-12-02  Jim Meyering  <jim@meyering.net>
113474         * lib/safe-read.c (EINTR): Define.
113475         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
113476         (INT_MAX): Provide fallback.
113477         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
113479         * lib/safe-read.h (SAFE_READ_ERROR): Define.
113481 2002-12-02  Bruno Haible  <bruno@clisp.org>
113483         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
113484         Define, taken from safe-read.c.
113485         (INT_MAX): Provide fallback.
113486         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
113487         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
113489         * lib/safe-read.c (EINTR): Remove definition.
113490         (safe_read): Don't use EINTR if it is absent.
113492 2002-12-01  Jim Meyering  <jim@meyering.net>
113494         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
113495         zero.
113496         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
113498 2002-11-27  Paul Eggert  <eggert@twinsun.com>
113500         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
113501         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
113502         with `if (! (value < limit)) abort ();', for readability.
113504 2002-11-26  Karl Berry  <karl@gnu.org>
113506         * lib/strdup.c: copy from libc again, with jim's ok.
113507         * lib/.cppi-disable: re-add strdup.c
113509 2002-11-25  Karl Berry  <karl@gnu.org>
113511         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
113512         instead of "strtol.c".
113514 2002-11-25  Karl Berry  <karl@gnu.org>
113516         * config/install-sh: update from automake for variable quoting, $0 in
113517         error msgs, etc.
113519         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
113520         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
113521         entry.
113523 2002-11-25  Jim Meyering  <jim@meyering.net>
113525         * lib/mktime.c: Sync from libc, now that it has the latest fix.
113527 2002-11-24  Karl Berry  <karl@gnu.org>
113529         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
113530         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
113532 2002-11-24  Jim Meyering  <jim@meyering.net>
113534         Update from coreutils:
113536         * lib/mktime.c: Merge in changes from libc.
113538         Avoid a link-time failure on some Linux systems.
113539         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
113540         (otherwise).
113541         (__mon_yday): Declare with the STATIC attribute.
113542         (__mktime_internal): Likewise.
113543         Based on a report from Greg Schafer.
113545 2002-11-23  Jim Meyering  <jim@meyering.net>
113547         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
113548         Use `unsigned', not `int', as type of index.
113550         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
113552         * lib/fsusage.c: Remove unneeded parentheses around operands of
113553         `defined'.
113555 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113557         * lib/quotearg.h: Allow multiple inclusion by surrounding with
113558         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
113559         so that we can be included first.
113560         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
113561         * lib/quotearg.c: Include quotearg.h immediately after config.h.
113562         No need to include stddef.h or sys/types.h any more.
113563         Surround local include files with "", not "<>".
113564         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
113565         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
113566         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
113567         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
113568         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
113569         (ISPRINT): Remove; no longer needed now that we assume C89.
113571         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
113572         Preserve errno.
113574         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
113575         quotearg_char): Use SIZE_MAX rather than
113576         (size_t) -1 when we are talking about "infinity".
113578         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
113580 2002-11-22  Paul Eggert  <eggert@twinsun.com>
113582         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
113583         hint that one should use `if (! x) abort ();' rather than `assert
113584         (x);', and anyway it's one less thing to worry about configuring.
113585         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
113586         hash_rehash, hash_insert): Use abort rather than assert.
113588 2002-11-22  Bruno Haible  <bruno@clisp.org>
113590         * lib/safe-read.h: Assume C89. Add comments.
113591         (safe_read): Change return type to size_t.
113592         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
113593         byte counts > SSIZE_MAX correctly.
113594         * lib/safe-write.h: New file.
113595         * lib/safe-write.c: New file.
113596         * lib/full-read.h: New file.
113597         * lib/full-read.c: New file.
113598         * lib/full-write.h: Assume C89. Add comments.
113599         * lib/full-write.c: Include safe-write.h.
113600         (full_write): Rewritten to use safe_write.
113601         Suggested by Jim Meyering and Paul Eggert.
113603 2002-11-21  Jim Meyering  <jim@meyering.net>
113605         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
113607         Merge in changes from the coreutils.
113609         2002-09-25  Paul Eggert  <eggert@twinsun.com>
113610         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
113611         <stdint.h>.
113612         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
113613         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
113614         int.  Work more efficiently if X is the same width as uintmax_t.
113615         Do not compare X to -1, to avoid bogus compiler warning.
113616         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
113617         Don't assume that f_frsize and f_bsize are the same type.
113619         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
113620         warning on FreeBSD.
113622         * lib/makepath.c (make_path): Restore umask *before* creating the final
113623         component.
113624         (make_path): Minor reformatting.
113626         * lib/xmalloc.c: Adjust to work with new autoconf macros,
113627         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
113628         HAVE_MALLOC/HAVE_REALLOC.
113630         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
113631         dummy ones.  At least on GNU/Linux systems, `auto' means something
113632         else.
113633         From Michael Stone.
113635 2002-11-21  Bruno Haible  <bruno@clisp.org>
113637         Remove case insensitive option matching.
113638         * lib/argmatch.h (argcasematch): Remove declaration.
113639         (ARGCASEMATCH): Remove macro.
113640         (__xargmatch_internal): Remove case_sensitive argument.
113641         (XARGMATCH): Update.
113642         (XARGCASEMATCH): Remove macro.
113643         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
113644         case_sensitive argument.
113645         (argcasematch): Remove function.
113646         (__xargmatch_internal): Remove case_sensitive argument.
113647         (main): Use XARGMATCH instead of XARGCASEMATCH.
113649         * lib/xmalloc.c: Change compile-time error message. Add comment about
113650         required autoconf version.
113652 2002-11-20  Paul Eggert  <eggert@twinsun.com>
113654         Merge argmatch cleanups from Bison.  Assume C89.
113656         * lib/argmatch.c: Include config.h here, not in argmatch.h.
113657         Include stdlib.h, for EXIT_FAILURE.
113658         Always include <string.h>, since we assume C89.
113659         (EXIT_FAILURE): Remove pre-C89 bug workaround.
113660         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
113661         Include <stddef.h> instead, since it's all we need for size_t.
113662         (PARAMS): Remove.  All uses removed.
113663         (ARRAY_CARDINALITY): Do not bother to #undef.
113664         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
113665         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113666         Remove unnecessary parentheses.
113667         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
113668         Insert necessary parentheses.
113669         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
113670         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
113672 2002-11-19  Bruno Haible  <bruno@clisp.org>
113674         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
113675         * lib/mbswidth.h: Include <stddef.h>, for size_t.
113677         * lib/mbswidth.h (PARAMS): Remove macro.
113678         (mbswidth, mbsnwidth): Use ANSI C function declarations.
113679         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
113681         * lib/gcd.h (PARAMS): Remove macro.
113682         (gcd): Use ANSI C function declarations.
113683         * lib/gcd.c (gcd): Likewise.
113685 2002-11-15  Bruno Haible  <bruno@clisp.org>
113687         * lib/strcspn.c: Include <stddef.h>.
113688         (strcspn): Use ANSI C function declaration. Change return type to
113689         size_t. Use NULL.
113690         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
113691         (strpbrk): Use NULL.
113692         * lib/strpbrk.h (PARAMS): Remove macro.
113693         (strpbrk): Use ANSI C function declaration.
113694         * lib/strstr.c: Don't include <sys/types.h>.
113695         * lib/strstr.h (PARAMS): Remove macro.
113696         (strstr): Use ANSI C function declarations.
113698 2002-11-14  Karl Berry  <karl@gnu.org>
113700         * config/mkinstalldirs: `do' on separate line, instead of
113701         `for var; do'.
113703 2002-11-06  Bruno Haible  <bruno@clisp.org>
113705         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
113706         * lib/gcd.c (gcd): Likewise.
113708 2002-11-05  Bruno Haible  <bruno@clisp.org>
113710         * lib/gcd.h: New file, from gettext-0.11.5.
113711         * lib/gcd.c: New file, from gettext-0.11.5.
113713 2002-11-05  Bruno Haible  <bruno@clisp.org>
113715         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113716         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113717         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113718         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
113720         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
113721         <libintl.h>.
113722         * lib/makepath.c: Include gettext.h instead of <locale.h> and
113723         <libintl.h>.
113725         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
113726         * lib/human.c: Include gettext.h instead of <libintl.h>.
113727         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
113728         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
113729         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
113730         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
113731         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
113732         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
113733         (textdomain): Remove definition.
113734         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
113736         * lib/long-options.c: Remove include of <libintl.h> and definition of
113737         _.
113738         * lib/same.c: Remove include of <libintl.h> and definition of _.
113740 2002-11-04  Owen Taylor  <otaylor@redhat.com>
113742         * lib/config.charset: A few additions for Solaris.
113744 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113746         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
113747         * lib/localcharset.c (locale_charset): Declare as extern "C".
113749 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
113751         * lib/config.charset: msdos in uk_UA uses CP1125.
113753 2002-11-04  Bruno Haible  <bruno@clisp.org>
113755         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
113756         * lib/strcase.h: New file, from GNU gettext-0.11.5.
113757         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
113758         * lib/strstr.h: New file, from GNU gettext-0.11.5.
113759         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
113761 2002-11-04  Bruno Haible  <bruno@clisp.org>
113763         * lib/localcharset.c (locale_charset): Don't return an empty string.
113765 2002-11-04  Bruno Haible  <bruno@clisp.org>
113767         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
113768         aliases.
113770 2002-11-04  Bruno Haible  <bruno@clisp.org>
113772         * lib/config.charset: Update for newest glibc. Add canonical names
113773         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
113775 2002-11-04  Bruno Haible  <bruno@clisp.org>
113777         * lib/config.charset: Add support for NetBSD.
113779 2002-11-04  Bruno Haible  <bruno@clisp.org>
113781         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
113783 2002-11-01  Bruno Haible  <bruno@clisp.org>
113785         * configure.in: Add AC_CONFIG_AUX_DIR call.
113786         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
113787         test/Makefile.
113788         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
113790 2002-09-28  Karl Berry  <karl@gnu.org>
113792         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
113793         installed automake until the next release, since changes have been
113794         made.
113796 2002-09-25  Karl Berry  <karl@gnu.org>
113798         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
113799         * lib/getopt*: copy from libc/posix.
113800         * lib/gettext.h: copy from gettext.
113801         * lib/.cppi-disable: add strdup.c, gettext.h.
113803 2002-09-25  Karl Berry  <karl@gnu.org>
113805         * config/srclist.txt: enable gettext.h check.
113806         * config/config.{guess,sub}: update from prep.
113807         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
113808                 from automake 1.6.3.
113809         See srclist*.
113811 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
113813         * regex.c (PATFETCH): Remove the translating fetch.
113814         (PATFETCH_RAW): Rename to PATFETCH.
113815         (set_image_of_range): New fun.
113816         (SET_RANGE_TABLE_WORK_AREA): Use it.
113817         (regex_compile): Don't translate the pattern chars so eagerly.
113818         Only do it when inserting an `exactn' bytecode or when handling
113819         a char-range.
113820         (mutually_exclusive_p): Avoid empty statement.
113822 2002-07-06  Jim Meyering  <meyering@lucent.com>
113824         * m4/README: Don't mention Makefile.am.in.
113825         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
113827 2002-07-01  Jim Meyering  <meyering@lucent.com>
113829         * lib/c-stack.c: Include sys/time.h.
113830         From Volker Borchert.
113832 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113834         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
113836 2002-06-26  Paul Eggert  <eggert@twinsun.com>
113838         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
113839         New macro.  Use it uniformly instead of
113840         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
113841         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
113842         reported by Vin Shelton.
113844 2002-06-22  Paul Eggert  <eggert@twinsun.com>
113846         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
113847         Do not assume SA_SIGINFO behavior.
113848         Bug reported by Jim Meyering on NetBSD 1.5.2.
113850 2002-06-22  Jim Meyering  <meyering@lucent.com>
113852         * m4/c-stack.m4: New file, from diffutils-2.8.2.
113853         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
113855         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
113856         now that configure.ac uses AC_GNU_SOURCE.
113857         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
113858         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
113860         Update to latest tools.  Suggestions from Paul Eggert.
113861         * m4/stdbool.m4: New file, from diffutils-2.8.2.
113862         * m4/gnu-source.m4: Update from diffutils-2.8.2.
113863         * m4/fnmatch.m4: Likewise.
113864         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
113865         to AC_HEADER_STDBOOL
113867 2002-06-22  Jim Meyering  <meyering@lucent.com>
113869         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
113870         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
113872 2002-06-22  Jim Meyering  <meyering@lucent.com>
113874         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
113876         * lib/exitfail.c, exitfail.h: Likewise.
113877         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
113879         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
113880         of fnmatch.h.
113881         (EXTRA_DIST): Add fnmatch_loop.c.
113882         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
113884         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
113885         * lib/fnmatch.c: Update from diffutils-2.8.2.
113886         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
113887         * lib/fnmatch.h: Remove file.
113889 2002-06-21  Jim Meyering  <meyering@lucent.com>
113891         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
113892         * m4/mbrtowc.m4: Likewise.
113894         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
113895         * m4/mbswidth.m4: Reflect name change:
113896         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
113897         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
113899         * m4/lib-link.m4: Update from gettext-0.11.2.
113900         * m4/gettext.m4: Likewise.
113902         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
113903         From Alfred M. Szmidt.
113905 2002-06-18  Paul Eggert  <eggert@twinsun.com>
113907         * lib/file-type.h: Report an error if neither S_ISREG nor
113908         S_IFREG is defined, instead of using a test specific to glibc
113909         2.2.  This should be safe, since POSIX requires S_ISREG and
113910         Unix Version 7 had S_IFREG.  We don't need to check for
113911         <sys/types.h> since we don't use any symbols that it defines.
113913 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
113915         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
113916         $@-t, so that each temporary file name is unique and valid in the first
113917         8 characters, for operation under DOS.
113919 2002-06-15  Paul Eggert  <eggert@twinsun.com>
113921         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
113923 2002-06-15  Jim Meyering  <meyering@lucent.com>
113925         Work even with DJGPP 2.03, which lacks support for symlinks.
113926         From Richard Dawe.
113927         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
113928         is defined.
113929         * lib/lchown.c (S_ISLNK): Likewise.
113931 2002-06-15  Jim Meyering  <meyering@lucent.com>
113933         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
113934         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
113935         have been included before this file.
113937 2002-06-14  Jim Meyering  <meyering@lucent.com>
113939         * lib/file-type.h: Use the version from diffutils-2.8.2.
113940         * lib/file-type.c: Likewise.
113942 2002-06-07  Jim Meyering  <meyering@lucent.com>
113944         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
113945         They're needed at least for NetBSD 1.5.2.
113946         ($statxfs_includes): Include those same headers.
113947         ($statxfs_includes): Include sys/vfs.h if available.
113948         ($statxfs_includes): Likewise for sys/statvfs.h.
113949         Check for the following members in both structs statfs and statvfs:
113950         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
113952 2002-06-01  Jim Meyering  <meyering@lucent.com>
113954         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
113955         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
113957 2002-05-28  Jim Meyering  <meyering@lucent.com>
113959         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
113960         Reported by Volker Borchert.
113962 2002-05-27  Jim Meyering  <meyering@lucent.com>
113964         Fix a problem seen only on nonconforming systems whereby ls.c's
113965         use of localtime, and then of gettimeofday would cause trouble:
113966         the localtime call used to initialize rpl_gettimeofday's save
113967         mechanism would clobber ls's current local time information so
113968         that in any long listing the first file would always be listed
113969         with date 1970-01-01.  Analysis by Volker Borchert.
113971         * lib/gettimeofday.c (localtime): Undefine.
113972         (rpl_localtime): New function.
113974 2002-05-27  Jim Meyering  <meyering@lucent.com>
113976         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
113977         localtime.
113979         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
113980         use the replacement function; it wouldn't resolve at link time.
113981         Reported by Volker Borchert.
113983 2002-05-22  Jim Meyering  <meyering@lucent.com>
113985         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
113986         file-type.h.
113987         * lib/file-type.h: New file.
113988         * lib/file-type.c (file_type): New file/function.  Extracted from
113989         diffutils.
113991 2002-04-30  Jim Meyering  <meyering@lucent.com>
113993         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
113995 2002-04-29  Paul Eggert  <eggert@twinsun.com>
113997         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
113999 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114001         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
114002         Do not check for alloca.h (no longer used) or stdbool.h (was never
114003         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
114005 2002-04-29  Paul Eggert  <eggert@twinsun.com>
114007         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
114009 2002-04-29  Jim Meyering  <meyering@lucent.com>
114011         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
114012         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
114013         Use AC_FUNC_STRNLEN here instead.
114015         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
114016         With autoconf-2.53a, it's part of AC_PROG_CC.
114018 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114020         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
114021         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
114023 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114025         * lib/sig2str.h, lib/sig2str.c: New files.
114026         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
114028 2002-04-28  Paul Eggert  <eggert@twinsun.com>
114030         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
114031         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
114032         of 127, since 64 is the largest conceivable number for ancient
114033         nonstandard hosts.
114034         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
114036 2002-04-28  Jim Meyering  <meyering@lucent.com>
114038         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
114040 2002-04-24  Jim Meyering  <meyering@lucent.com>
114042         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
114043         (jm_PREREQ): Use it.
114045         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
114046         mach/mach.h fcntl.h.
114047         Check for this function: setlocale.
114049 2002-04-24  Jim Meyering  <meyering@lucent.com>
114051         * lib/gettext.h: New file, from Gettext.
114052         * lib/Makefile.am (INCLUDES): Remove -I../intl.
114053         (libfetish_a_SOURCES): Add gettext.h.
114055 2002-04-16  Jim Meyering  <meyering@lucent.com>
114057         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
114058         ut_pid, ut_id, ut_exit.
114060 2002-04-16  Jim Meyering  <meyering@lucent.com>
114062         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
114063         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
114064         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
114066 2002-04-12  Jim Meyering  <meyering@lucent.com>
114068         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
114069         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
114070         existence of the getmntinfo function.  Needed for Darwin 5.3.
114072         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
114073         This is necessary at least on Darwin 5.3.
114075         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
114076         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
114077         strnlen.o in the library, and that makes some versions of ranlib
114078         object.
114080 2002-04-12  Jim Meyering  <meyering@lucent.com>
114082         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
114084 2002-04-09  Jim Meyering  <meyering@lucent.com>
114086         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
114087         to be more precise.  Rather than saying we're checking whether the
114088         function `works', say what we're testing.
114089         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
114090         Reported by Bruno Haible.
114092 2002-03-10  Jim Meyering  <meyering@lucent.com>
114094         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
114095         Suggestion from Santiago Vila.
114097 2002-03-08  Jim Meyering  <meyering@lucent.com>
114099         * lib/rename.c: Mention that this wrapper is needed also on
114100         mips-dec-ultrix4.4 systems.
114102 2002-03-02  Jim Meyering  <meyering@lucent.com>
114104         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
114105         not HAVE_CLOCK_SETTIME.
114107 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114109         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
114110         Check for clock_settime.
114112 2002-02-27  Paul Eggert  <eggert@twinsun.com>
114114         * lib/nanosleep.h: Rename to....
114115         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
114117         * lib/gettime.c: New file.
114118         * lib/settime.c: New file.
114119         * lib/stime.c: Remove.
114121         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
114122         timespec.h.  Remove nanosleep.h.
114124 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114126         * m4/acl.m4: New file.
114127         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
114128         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
114130 2002-02-25  Paul Eggert  <eggert@twinsun.com>
114132         * lib/acl.c, lib/acl.h: New files.
114133         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
114135 2002-02-24  Jim Meyering  <meyering@lucent.com>
114137         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
114138         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
114139         cause trouble.  Reported by Nelson Beebe.
114141 2002-02-23  Paul Eggert  <eggert@twinsun.com>
114143         * lib/path-concat.c (xpath_concat): Reorder code to pacify
114144         compilers that don't know that xalloc_die never returns.
114146 2002-02-20  Jim Meyering  <meyering@lucent.com>
114148         * lib/getdate.c: Regenerate using bison-1.33.
114150 2002-02-17  Jim Meyering  <meyering@lucent.com>
114152         * config/config.guess (main): Don't use `head -1'; it's no longer
114153         portable. Use `sed 1q' instead.
114155 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
114157         * m4/codeset.m4: Upgrade to gettext-0.11.
114158         * m4/gettext.m4: Upgrade to gettext-0.11.
114159         * m4/glibc21.m4: Upgrade to gettext-0.11.
114160         * m4/iconv.m4: Upgrade to gettext-0.11.
114161         * m4/isc-posix.m4: Upgrade to gettext-0.11.
114162         * m4/lcmessage.m4: Upgrade to gettext-0.11.
114163         * m4/lib-ld.m4: New file, from gettext-0.11.
114164         * m4/lib-link.m4: New file, from gettext-0.11.
114165         * m4/lib-prefix.m4: New file, from gettext-0.11.
114166         * m4/progtest.m4: Upgrade to gettext-0.11.
114168 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114170         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
114171         (jm_PREREQ): Use it.
114173 2002-02-15  Paul Eggert  <eggert@twinsun.com>
114175         * lib/posixver.c, lib/posixver.h: New files.
114176         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114178 2002-02-02  Paul Eggert  <eggert@twinsun.com>
114179             Bruno Haible  <bruno@clisp.org>
114181         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
114182         (fwrite_success_callback): New declaration.
114183         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
114184         print_unicode_char. Call failure callback instead of error.
114185         (fwrite_success_callback): New function.
114186         (exit_failure_callback): New function.
114187         (fallback_failure_callback): New function.
114188         (print_unicode_char): Call unicode_to_mb.
114190 2002-01-26  Jim Meyering  <meyering@lucent.com>
114192         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
114193         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
114195 2002-01-26  Jim Meyering  <meyering@lucent.com>
114197         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
114199 2002-01-22  Paul Eggert  <eggert@twinsun.com>
114201         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
114203 2002-01-22  Jim Meyering  <meyering@lucent.com>
114205         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
114206         Otherwise, some versions of automake would omit the rule that makes
114207         Makefile from Makefile.in.
114209 2002-01-21  Paul Eggert  <eggert@twinsun.com>
114211         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
114212         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
114213         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
114214         (memcoll): Set errno to zero if there is no error.
114216         * lib/quotearg.c (quotearg_buffer_restyled):
114217         Fix bug with quoting buffers containing NUL when backslashing escapes.
114218         This bug was exposed by the other changes in this patch.
114219         (quotearg_n_options): New arg ARGSIZE.
114220         All callers changed.
114221         (quoting_options_from_style): New function.
114222         (quotearg_n_style): Use it.
114223         (quotearg_n_style_mem): New function.
114225         * lib/quotearg.h (quotearg_n_style_mem): New function.
114227 2002-01-19  Jim Meyering  <meyering@lucent.com>
114229         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
114230         Remove useless quotes: DF_PROG="df".
114231         * m4/strnlen.m4: New file.
114233 2002-01-16  Paul Eggert  <eggert@twinsun.com>
114235         * lib/backupfile.c (ISDIGIT): Comment fix.
114236         * lib/getdate.y (ISDIGIT): Likewise.
114237         * lib/posixtm.c (ISDIGIT, year): Likewise.
114238         * lib/strverscmp.c (ISDIGIT): Likewise.
114239         * lib/userspec.c (ISDIGIT): Likewise.
114241 2002-01-16  Jim Meyering  <meyering@lucent.com>
114243         * lib/getdate.y: Add three semicolons, each just before a closing
114244         brace. Bison (as of version 1.31) no longer papers over that mistake.
114246 2002-01-05  Jim Meyering  <meyering@lucent.com>
114248         * lib/version-etc.c (version_etc_copyright): Update copyright year.
114250 2001-12-19  Paul Eggert  <eggert@twinsun.com>
114252         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
114253         not silently exit merely because the output buffer happens to
114254         have nothing pending.
114256 2001-12-18  Paul Eggert  <eggert@twinsun.com>
114258         See the big note in ../ChangeLog.
114259         * lib/human.c (suffixes): Prefer K to k for 1024.
114260         (generate_suffix_backwards): New function.
114261         (human_readable_inexact): Use it.
114262         * lib/xstrtol.c (__xstrtol): If there is no number but there
114263         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
114264         Accept 'K' as well as 'k'.
114266 2001-12-15  Jim Meyering  <meyering@lucent.com>
114268         * lib/regex.h (__restrict_arr): Update from libc.
114270         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
114271         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
114272         (STREQ): Define.
114274 2001-12-14  Jim Meyering  <meyering@lucent.com>
114276         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
114277         Suggestion from Bruno Haible.
114279 2001-12-10  Jim Meyering  <meyering@lucent.com>
114281         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
114282         xrealloc, Instead, include "xalloc.h".
114283         (initbuffer): Don't cast xmalloc return value to char*.
114284         (readline): Reword comment.
114285         Don't cast xrealloc return value to char*
114286         Return NULL, not 0.
114288 2001-12-09  Jim Meyering  <meyering@lucent.com>
114290         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
114291         about `signed and unsigned type in conditional expression'.
114292         * lib/posixtm.c (posix_time_parse): Likewise.
114294         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
114296         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
114297         to avoid a pedantic warning.
114299         * lib/getstr.c: Don't include assert.h.
114300         (getstr): Remove warning-evoking assertions.
114301         Return -1 if offset parameter is out of bounds.
114302         Change the type of a local from int to size_t.
114304         * lib/strftime.c (my_strftime_localtime_r): Include this function
114305         definition in the `#if ! HAVE_TM_GMTOFF' block.
114307         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
114308         Include xalloc.h instead.
114310 2001-12-02  Jim Meyering  <meyering@lucent.com>
114312         * lib/tempname.c: Don't declare getenv, thus reverting the change of
114313         2001-11-18.  It's no longer necessary, now that stdlib.h is always
114314         included.
114316         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
114317         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
114319 2001-11-30  Akim Demaille  <akim@epita.fr>
114321         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
114322         before being defined.
114324 2001-11-27  Paul Eggert  <eggert@twinsun.com>
114326         * lib/quotearg.h (quotearg_n, quotearg_n_style):
114327         First arg is int, not unsigned.
114328         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
114329         (SIZE_MAX, UINT_MAX): New macros.
114330         (quotearg_n_options): Abort if N is negative.
114331         Avoid overflow check on hosts where size_t is 64 bits and int
114332         is 32 bits, as overflow is impossible there.
114333         Fix off-by-one typo that caused unnecessary reallocation.
114335 2001-11-27  Jim Meyering  <meyering@lucent.com>
114337         * lib/tempname.c: Merge with version from libc.
114338         * lib/regex.c: Likewise.
114340         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
114341         systems for which STDC_HEADERS is 0, it was not included, resulting in
114342         a warning about an integer-to-pointer conversion problem with getenv.
114343         Reported by Volker Borchert.
114345 2001-11-26  Jim Meyering  <meyering@lucent.com>
114347         * lib/gtod.h: Remove file.
114348         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
114349         * lib/gettimeofday.c: Don't include gtod.h.
114350         (GTOD_init): Remove function.
114351         (rpl_gettimeofday): Do its job here instead, rather than aborting.
114352         Suggestion from Volker Borchert.
114354 2001-11-23  Jim Meyering  <meyering@lucent.com>
114356         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
114357         it.
114358         * lib/hash.c (struct hash_table): Define it here instead.
114360 2001-11-22  Jim Meyering  <meyering@lucent.com>
114362         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
114364 2001-11-20  Jim Meyering  <meyering@lucent.com>
114366         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
114367         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
114369 2001-11-19  Jim Meyering  <meyering@lucent.com>
114371         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
114372         directory.  Use "conftestXXXXXX" as the template.
114373         Suggestion from Paul Eggert.
114375         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
114376         immediately, so the test doesn't mistakenly hit the max-open-files
114377         limit.
114379 2001-11-18  Paul Eggert  <eggert@twinsun.com>
114381         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
114382         (TEMPORARIES): New macro.
114383         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
114384         removes an artificial limitation (e.g. HP-UX 10.20, where
114385         TMP_MAX is 17576).
114387 2001-11-18  Jim Meyering  <meyering@lucent.com>
114389         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
114391 2001-11-18  Jim Meyering  <meyering@lucent.com>
114393         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
114394         on SunOS 4.
114396         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
114397         files will be created before anything else.
114399 2001-11-17  Paul Eggert  <eggert@twinsun.com>
114401         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
114402         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
114404 2001-11-17  Jim Meyering  <meyering@lucent.com>
114406         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
114407         Prompted by a report from Bob Proulx.
114409         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
114410         Instead, require UTILS_FUNC_MKSTEMP.
114412 2001-11-17  Jim Meyering  <meyering@lucent.com>
114414         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
114415         Now, that's done as part of AC_FUNC_STRTOD.
114417 2001-11-17  Jim Meyering  <meyering@lucent.com>
114419         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
114420         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
114421         rather than group writable.  Patch by Juan F. Codagnone.
114423         * lib/readtokens.c: Remove explicit declarations of xmalloc and
114424         xrealloc, Instead, include "xalloc.h".
114426         * lib/mountlist.c: Include unlocked-io.h after all system headers.
114427         Remove explicit declarations of xmalloc, xrealloc,
114428         and xstrdup.  Instead, include "xalloc.h".
114430         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
114431         unlocked-io.h.
114432         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
114433         Likewise.
114434         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
114436         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
114437         Reported by Padraig Brady.
114439         * lib/mkstemp.c: #undef mkstemp.
114440         Include config.h.
114441         (rpl_mkstemp): Rename from mkstemp.
114442         Protoize.
114444 2001-11-16  Jim Meyering  <meyering@lucent.com>
114446         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
114447         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
114448         determine the amount of total physical memory, use pstat_getstatic.
114449         HPUX-11 doesn't define _SC_PHYS_PAGES.
114450         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
114451         If sysconf couldn't be used to determine the amount of available
114452         physical memory, use both pstat_getstatic and pstat_getdynamic.
114453         Based on a patch from Bob Proulx.
114455 2001-11-10  Jim Meyering  <meyering@lucent.com>
114457         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
114458         (jm_PREREQ): Use it.
114460 2001-11-09  Jim Meyering  <meyering@lucent.com>
114462         * m4/jm-macros.m4: Require autoconf-2.52f.
114463         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
114464         Use these AC_-prefixed names, not the AM_-prefixed ones.
114466         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
114468 2001-11-05  Jim Meyering  <meyering@lucent.com>
114470         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
114472 2001-11-04  Jim Meyering  <meyering@lucent.com>
114474         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
114475         $DEFS.
114477 2001-11-03  Jim Meyering  <meyering@lucent.com>
114479         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
114480         of AC_DEFUN.
114482         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
114483         know the name of the variable in the macro definition.
114485 2001-11-03  Jim Meyering  <meyering@lucent.com>
114487         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
114488         in argmatch_to_argument call.
114490         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
114491         argument.
114493         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
114494         e.g., a fault due to an attempt to free a NULL pointer.
114496 2001-11-01  Jim Meyering  <meyering@lucent.com>
114498         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
114499         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
114501 2001-11-01  Jim Meyering  <meyering@lucent.com>
114503         * lib/dirfd.c, lib/dirfd.h: New files.
114504         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
114506         * lib/hash.c (hash_print) [TESTING]: Clean up.
114508 2001-10-22  Paul Eggert  <eggert@twinsun.com>
114510         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
114511         to avoid a warning if -Wall.
114513 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
114515         * README: New file
114516         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
114517         (per RMS's instructions, this is now the canonical source)
114518         * lgpl/, gpl/: New directories.
114520 2001-10-21  Paul Eggert  <eggert@twinsun.com>
114522         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
114524 2001-10-21  Jim Meyering  <meyering@lucent.com>
114526         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
114527         this code would end up calling gettext even in packages built
114528         with --disable-nls.
114529         * lib/getopt.c (_): Likewise.
114530         * lib/regex.c (_): Likewise.
114532 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114534         * m4/error.m4 (jm_PREREQ_ERROR):
114535         Do not invoke AC_CHECK_FUNCS with strerror_r, as
114536         AC_FUNC_STRERROR_R does that.
114537         Check for strerror declaration.
114539         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
114540         are supposed to have them these days.
114541         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
114542         Merge changes from latest Autoconf CVS.
114543         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
114544         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
114545         POSIX decided to standardize on the int flavor of strerror_r.
114547 2001-10-20  Paul Eggert  <eggert@twinsun.com>
114549         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
114550         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
114551         Use strerror_r that is only a macro, even if it is not a function.
114552         (strerror): Check for HAVE_DECL_STRERROR before declaring.
114553         (private_strerror): Use prototypes, not old-style function definition.
114554         (print_errno_message): New function.
114555         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
114556         char*-flavored one.
114557         (error_tail, error, error_at_line): Use it.
114559 2001-10-11  Jim Meyering  <meyering@lucent.com>
114561         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
114562         and quote_n (1, ... to avoid clobbering a buffer.
114564 2001-10-05  Jim Meyering  <meyering@lucent.com>
114566         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
114567         hash-pjw.h.
114568         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
114569         * lib/hash-pjw.h: New file.
114571 2001-09-30  Jim Meyering  <meyering@lucent.com>
114573         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
114574         `struct fsstat' has the `f_fstypename' member.
114575         Use that to define FS_TYPE, which is now used to make
114576         the getfsstat link test tighter.
114578 2001-09-30  Jim Meyering  <meyering@lucent.com>
114580         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
114581         Include <sys/ucred.h>, for Apple Darwin.
114582         Include sys/mount.h and sys/fs_types.h only if available.
114583         (FS_TYPE): Define.
114584         (read_filesystem_list): Use FS_TYPE.
114586 2001-09-29  Paul Eggert  <eggert@twinsun.com>
114588         * lib/exclude.c (excluded_filename): 0 -> false, since it's
114589         a boolean context.
114591 2001-09-29  Jim Meyering  <meyering@lucent.com>
114593         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114594         [one-argument getmntent function]): Include stdio.h before mntent.h.
114595         SunOS 4.1.x needs it for the declaration of `FILE'.
114596         Patch by Volker Borchert.
114598         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
114599         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
114600         sys/fs_types.h, and make the link-test for getfsstat guard #include
114601         directives with appropriate #if HAVE_*_H tests so that we can
114602         detect getfsstat on Apple Darwin1.3.7 systems.
114603         Reported by Nelson Beebe.
114604         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
114606 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114608         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114609         #defines strtoimax.  Also treat the other strto* functions
114610         like strtoimax.
114612         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114613         Check for strtoul and strtoumax,
114614         as those declarations are made even in the signed case.
114615         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
114616         Likewise, for strtol and strtoimax.
114618 2001-09-28  Paul Eggert  <eggert@twinsun.com>
114620         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
114621         #defines strtoimax.  Also treat the other strto* functions
114622         like strtoimax.
114624         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
114625         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
114626         (strtoimax, strtoumax): Do not declare if already defined as a macro.
114628 2001-09-26  Jim Meyering  <meyering@lucent.com>
114630         Most macros in unlocked-io.h had the wrong number of arguments.
114631         * lib/gen-uio: New script.
114632         (USE_UNLOCKED_IO): Define to 1 if not already defined.
114633         * lib/unlocked-io.hin: Remove file.
114634         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
114635         rather than trying to embed it here.
114636         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
114637         Reported by Padraig Brady.
114639 2001-09-25  Volker Borchert  <bt@teknon.de>
114641         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
114642         `result'.
114644 2001-09-24  Jim Meyering  <meyering@lucent.com>
114646         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
114648 2001-09-23  Jim Meyering  <meyering@lucent.com>
114650         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
114651         instead of the mere test for existence of mntent.h.  The latter
114652         would get a false-positive on AIX 3.4 systems.
114653         In the outer getmntent if-block, don't die if neither of the getmntent
114654         tests succeeds.  Instead, just fall through and continue with the
114655         remaining tests.
114657 2001-09-23  Jim Meyering  <meyering@lucent.com>
114659         * lib/mountlist.c: Remove useless parentheses in #if directives.
114660         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
114661         the deprecated MOUNTED symbol is no longer defined in mntent.h.
114663 2001-09-22  Jim Meyering  <meyering@lucent.com>
114665         * m4/gettext.m4: New file.  From gettext.
114666         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
114667         * m4/progtest.m4: Likewise
114668         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
114669         * m4/glibc21.m4: Likewise.
114671         * m4/libintl.m4: Remove.  No longer used.
114673 2001-09-22  Jim Meyering  <meyering@lucent.com>
114675         * lib/localcharset.c: Update from latest gettext.
114676         * lib/config.charset: Likewise.
114678 2001-09-20  Jim Meyering  <meyering@lucent.com>
114680         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
114681         strtoimax.
114682         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
114683         strtoumax.
114685 2001-09-20  Jim Meyering  <meyering@lucent.com>
114687         * lib/xstrtol.c (strtoimax): Guard declaration with
114688         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
114689         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
114690         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
114691         (strtoumax): Likewise, for completeness (it wasn't necessary).
114693 2001-09-17  Paul Eggert  <eggert@twinsun.com>
114695         * lib/strtoimax.c (HAVE_LONG_LONG):
114696         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
114697         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
114698         to work around bug in IBM C compiler.
114700 2001-09-17  Jim Meyering  <meyering@lucent.com>
114702         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
114703         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
114704         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
114705         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
114706         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
114707         whenever the right hand side need not be expanded by the shell.
114709 2001-09-16  Paul Eggert  <eggert@twinsun.com>
114711         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
114712         library.  It's not correct, as some older glibcs are buggy.
114713         fnmatch wasn't fixed until glibc 2.2.
114715         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
114716         special shell magic here.
114718 2001-09-16  Jim Meyering  <meyering@lucent.com>
114720         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
114721         * m4/jm-macros.m4: Require it.
114723 2001-09-16  Jim Meyering  <meyering@lucent.com>
114725         * lib/mkdir.c: New file.
114727 2001-09-15  Jim Meyering  <meyering@lucent.com>
114729         * m4/jm-macros.m4: Check for help2man.
114731 2001-09-11  Jim Meyering  <meyering@lucent.com>
114733         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
114734         The body, by Paul Eggert, was moved here from configure.in.
114735         * m4/jm-macros.m4: Require UTILS_HOST_OS.
114737 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114739         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
114740         (jm_PREREQ): Use it.
114742 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114744         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
114745         Use ssize_t, not int, to store result of readlink.
114746         Check for ssize_t overflow as well as size_t overflow,
114747         as POSIX says the result of readlink is implementation-defined
114748         when ssize_t overflows.
114749         Remove unnecessary cast to char*.
114750         Use free+malloc instead of realloc, as the storage doesn't need
114751         to be preserved and it's clearer and can be more efficient that way.
114752         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
114753         * lib/xreadlink.h (xreadlink): Update prototype.
114755 2001-09-04  Paul Eggert  <eggert@twinsun.com>
114757         * lib/xgetcwd.c: Revert some of the previous change; intead,
114758         fix the HAVE_GETCWD_NULL code to behave more like the
114759         !HAVE_GETCWD_NULL code used to.
114761         Include "xalloc.h".
114762         (xgetcwd): Do not return NULL when memory is exhausted; instead,
114763         invoke xalloc_die.
114765 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114767         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
114768         sys/param.h, as pathmax.h includes them.
114770 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114772         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
114773         (jm_PREREQ_XGETCWD): New macro.
114775         * m4/getcwd.m4: New file.
114777 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114779         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
114780         like the HAVE_GETCWD_NULL code.
114781         Include pathmax.h if not HAVE_GETCWD.
114782         Do not include xalloc.h.
114783         (INITIAL_BUFFER_SIZE): New symbol.
114784         Do not use xmalloc / xrealloc, since the caller is responsible for
114785         handling errors.  Preserve errno around `free' during failure.
114786         Do not overrun buffer when using getwd.
114788 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114790         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
114791         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
114792         getcwd (NULL, 0).
114794 2001-09-03  Paul Eggert  <eggert@twinsun.com>
114796         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
114797         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
114798         spotted by Jim Meyering.
114800 2001-09-03  Jim Meyering  <meyering@lucent.com>
114802         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
114803         failure.
114805 2001-09-02  Jim Meyering  <meyering@lucent.com>
114807         * lib/error.c: Update from GNU libc.
114809 2001-09-01  Jim Meyering  <meyering@lucent.com>
114811         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
114812         Used by df.
114814 2001-09-01  Jim Meyering  <meyering@lucent.com>
114816         * lib/xreadlink.c: New file.
114817         * lib/xreadlink.h: New file.
114818         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
114819         xreadlink.h.
114821         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
114822         doesn't conflict with sparc Solaris 7's definition in
114823         /usr/include/sys/int_types.h.
114825         * lib/exclude.c: Use `""', not `<>' to #include non-system header
114826         files.
114827         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
114828         and strncasecmp as r-values.  Unixware didn't have declarations.
114830 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114832         * lib/xstrtol.h: Add copyright notice.
114833         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
114834         LONGINT_INVALID_SUFFIX_CHAR.
114836 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114838         * lib/xstrtol.c (strtoimax): New decl.
114840 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114842         * lib/xgetcwd.c: Don't include pathmax.h.
114843         Include stdlib.h and unistd.h if available.
114844         Include xalloc.h.
114845         (xmalloc, xstrdup, free): Remove decls.
114846         (xgetcwd): Don't assume sizes fit in unsigned.
114847         Check for overflow when computing sizes.
114848         Simplify reallocation code.
114850 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114852         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
114853         a directory's st_size can have an arbitrary value, so the old
114854         usage could waste an arbitrary amount of memory.  All uses
114855         changed.
114856         * lib/savedir.h: Update prototype.
114858 2001-08-31  Paul Eggert  <eggert@twinsun.com>
114860         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
114862         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
114863         old strtoimax.c.
114865         Also, make the following further changes to make this file's
114866         configuration more similar to that of strtol.c:
114867         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
114868         (strtoumax, uintmax_t, strtoull, strtol): Remove.
114869         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
114870         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
114871         changed to signed values.
114873         And make the following changes as well:
114874         Fix copyright notice, as 1999 was missing.
114875         (verify): New macro.
114876         (strtoimax): Check sizes at compile-time, not run-time.
114877         Prefer strtol to strtoll if both work.
114878         (main): Remove; it was not that useful and was a pain to maintain.
114880         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
114882 2001-08-31  Jim Meyering  <meyering@lucent.com>
114884         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
114885         Use an initial, malloc'd, buffer of length 128 rather than
114886         a statically allocated one of length 1024.
114888 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114890         Simplify code, partly by assuming autoconf 2.52 semantics.
114892         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
114894         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
114895         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
114896         All uses removed.
114897         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
114898         Move AC_REQUIRE to next-to-top level, to avoid confusion.
114899         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
114900         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
114901         jm_AC_HEADER_INTTYPES_H.
114902         * m4/jm-macros.m4 (jm_MACROS): Likewise.
114904         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
114906         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
114907         Quote first arg of AC_DEFUN.
114908         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
114909         since they are needed to parse the include file even if we need
114910         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
114911         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
114912         but with opposite signedness.
114914 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114916         Merge 'exclude' changes from tar 1.13.22.
114917         This fixes one or two unlikely storage allocation overflow bugs,
114918         but doesn't change user-visible behavior otherwise.
114920 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114922         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
114923         (jm_PREREQ_EXCLUDE): New macro.
114925 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114927         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
114928         tm to be declared.
114930 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114932         * lib/hash.c: Remove '2001' from copyright notice.
114934 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114936         * lib/full-write.h: New file.
114937         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
114938         * lib/full-write.c: Correct credits, as cccp.c no longer
114939         exists and anyway it was so heavily changed from the old cccp
114940         code as to be unrecognizable.  Include full-write.h.
114941         (full_write): Return size_t, with short writes meaning failure.
114942         All callers changed.  This fixes a bug with large buffers
114943         on 64-bit hosts.
114944         * lib/utime.c: Include full-write.h.
114946 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114948         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
114949         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
114950         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
114951         Include if available.
114952         (<xalloc.h>): Include
114953         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
114954         (verify): New macro.  Use it to verify that EXCLUDE macros do not
114955         collide with FNM macros.
114956         (struct patopts): New struct.
114957         (struct exclude): Use it, as exclude patterns now come with options.
114958         (new_exclude): Support above changes.
114959         (new_exclude, add_exclude_file):
114960         Initial size must now be a power of two to simplify overflow checking.
114961         (free_exclude, fnmatch_no_wildcards): New function.
114962         (excluded_filename): No longer requires options arg, as the options
114963         are determined by add_exclude.  Now returns bool, not int.
114964         (excluded_filename, add_exclude):
114965         Add support for the fancy new exclusion options.
114966         (add_exclude, add_exclude_file): Now takes int options arg.
114967         Check for arithmetic overflow when computing sizes.
114968         (add_exclude_file): xrealloc might modify errno, so don't
114969         realloc until after errno might be used.
114971         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
114972         New macros.
114973         (free_exclude): New decl.
114974         (add_exclude, add_exclude_file): Now takes int options arg.
114975         (excluded_filename): No longer requires options arg, as the options
114976         are determined by add_exclude.  Now returns bool, not int.
114978 2001-08-30  Paul Eggert  <eggert@twinsun.com>
114980         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
114982 2001-08-27  Jim Meyering  <meyering@lucent.com>
114984         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
114986         * lib/version-etc.c (N_): Remove definition.
114987         Revert most of last change.
114988         Instead, simply don't mark the `Copyright...' string for translation.
114989         Based on advice from Paul Eggert.
114991         * lib/strtoxmax.c: Tweak comment.
114993 2001-08-26  Jim Meyering  <meyering@lucent.com>
114995         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
114997         * m4/xstrtoimax.m4: New file.
114998         * m4/xstrtoumax.m4: Add comments explaining why we
114999         AC_REPLACE_FUNCS(strtol).
115001 2001-08-26  Jim Meyering  <meyering@lucent.com>
115003         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
115004         of copyright with `%s' so translators don't get an untranslated
115005         message in 2002.
115006         (COPYRIGHT_YEAR): Define.
115007         (version_etc): Use fprintf rather than fputs.
115008         Suggestion from Ulrich Drepper.
115010         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
115012         * lib/strtoll.c: New file, from GNU libc.
115013         * lib/xstrtoimax.c: New file.
115015         * lib/xstrtol.h: Add xstrtoimax.
115016         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
115017         * lib/strtoimax.c: New file.  Likewise, but first define
115018         STRTOUXMAX_SIGNED.
115020         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
115021         ...
115022         * lib/strtoxmax.c: ... then renamed to this.
115024 2001-08-18  Paul Eggert  <eggert@twinsun.com>
115026         * m4/inttypes.m4: Add AC_PREREQ(2.13).
115027         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
115028         (jm_AC_TYPE_INTMAX_T): New macro.
115029         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
115031         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
115033         * m4/longlong.m4: Renamed from ulonglong.m4.
115034         * m4/inttypes.m4: Renamed from inttypes_h.m4.
115035         * m4/uintmax_t.m4: Removed.
115037 2001-08-13  Paul Eggert  <eggert@twinsun.com>
115039         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
115040         Port to Solaris 8, where 'sed' requires a space after the 'r'
115041         command, and where sh dislikes "$/".  Clean up the spacing a bit.
115042         Redirect output to $tmp just once.
115044 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
115046         * lib/addext.c (<errno.h>): Include.
115047         (errno): Declare if not defined.
115048         (addext): Work correctly when pathconf returns -1 and leaves
115049         errno alone because there is no limit.  Also, work even if
115050         pathconf returns a value greater than SIZE_MAX.
115052 2001-08-12  Jim Meyering  <meyering@lucent.com>
115054         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
115055         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
115056         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
115057         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
115058         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
115059         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
115060         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
115061         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
115062         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
115063         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
115064         utime.m4, utimes.m4, xstrtoumax.m4:
115065         Quote the first argument in each use of AC_DEFUN.
115067 2001-08-12  Jim Meyering  <meyering@lucent.com>
115069         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
115070         Simply `return getcwd (NULL, 0);'.
115071         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
115072         Use 1300 as initial value for length, not PATH_MAX.
115074         * lib/pathmax.h: Clean up cpp syntax.
115076 2001-08-12  Jim Meyering  <meyering@lucent.com>
115078         * lib/gettimeofday.c: New file.
115079         * lib/gtod.h: New file.
115080         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
115082 2001-08-05  Jim Meyering  <meyering@lucent.com>
115084         * m4/jm-macros.m4: Require autoconf-2.52.
115086 2001-08-04  Jim Meyering  <meyering@lucent.com>
115088         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
115089         stmt, to get in sync with glibc.
115091 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115093         The following changes are from gettext 0.10.39 as maintained by
115094         Bruno Haible.
115096         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
115097         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
115098         with inverted sense.  All uses changed.
115100         * lib/mbswidth.c: Don't include <limits.h>.
115101         Include <stdlib.h> and <string.h> unconditionally.
115102         (iswcntrl, mbsinit, ISCNTRL): New macros.
115103         (mbsnwidth): Use K&R style function declarations.
115104         Don't bother checking for MB_LEN_MAX == 1, since the compiler
115105         can optimize it when MB_CUR_MAX == 1.
115106         The width of control characters is zero, not 1.
115108 2001-08-03  Paul Eggert  <eggert@twinsun.com>
115110         The following changes are from gettext 0.10.39 as maintained by
115111         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
115113         * m4/codeset.m4: Upgrade to serial AM1.
115114         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
115115         all uses changed.  Quote first arg of AC_DEFUN.
115116         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
115118         * m4/iconv.m4: Upgrade to serial AM2.
115119         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
115120         Add --with-libconv-prefix.
115121         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
115122         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
115123         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
115124         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
115125         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
115127         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
115128         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
115129         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
115130         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
115131         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
115132         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
115133         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
115134         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
115135         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115137         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
115138         string.h any more.
115140         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
115141         not the default value.
115143         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
115144         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
115145         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
115146         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
115147         Also check for iswcntrl, used for wcwidth fallback.
115148         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
115149         to Autoconf 2.13.
115151 2001-08-03  Jim Meyering  <meyering@lucent.com>
115153         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
115154         as it was in the original.  Reported by Paul Eggert.
115156 2001-07-16  Jim Meyering  <meyering@lucent.com>
115158         * m4/gettimeofday.m4: New file.
115159         Prompted by a report from Bernhard Baehr.
115161 2001-07-15  Jim Meyering  <meyering@lucent.com>
115163         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
115164         stuff. Now it's in ../Makefile.cfg.
115166 2001-07-15  Jim Meyering  <meyering@lucent.com>
115168         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
115169         (BUILT_SOURCES): Add unlocked-io.h.
115170         (io_functions): Define.
115171         (unlocked-io.h): New rule.
115172         (DISTCLEANFILES): Add unlocked-io.h.
115173         (all-local): Depend on unlocked-io.h, to ensure it is created.
115175         * lib/unlocked-io.hin: New file
115177         * lib/regex.c: Update from glibc.
115179 2001-07-05  Jim Meyering  <meyering@lucent.com>
115181         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
115182         recommendation.
115183         (libfetish_a_SOURCES): Put all .h files here instead.
115184         Remove a thus-exposed (better checks in automake) duplicate and
115185         two unnecessary .h files.
115187 2001-07-04  Jim Meyering  <meyering@lucent.com>
115189         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
115190         that generates jm-glibc-io.m4 so that it doesn't trigger any make
115191         distcheck failure.
115193 2001-07-02  Jim Meyering  <meyering@lucent.com>
115195         The following changes were prompted by suggestions from Bruno Haible.
115197         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
115198         is now generated.
115199         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
115200         definition of EXTRA_DIST.
115201         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
115202         ensure that the generated file is created/updated whenever the list
115203         of $(unlocked_functions) is changed.
115204         (jm-glibc-io.m4): New rule.
115205         (unlocked-io.h): New rule -- currently unused.
115207 2001-06-24  Jim Meyering  <meyering@lucent.com>
115209         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
115210         unmatched right bracket, rather than kludging it with an extra,
115211         falsely-matching quote in a comment.  Patch by Akim Demaille.
115213 2001-06-11  Jim Meyering  <meyering@lucent.com>
115215         * lib/regex.c: Update from GNU libc.
115217 2001-05-27  Jim Meyering  <meyering@lucent.com>
115219         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
115220         Check for ut_type in struct utmp.
115222 2001-05-27  Jim Meyering  <meyering@lucent.com>
115224         * lib/readutmp.h (UT_TYPE): Define.
115226 2001-05-24  Jim Meyering  <meyering@lucent.com>
115228         * lib/argmatch.c: Include "quote.h".
115229         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
115230         quote function.  Reported by Göran Uddeborg.
115232 2001-05-22  Jim Meyering  <meyering@lucent.com>
115234         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
115235         now that we use the package-supplied version unconditionally.
115236         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
115238 2001-05-21  Jim Meyering  <meyering@lucent.com>
115240         * m4/regex.m4: Change a couple backticks to single quotes to avoid
115241         shell syntax errors.
115243 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115245         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
115247 2001-05-20  Paul Eggert  <eggert@twinsun.com>
115249         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
115250         Don't bother to check library strftime, since
115251         we'll be using our own my_strftime function anyway.
115252         Define my_strftime instead of strftime.
115254 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
115256         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
115257         which is not yet declared.
115259 2001-05-15  Jim Meyering  <meyering@lucent.com>
115261         * m4/regex.m4: Use proper quoting so brackets appear in the test
115262         program.
115263         Reported by, and with help from, Bruno Haible.
115265 2001-05-13  Jim Meyering  <meyering@lucent.com>
115267         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
115268         undefined.
115270 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115272         dirname code cleanup.  base_name now behaves more compatibly
115273         with POSIX basename when given file names that have trailing
115274         slashes, and similarly for dir_name.  Add new primitives
115275         base_len and dir_len.  Put the directory-name-related decls
115276         into dirname.h.
115278         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
115279         * lib/backupfile.c (base_name): Likewise.
115280         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
115281         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
115282         * lib/makepath.c (strip_trailing_slashes): Likewise.
115283         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
115284         ISSLASH): Likewise.
115285         * lib/rename.c (strip_trailing_slashes): Likewise.
115286         * lib/same.c (base_name): Likewise.
115287         * lib/stripslash.c (ISSLASH): Likewise.
115289         * lib/addext.c: Include <dirname.h> after size_t is defined.
115290         * lib/backupfile.c: Likewise.
115292         * lib/addext.c (addext): Use base_len to trim redundant
115293         trailing slashes instead of doing it ourselves.
115294         But do not trim the last slash if it is not redundant.
115296         * lib/backupfile.c (find_backup_file_name,
115297         max_backup_version): Use base_len instead of rolling it ourselves.
115298         Handle the case of "" and (on DOS) "C:" correctly.
115300         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
115301         needed. Include <string.h>, <dirname.h>.
115302         (base_name): Allow file names ending in slashes, other than names
115303         that are all slashes.  In this case, return the basename followed
115304         by the slashes.  This is more general, and can be used in places
115305         where the original base_name purposely had an assertion failure.
115306         (base_len): New function.
115308         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
115309         Do not include <assert.h>; no longer needed.
115310         Include xalloc.h.
115311         (memrchr): Remove decl.
115312         (dir_name_r): Remove.
115313         (dir_len): Renamed from dirlen.  All callers changed.
115314         Rewrite in terms of base_name, for simplicity and consistency.
115315         (dir_name): Never return NULL.  All callers changed.
115316         Do not include <stdlib.h> in test program; no longer needed.
115317         return 0; is fine for test program.
115319         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
115320         New macros.
115321         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
115323         * lib/path-concat.c (path_concat): Use base_len to compute
115324         base length, not strlen; this means we cannot rely on memcpy
115325         to null-terminate.
115327         * lib/same.c (STREQ): Remove.
115328         (same_name): Handle the case where the basename ends in trailing '/'.
115330         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
115331         a slash was stripped.  Do not strip the last slash after a
115332         file system prefix.
115334 2001-05-11  Paul Eggert  <eggert@twinsun.com>
115336         * lib/Makefile.am (libfetish_a_SOURCES):
115337         Add strftime.c, since we now compile it on all hosts.
115339         * lib/strftime.c (my_strftime):
115340         Define to nstrftime if emacs, but only if my_strftime is not defined.
115341         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
115342         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
115343         Add one more extra argument: a nanoseconds value.
115344         All uses changed.
115345         (ns): New macro.
115346         (my_strftime function): Add %N format.
115347         (emacs_strftimeu): Renamed from emacs_strftime,
115348         with extra ut argument.
115350 2001-05-09  Paul Eggert  <eggert@twinsun.com>
115352         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
115354 2001-04-21  Jim Meyering  <meyering@lucent.com>
115356         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
115357         doesn't interfere.
115359 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
115361         * m4/ftruncate.m4: Check for chsize.
115362         Link with ftruncate.o unconditionally if ftruncate is missing.
115363         This was required when cross-compiling to i586-mingw32msvc.
115365 2001-04-08  Jim Meyering  <meyering@lucent.com>
115367         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
115368         recomputed; that's necessary when the offset spans a DST transition.
115369         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
115371 2001-04-02  Jim Meyering  <meyering@lucent.com>
115373         * lib/regex.h, regex.c: Update from GNU libc.
115375 2001-03-24  Jim Meyering  <meyering@lucent.com>
115377         * m4/jm-macros.m4: Require autoconf-2.49d.
115379 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
115381         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
115383 2001-03-19  Paul Eggert  <eggert@twinsun.com>
115385         * lib/version-etc.c (version_etc_copyright): Update to 2001.
115387 2001-03-17  Jim Meyering  <meyering@lucent.com>
115389         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
115390         now that the version in autoconf is equivalent.
115391         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
115393         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
115394         Suggestion from Akim Demaille.
115396         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
115397         (jm_PREREQ_TEMPNAME): New function.
115399 2001-03-16  Paul Eggert  <eggert@twinsun.com>
115401         * lib/tempname.c (uint64_t): Define to uintmax_t if
115402         not defined, and if UINT64_MAX is not defined.
115403         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
115404         Reported by John David Anglin.
115406 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
115408         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
115409         resolve alias if codeset is empty.
115410         * lib/config.charset (BeOS): Use wildcard syntax.
115412 2001-03-13  Jim Meyering  <meyering@lucent.com>
115414         * lib/path-concat.c (path_concat)
115415         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
115416         concatenating e.g., `C:' and `foo'.
115417         From Bruno Haible.
115419 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115421         * lib/localcharset.c (locale_charset): Don't use
115422         setlocale(LC_CTYPE,NULL). Don't return NULL.
115423         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
115425 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
115427         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
115428         support for DOS/DJGPP.
115430 2001-03-01  Paul Eggert  <eggert@twinsun.com>
115432         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
115433         lacks mkstemp.  Compile our own tempname.c if we compile our own
115434         mkstemp.c, as mkstemp relies on tempname.
115436 2001-03-01  Jim Meyering  <meyering@lucent.com>
115438         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
115439         AH_VERBATIM really does output its argument verbatim.
115441 2001-02-28  Paul Eggert  <eggert@twinsun.com>
115443         * lib/Makefile.am (libfetish_a_SOURCES):
115444         Add dup-safer.c, fopen-safer.c.
115445         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
115447         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
115448         * lib/unistd-safer.h: New files.
115450 2001-02-25  Paul Eggert  <eggert@twinsun.com>
115452         The mkstemp replacement is taken from glibc 2.2.2, with some
115453         portability fixes for use outside glibc, as follows:
115455         * lib/tempname.c (struct_stat64): New macro.
115456         (direxists, __gen_tempname): Use it.
115457         This avoids a portability problem with Solaris 8.
115459         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
115460         (<stddef.h>, <stdint.h>, <string.h>):
115461         Include only if STDC_HEADERS || _LIBC.
115462         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
115463         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
115464         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
115465         (__set_errno): Define this macro if <errno.h> doesn't.
115466         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
115467         Define these macros if <stdio.h> doesn't.
115468         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
115469         Define these macros if <sys/stat.h>
115470         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
115471         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
115472         __xstat64): Define if not _LIBC.
115473         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
115474         (__gen_tempname): Invoke gettimeofday only if
115475         HAVE_GETTIMEOFDAY || _LIBC;
115476         otherwise, fall back on plain "time".
115477         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
115479         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
115481         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
115483 2001-02-18  Paul Eggert  <eggert@twinsun.com>
115485         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
115487 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115489         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
115490         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
115491         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
115492         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
115494 2001-02-17  Paul Eggert  <eggert@twinsun.com>
115496         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
115497         Remove workaround macros for hosts that have mbrtowc but not
115498         mbstate_t, as we now insist on proper declarations for both
115499         before using mbrtowc.
115501 2001-02-17  Jim Meyering  <meyering@lucent.com>
115503         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
115504         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
115505         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
115506         UnixWare 7.1.1.
115508         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
115509         rather than AC_CACHE_VAL.
115511 2001-02-17  Jim Meyering  <meyering@lucent.com>
115513         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
115514         around included file name.
115516         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
115518         * lib/strftime.c: Update from GNU libc (the only changes were to
115519         comments).
115521 2001-02-17  Jim Meyering  <meyering@lucent.com>
115523         * lib/regex.c: Update from libc.
115525 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
115527         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
115528         clash.
115530 2001-02-16  Paul Eggert  <eggert@twinsun.com>
115532         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
115533         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
115534         Reported by Mark Hounschell via Paul Eggert.
115536 2001-02-07  Jim Meyering  <meyering@lucent.com>
115538         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
115540 2001-02-05  Jim Meyering  <meyering@lucent.com>
115542         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
115543         it includes the patch required for `large file' support with at least
115544         HP-UX's 10.20 /bin/cc.
115546 2001-02-03  Jim Meyering  <meyering@lucent.com>
115548         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
115549         AS_IF, now that it works once again (mysteriously).
115550         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115552 2001-01-30  Jim Meyering  <meyering@lucent.com>
115554         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
115555         * m4/chown.m4: Rename conftestchown to conftest.chown.
115556         * m4/rename.m4: s/conftestdir/conftest.d1/ and
115557         s/conftestdir2/conftest.d2/.
115558         * m4/utimes.m4: s/conftestdata/conftest.data/
115559         Inspired by Pavel Roskin's change in autoconf.
115561 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
115563         * lib/config.charset: Update for FreeBSD 4.2.
115565 2001-01-27  Jim Meyering  <meyering@lucent.com>
115567         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
115568         a use of AS_IF.
115569         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
115571 2001-01-26  Jim Meyering  <meyering@lucent.com>
115573         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
115574         quotearg.c includes it.
115576 2001-01-26  Jim Meyering  <meyering@lucent.com>
115578         * lib/quotearg.c: Include stddef.h.
115579         * lib/quote.c: Include stddef.h.
115580         Reported by Axel Kittenberger.
115582         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
115583         line in double quotes so that it evokes a better diagnostic.
115584         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
115585         Reported by Axel Kittenberger.
115587 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
115589         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
115590         as if it was a `charset'.
115592 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115594         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
115595         has const.
115597 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
115599         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
115600         to avoid a warning.  Add back 'const' to inptr.
115602 2001-01-20  Jim Meyering  <meyering@lucent.com>
115604         Be sure that headers are checked before used in code compiled
115605         for the type checks.
115606         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
115607         In place of that, invoke jm_CHECK_ALL_TYPES.
115608         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
115609         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
115610         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
115611         The check for ssize_t was mistakenly run before the test for unistd.h.
115613         The configure-time check for stdbool.h was missing.
115614         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
115615         (jm_PREREQ_HASH): New function.
115617 2001-01-17  Jim Meyering  <meyering@lucent.com>
115619         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
115620         for autoconf-2.49c.
115621         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
115623 2001-01-16  Jim Meyering  <meyering@lucent.com>
115625         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
115626         From Bruno Haible.
115628 2001-01-14  Jim Meyering  <meyering@lucent.com>
115630         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
115631         foo and bar.  Create conftestdir/ in the script, not in the C code.
115632         Remove directories in the script, not in the C code.
115633         Remove conftestdir{,2} before trying to create the directory.
115634         Make the entire configure script fail if the mkdir fails.
115636 2001-01-14  Jim Meyering  <meyering@lucent.com>
115638         * lib/rename.c: New file.  From Volker Borchert.
115639         Include stdlib.h, string.h or strings.h, and xalloc.h.
115640         Use strip_trailing_slashes rather than open-coding it.
115642 2001-01-03  Paul Eggert  <eggert@twinsun.com>
115644         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
115646 2001-01-03  Jim Meyering  <meyering@lucent.com>
115648         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
115649         of local `inptr' to avoid warning with some system declarations of
115650         iconv.
115652 2001-01-02  Volker Borchert  <bt@teknon.de>
115654         * m4/rename.m4: New file.
115655         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
115657 2001-01-01  Jim Meyering  <meyering@lucent.com>
115659         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
115660         even on systems with utmpx.h.  It's necessary for the declaration of
115661         utmp's ut_user member.  Reported by Andreas Jaeger.
115663         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
115664         available. They are required for the declarations of getgrgid and
115665         getpwuid resp.
115666         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
115667         Reported by Andreas Jaeger.
115669 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
115671         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
115672         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
115673         so `make install' also works in VPATH builds.
115675 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
115677         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
115678         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
115679         can be used in subdirectories.
115681 2000-12-29  Paul Eggert  <eggert@twinsun.com>
115683         * lib/modechange.c: Do not assume that mode_t uses the
115684         traditional octal encoding.  E.g. "chmod 1 FOO" should set
115685         the other-execute bit of FOO even if S_IXOTH != 1.
115687         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
115688         WOTH, XOTH, ALLM): New macros.
115689         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
115690          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
115691         Use them.
115692         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
115693         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
115694         (mode_compile):
115695         No need to use uintmax_t; unsigned long is long enough.
115696         Don't bother to get suffix since we don't use it.
115698 2000-12-26  Jim Meyering  <meyering@lucent.com>
115700         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
115701         better with autoheader.
115703 2000-12-24  Jim Meyering  <meyering@lucent.com>
115705         * lib/hash.c (is_prime): Return explicit boolean values.
115706         (hash_get_first): Return NULL to appease Irix5.6's 89.
115707         Reported by Nelson Beebe.
115709 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
115711         * lib/localcharset.c (locale_charset): Add support for Win32.
115713 2000-12-18  Paul Eggert  <eggert@twinsun.com>
115715         * lib/physmem.h, lib/physmem.c: New files.
115717         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
115718         (noinst_HEADERS): Add physmem.h.
115720         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
115721         't' for compatibility with Solaris 8 sort.
115723 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
115725         * lib/config.charset: Add support for BeOS.
115727 2000-12-17  Jim Meyering  <meyering@lucent.com>
115729         * m4/dos.m4 (jm_AC_DOS): New file and macro.
115730         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
115732 2000-12-16  Jim Meyering  <meyering@lucent.com>
115734         This bug had a serious impact on chown: `chown N:M FILE' (for integer
115735         N and M) would have treated it like `chown N:N FILE'.
115737         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
115739 2000-12-16  Jim Meyering  <meyering@lucent.com>
115741         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
115742         SHELLS_FILE to a file name that's useful on djgpp systems.
115743         Include stdlib.h.
115744         (ADDITIONAL_DEFAULT_SHELLS): Define.
115745         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
115746         Based mostly on a patch from Prashant TR.
115748 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
115750         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
115751         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
115752         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
115754 2000-12-08  Andreas Schwab  <schwab@suse.de>
115756         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
115757         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
115759 2000-12-07  Jim Meyering  <meyering@lucent.com>
115761         * lib/stripslash.c (ISSLASH): Define.
115762         (strip_trailing_slashes): Use ISSLASH rather than comparing against
115763         `/'.
115764         From Prashant TR.
115766         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
115767         (dir_name_r): Declare this function as static.
115768         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
115769         manifest itself on a name containing a mix of slashes and
115770         backslashes.
115771         Make this function work with names starting with a DOS-style
115772         drive letter and colon prefix.
115773         (dir_name): Append `.' if necessary.
115774         Based mostly on patches from Prashant TR and Eli Zaretskii.
115776         * lib/dirname.h (dir_name_r): Remove prototype.
115778 2000-12-06  Paul Eggert  <eggert@twinsun.com>
115780         * m4/off_t-format.m4: Remove this file.
115781         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
115783 2000-12-06  Jim Meyering  <meyering@lucent.com>
115785         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
115786         replacement strtoull, we may well need the replacement strtoul, too.
115787         Check for declarations of strtoul and strtoull.
115788         Check for strtol.  Mainly as a cue to cause automake to include
115789         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
115790         Check for limits.h -- strtol.c needs it.
115792 2000-12-05  Jim Meyering  <meyering@lucent.com>
115794         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
115796 2000-12-04  Jim Meyering  <meyering@lucent.com>
115798         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
115799         Also include memory.h, stdlib.h, unistd.h if appropriate.
115800         Reported by Andreas Jaeger (conflicting declaration of malloc).
115802 2000-12-02  Jim Meyering  <meyering@lucent.com>
115804         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
115805         * m4/jm-macros.m4 (jm_MACROS): require it.
115807 2000-12-02  Jim Meyering  <meyering@lucent.com>
115809         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
115811 2000-12-01  Paul Eggert  <eggert@twinsun.com>
115813         * lib/memrchr.c: Include <config.h> before any system include file.
115815 2000-11-30  Jim Meyering  <meyering@lucent.com>
115817         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
115819 2000-11-30  Jim Meyering  <meyering@lucent.com>
115821         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
115823 2000-11-29  Paul Eggert  <eggert@twinsun.com>
115825         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
115827 2000-11-26  Jim Meyering  <meyering@lucent.com>
115829         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
115831 2000-11-22  Paul Eggert  <eggert@twinsun.com>
115833         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
115834         size of (size_t) -1; it's not portable.
115836 2000-11-17  Jim Meyering  <meyering@lucent.com>
115838         * lib/strstr.c: Update from GNU libc.
115840 2000-11-17  Akim Demaille  <akim@epita.fr>
115842         * lib/obstack.h: Formatting changes.
115843         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
115844         prevent type checking.
115845         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
115846         cast the value to (void *): assigning a `foo *' to a `void *'
115847         variable is valid.
115848         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
115850 2000-11-16  Jim Meyering  <meyering@lucent.com>
115852         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
115854 2000-11-11  Jim Meyering  <meyering@lucent.com>
115856         * lib/error.c: Add a couple #includes, merging from GNU libc version.
115858 2000-11-10  Jim Meyering  <meyering@lucent.com>
115860         * lib/obstack.h: Update from GNU libc.
115861         * lib/obstack.c: Likewise.
115863 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
115865         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
115867 2000-11-06  Paul Eggert  <eggert@twinsun.com>
115869         * lib/getusershell.c (setusershell): Use rewind rather than
115870         fseek/fseeko, to avoid configuration hassles with fseeko.
115871         Don't bother opening SHELLS_FILE if shellstream is NULL;
115872         it's not necessary.
115874 2000-11-05  Jim Meyering  <meyering@lucent.com>
115876         * lib/makepath.h (make_dir): Declare.
115877         * lib/makepath.c (make_dir): Remove `static' attribute.
115878         Tweak a comment.
115880 2000-11-04  Jim Meyering  <meyering@lucent.com>
115882         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
115884 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
115886         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
115887         last one in a bucket, advance to the next bucket.
115889 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
115891         * lib/fnmatch.c: Do not comment out all the code if we are using
115892         the GNU C library, because in some cases we are replacing buggy
115893         code in the GNU C library itself.
115895 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
115897         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
115898         (regex_compile): Catch bogus \(\1\).
115900 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115902         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
115903         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
115904         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
115906 2000-10-30  Paul Eggert  <eggert@twinsun.com>
115908         * lib/error.h, getline.h, modechange.h:
115909         Remove "2000" from Copyright line, as the file hasn't been
115910         changed this year other than in the copyright notice.
115912         * lib/xalloc.h: Add "2000" to Copyright line, as this file
115913         was changed this year.
115915 2000-10-29  Jim Meyering  <meyering@lucent.com>
115917         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
115918         renaming.
115919         * m4/ls-mntd-fs.m4: Likewise
115921 2000-10-29  Jim Meyering  <meyering@lucent.com>
115923         * lib/xstat.in: Fix grammar in comment.
115925 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
115927         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
115928         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
115929         doesn't define __restrict_arr.
115931 2000-10-28  Jim Meyering  <meyering@lucent.com>
115933         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
115934         (jm_PREREQ_MEMCHR): New function.
115936 2000-10-28  Jim Meyering  <meyering@lucent.com>
115938         * lib/memchr.c: Update from libc.
115939         Adjust for portability:
115940         [HAVE_STDLIB_H]: Include stdlib.h.
115941         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
115942         Undef __memchr, too.
115943         [!weak_alias]: Define __memchr to memchr.
115945         * lib/regex.c: Update from libc.
115946         * lib/regex.h: Likewise.
115947         * lib/getopt1.c: Likewise.
115948         * lib/memcmp.c: Likewise.
115950         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
115951         Avoid using fseek, when possible -- it's broken by design.
115952         Patch by Ulrich Drepper.
115954 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
115956         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
115957         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
115958         Giving in to popular pressure to shut up the compiler with casts.
115960 2000-10-26  Jim Meyering  <meyering@lucent.com>
115962         * lib/strftime.c: Update from libc.
115964 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
115966         * regex.c: More `unsigned char' -> `re_char' changes.
115967         Also change several `int' into `re_wchar_t'.
115968         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
115969         (PUSH_FAILURE_POINTER): Don't cast any more.
115970         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
115971         We want GCC to complain, since this piece of code makes
115972         re_match non-reentrant, which *should* be fixed.
115973         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
115974         (EXTEND_BUFFER): Use RETALLOC.
115975         (SET_LIST_BIT): Don't cast.
115976         (re_wchar_t): New type.
115977         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
115978         that those two functions will always properly return.
115979         (IMMEDIATE_QUIT_CHECK): Cast to void.
115980         (analyse_first): Use recursion rather than an explicit stack.
115981         (re_compile_fastmap): Can't fail anymore.
115982         (re_search_2): Don't check re_compile_fastmap for failure.
115983         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
115984         Now also sets the new value (passed in a new argument).
115985         (re_match_2_internal): Use it.
115986         Also, use a new var `reg' of type size_t when looping through regs
115987         rather than reuse the inappropriate `mcnt'.
115989 2000-10-25  Jim Meyering  <meyering@lucent.com>
115991         * lib/obstack.c: Update from libc.
115993 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
115995         * regex.c (regex_compile): Change the way of handling a range from
115996         a char less than 256 to a char not less than 256.
115998 2000-10-24  Andrew Innes  <andrewi@gnu.org>
116000         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
116001         NT-Emacs only.
116002         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
116003         so that re_search functions only quit when callers expect them to.
116005 2000-10-23  Jim Meyering  <meyering@lucent.com>
116007         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
116008         wrong.  That set_locale call must not have any side effects.
116009         From Paul Eggert.
116011 2000-10-22  Jim Meyering  <meyering@lucent.com>
116013         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
116014         [CYCLIC]: Remove now-unused definition.
116016         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
116017         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
116018         Suggestion from Ulrich Drepper.
116020 2000-10-21  Jim Meyering  <meyering@lucent.com>
116022         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
116023         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
116024         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
116026 2000-10-21  Jim Meyering  <meyering@lucent.com>
116028         * lib/dirname.c (memrchr): Declare if necessary.
116029         (dir_name): Remove the restriction that there be no
116030         trailing slashes.  Now, this code skips past them, effectively
116031         ignoring them.
116032         [TEST_DIRNAME] (main): New unit tests.
116034         * lib/memrchr.c: New file from GNU libc.
116035         Undef __memrchr, too.
116036         [!weak_alias]: Define __memrchr to memrchr.
116037         Guard weak_alias use with `#ifdef weak_alias'.
116039 2000-10-21  Jim Meyering  <meyering@lucent.com>
116041         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
116042         (dir_name): Use dir_name_r.
116043         * lib/dirname.h (dir_name_r): Declare it.
116045 2000-10-17  Jim Meyering  <meyering@lucent.com>
116047         * lib/quote.h (PARAMS): Define and use.
116048         Reported by Akim Demaille.
116050         * lib/getopt.c: Update from libc.
116052 2000-10-16  Jim Meyering  <meyering@lucent.com>
116054         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
116055         setlocale.
116056         From Jan Fedak.
116058 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
116060         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
116062 2000-09-25  Jim Meyering  <meyering@lucent.com>
116064         * lib/md5.h (rol): Define (from GnuPG).
116066         * lib/sha.c: Give credit (GnuPG) where due.
116067         (M): Use rol rather than open-coding it.
116068         Add a FIXME comment.
116070 2000-09-21  Jim Meyering  <meyering@lucent.com>
116072         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
116073         Reported by Michael Stone.
116075 2000-09-20  Jim Meyering  <meyering@lucent.com>
116077         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
116078         (noinst_HEADERS): Add sha.h.
116079         Based on code from Scott G. Miller and from GnuPG.
116081 2000-09-18  Jim Meyering  <meyering@lucent.com>
116083         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
116084         LIBS. Otherwise, everyone ends up linking with -lelf for some
116085         configurations.
116086         Reported by Mike Stone.
116088 2000-09-15  Jim Meyering  <meyering@lucent.com>
116090         * lib/regex.c: Update from libc.
116092 2000-09-10  Jim Meyering  <meyering@lucent.com>
116094         * lib/getopt.c (_getopt_internal): Update from glibc.
116096 2000-09-09  Jim Meyering  <meyering@lucent.com>
116098         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
116099         think it should be used as a general replacement for isascii.
116100         * lib/fnmatch.c: Likewise.
116101         * lib/mbswidth.c: Likewise
116102         * lib/regex.c: Likewise.
116104         Don't use atoi.
116105         * lib/userspec.c: Include sys/param.h and limits.h.
116106         Include xstrtol.h.
116107         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
116108         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
116109         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
116110         UID, GID.  Check range.
116112 2000-09-06  Jim Meyering  <meyering@lucent.com>
116114         * lib/getopt.c (_getopt_internal): Update from glibc.
116116 2000-08-30  Jim Meyering  <meyering@lucent.com>
116118         * lib/strftime.c: Merge in changes from GNU libc.
116120 2000-08-26  Jim Meyering  <meyering@lucent.com>
116122         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
116123         * m4/fpending.m4: New file.
116125 2000-08-26  Jim Meyering  <meyering@lucent.com>
116127         * lib/closeout.c: Include "__fpending.h".
116128         (close_stdout_status): Return right away if there's nothing to flush.
116130         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
116131         * lib/__fpending.c: New file.
116132         * lib/__fpending.h: New file.
116134 2000-08-20  Jim Meyering  <meyering@lucent.com>
116136         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
116137         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
116138         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
116140 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
116142         Improve fileutils installation on systems where running
116143         programs (like install) can't be unlinked.
116144         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
116145         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
116147 2000-08-07  Paul Eggert  <eggert@twinsun.com>
116149         Standardize on "memory exhausted" instead of "Memory exhausted"
116150         or "virtual memory exhausted".
116151         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
116152         "virtual memory exhausted".
116153         * lib/same.c (same_name): Invoke xalloc_die instead of printing
116154         our own message.
116155         * lib/userspec.c (parse_user_spec): Likewise.
116156         * lib/bumpalloc.h: comment fix
116157         * lib/same.c, userspec.c: Include xalloc.h.
116159         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
116160         not char *const and pointing to a constant array.
116161         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
116162         (xrealloc): Comment fix.
116164         * lib/userspec.c (parse_user_spec):
116165         Don't translate a message until just before returning,
116166         to avoid unnecessary translation.
116168 2000-08-07  Jim Meyering  <meyering@lucent.com>
116170         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
116171         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
116172         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
116173         getgroups.c, gethostname.c, getopt.h, group-member.c,
116174         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
116175         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
116176         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
116177         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
116178         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
116179         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
116180         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
116181         yesno.c: Back out Copyright date changes for each file with no change
116182         this year.  This eases coordination with other programs using the same
116183         source code modules.  From Paul Eggert.
116185 2000-08-06  Paul Eggert  <eggert@twinsun.com>
116187         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
116188         not char, for compatibility with glibc 2.1.3 strftime.c.
116190 2000-08-03  Greg McGary  <greg@mcgary.org>
116192         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
116193         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
116194         (EXTEND_BUFFER): Use them.
116196 2000-08-01  Jim Meyering  <meyering@lucent.com>
116198         * lib/dirname.c (ISSLASH): Define.
116199         (BACKSLASH_IS_PATH_SEPARATOR): Define.
116200         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
116201         both `\' and `/' may be use as path separators.
116202         Based on a patch from Prashant TR.
116204 2000-07-31  Paul Eggert  <eggert@twinsun.com>
116206         * lib/quotearg.c (quotearg_n_options): Don't make the initial
116207         slot vector a constant, since it might get modified.
116209 2000-07-31  Jim Meyering  <meyering@lucent.com>
116211         * lib/xmalloc.c: Use `virtual memory exhausted', not
116212         `Memory exhausted'.
116213         * lib/obstack.c (print_and_abort): Likewise.
116215 2000-07-30  Paul Eggert  <eggert@twinsun.com>
116217         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
116218         buffer, so that the caller can always quote one small
116219         component of a "memory exhausted" message in slot 0.
116220         From a suggestion by Jim Meyering.
116222 2000-07-30  Jim Meyering  <meyering@lucent.com>
116224         * lib/makepath.c (make_path): Quote the other instance, too.
116226         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
116227         (STATIC_BUF_SIZE): Define.
116228         (quotearg_n_options): Use only statically allocated storage when
116229         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
116230         than STATIC_BUF_SIZE.
116232 2000-07-29  Jim Meyering  <meyering@lucent.com>
116234         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
116235         * lib/dirname.c (dir_name): Likewise.
116237         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
116238         `/'.
116240         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
116241         (dir_name): Assert that there are no trailing slashes.
116243 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
116245         * lib/mbswidth.h (mbswidth): Add a flags argument.
116246         (mbswidth): New declaration.
116247         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
116248         * lib/mbswidth.c (mbswidth): Add a flags argument.
116249         (mbsnwidth): New function.
116251 2000-07-24  Jim Meyering  <meyering@lucent.com>
116253         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
116255 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116257         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
116259 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116261         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
116262         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
116263         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
116264         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
116265         invoke multibyte primitives.
116267 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116269         * lib/quotearg.c:
116270         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
116271         so that mbstate_t is always defined.
116273         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
116274         be 1 in at least one GCC installation, and this configuration
116275         error is likely to be common.  Ignoring MB_LEN_MAX hurts
116276         performance on hosts that have mbrtowc but have only unibyte
116277         locales, but I assume these hosts are rare.
116279 2000-07-23  Paul Eggert  <eggert@twinsun.com>
116281         * lib/mbswidth.c (_XOPEN_SOURCE):
116282         Don't define; this causes problems on Solaris 7.
116283         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
116285 2000-07-23  Jim Meyering  <meyering@lucent.com>
116287         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
116288         too: getgrgid, getpwuid, getuid.
116290 2000-07-23  Jim Meyering  <meyering@lucent.com>
116292         * lib/basename.c (base_name): Add an assertion.
116294 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
116296         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
116297         shadow its mbsinit function.
116299 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116301         * lib/mbswidth.h: New file.
116302         * lib/mbswidth.c: New file.
116303         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
116304         (noinst_HEADERS): Add mbswidth.h.
116306 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
116308         * lib/config.charset: Add support for FreeBSD. Improve support for
116309         HP-UX and IRIX 6.
116311 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
116313         * m4/mbswidth.m4: New file.
116314         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
116316 2000-07-15  Jim Meyering  <meyering@lucent.com>
116318         * lib/makepath.c: Include quote.h.
116319         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
116320         corresponding argument in a `quote (...)' call.
116321         Give better diagnostics.
116323         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
116324         (noinst_HEADERS): Add quote.h.
116326         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
116327         from tar's src/misc.c.
116328         * lib/quote.h: New file.  Prototypes for same.
116330 2000-07-14  Paul Eggert  <eggert@twinsun.com>
116332         From a suggestion by Bruno Haible.
116333         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
116334         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
116335         to decide whether to define the BeOS workaround macro;
116336         this adjusts to the change to AC_MBSTATE_T.
116338 2000-07-14  Jim Meyering  <meyering@lucent.com>
116340         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
116341         jm_AC_TYPE_UINTMAX_T.
116343 2000-07-13  Paul Eggert  <eggert@twinsun.com>
116345         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
116347         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
116348         quotearg_buffer_restyled): Add support for
116349         clocale_quoting_style.  Undo previous change to
116350         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
116351         and "{RIGHT QUOTATION MARK}" msgids.
116353 2000-07-10  Paul Eggert  <eggert@twinsun.com>
116355         From a suggestion by Bruno Haible.
116356         * m4/mbstate_t.m4 (AC_MBSTATE_T):
116357         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
116358         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
116359         and mbstate_t, to a single-part test that simply defines mbstate_t.
116360         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
116361         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
116363 2000-07-10  Jim Meyering  <meyering@lucent.com>
116365         * m4/strerror_r.m4: Mirror the correction made in autoconf.
116367         * m4/gnu-source.m4: Output to confdefs.h directly.
116368         Suggestion from Akim Demaille.
116370 2000-07-09  Paul Eggert  <eggert@twinsun.com>
116372         The old behavior of quoting `like this' doesn't look good with
116373         newer, ISO-style fonts.  See:
116374         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
116376         Instead, quote "like this" by default.  Let the translator
116377         tailor the locale-specific quoting behavior by providing
116378         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
116380         * lib/quotearg.c (N_): New macro.
116381         (gettext_default): New function.
116382         (quotearg_buffer_restyled): Use
116383         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
116384         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
116386 2000-07-09  Jim Meyering  <meyering@lucent.com>
116388         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
116389         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
116391         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
116392         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
116394 2000-07-09  Jim Meyering  <meyering@lucent.com>
116396         * lib/Most files: Update copyright dates to include 2000.
116398 2000-07-08  Jim Meyering  <meyering@lucent.com>
116400         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
116401         if not defined.
116402         (xgethostname): Remove now-unnecessary #ifdef.
116403         Move declaration of `err' into loop where it's used.
116405 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116406         and Bruno Haible  <haible@clisp.cons.org>
116408         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
116409         only if the test for an object-type mbstate_t fails.  This
116410         prevents us from mistakenly reporting that mbstate_t is a
116411         system object type after we "#define mbstate_t int" to work
116412         around its lack.
116414 2000-07-05  Paul Eggert  <eggert@twinsun.com>
116415         and Bruno Haible  <haible@clisp.cons.org>
116417         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
116419 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116421         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
116422         to strerror_r.
116423         Include <ctype.h> for use of isalpha.
116425 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116427         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
116428         by allocating a larger buffer. Test the gethostname return value for
116429         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
116430         returns an error and ENAMETOOLONG isn't defined.
116432 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
116434         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
116435         dimension.
116437 2000-07-04  Jim Meyering  <meyering@lucent.com>
116439         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
116440         of the deprecated AC_CHECKING.
116442 2000-07-04  Jim Meyering  <meyering@lucent.com>
116444         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
116445         Reported by Bruno Haible.
116447 2000-07-04  Jim Meyering  <meyering@lucent.com>
116449         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
116450         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
116451         lacks mbrtowc.
116453 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116455         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
116456         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
116458 2000-07-03  Paul Eggert  <eggert@twinsun.com>
116459         and Bruno Haible  <haible@clisp.cons.org>
116461         * lib/quotearg.c (mbrtowc):
116462         Assign to *pwc, and return 1 only if result is nonzero.
116463         (iswprint): Use ISPRINT when substituting our own mbrtowc.
116465 2000-07-03  Jim Meyering  <meyering@lucent.com>
116467         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
116469 2000-07-03  Jim Meyering  <meyering@lucent.com>
116471         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
116472         This is necessary to get a definition of e.g., UTMP_FILE on
116473         HP-UX 10.20.
116474         From Bob Proulx.
116476 2000-07-02  Jim Meyering  <meyering@lucent.com>
116478         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
116480         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
116481         AC_LIBOBJ(function_name).
116482         * m4/chown.m4: Likewise.
116483         * m4/fnmatch.m4: Likewise.
116484         * m4/ftruncate.m4: Likewise.
116485         * m4/getgroups.m4: Likewise.
116486         * m4/getline.m4: Likewise.
116487         * m4/group-member.m4: Likewise.
116488         * m4/jm-macros.m4: Likewise.
116489         * m4/lstat.m4: Likewise.
116490         * m4/malloc.m4: Likewise.
116491         * m4/memcmp.m4: Likewise.
116492         * m4/nanosleep.m4: Likewise.
116493         * m4/putenv.m4: Likewise.
116494         * m4/realloc.m4: Likewise.
116495         * m4/regex.m4: Likewise.
116496         * m4/stat.m4: Likewise.
116497         * m4/strftime.m4: Likewise.
116499 2000-07-02  Jim Meyering  <meyering@lucent.com>
116501         * lib/quotearg.c (mbstate_t): Don't define here.
116503 2000-07-02  Jim Meyering  <meyering@lucent.com>
116505         * lib/nanosleep.c (SIGCONT): Define if not already defined.
116507 2000-07-01  Jim Meyering  <meyering@lucent.com>
116509         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
116511 2000-07-01  Jim Meyering  <meyering@lucent.com>
116513         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
116514         problem.
116516 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116518         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
116519         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
116521 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
116523         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
116524         per change in ../m4/ls-mntd-fs.m4.
116525         (read_filesystem_list): Ignore symbolic links.
116527 2000-06-29  Jim Meyering  <meyering@lucent.com>
116529         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
116530         for declaration of strcmp.
116532         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
116534         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
116535         Avoid warning by casting result to `char *' to remove `const'.
116537 2000-06-28  Jim Meyering  <meyering@lucent.com>
116539         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
116540         included by quotearg.c, for which we perform this test.  From
116541         Bruno Haible.
116543 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116545         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
116546         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
116547         <utmpx.h> exists, put readutmp.o into LIBOBJS.
116549 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
116551         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
116553 2000-06-26  Paul Eggert  <eggert@twinsun.com>
116555         savedir now sets errno on failure and invokes xmalloc to get memory.
116556         Fix a couple of other minor bugs while we're at it.
116558         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
116559         (NAMLEN): Remove macro.
116560         (malloc, realloc): Remove decls.
116561         (stpcpy): Likewise.
116562         ("xalloc.h"): Include.
116563         (NAME_SIZE_DEFAULT): New macro.
116564         (savedir): Use xmalloc / xrealloc to allocate memory.
116565         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
116566         Skip "" directory entries.
116567         Use strlen to calculate directory entry length, since the old method
116568         is rarely used these days and isn't worth supporting.
116569         Don't use a pointer after freeing it.
116570         Check for integer overflow when calculating allocation size.
116571         Use memcpy to copy entries, instead of stpcpy.
116572         Set errno properly when returning NULL.
116573         Check for readdir error.
116575 2000-06-26  Jim Meyering  <meyering@lucent.com>
116577         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
116579 2000-06-25  Jim Meyering  <meyering@lucent.com>
116581         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
116582         Linux header bug when _XOPEN_SOURCE is defined to 500.
116584 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116586         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
116587         deficiency.
116589 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
116591         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
116592         Include xalloc.h.
116593         Don't include <stdlib.h>.  Don't declare malloc, realloc.
116595 2000-06-24  Jim Meyering  <meyering@lucent.com>
116597         * m4/strerror_r.m4: Revive this file -- to try out an experimental
116598         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
116599         for which strerror does return char*, but which lacks a conveniently
116600         accessible declaration of the function.  If the compile-test says
116601         strerror_r doesn't work, then resort to a `run'-test that works on
116602         BeOS and segfaults on DEC Unix.
116604 2000-06-24  Jim Meyering  <meyering@lucent.com>
116606         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
116608 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116610         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
116611         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
116613 2000-06-23  Paul Eggert  <eggert@twinsun.com>
116615         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
116616         (mbrtowc, mbstate_t): Define substitutes if
116617         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
116618         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
116619         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
116621 2000-06-23  Jim Meyering  <meyering@lucent.com>
116623         * m4/afs.m4: Add missing AC_MSG_RESULT.
116624         Reported by Bruno Haible.
116626         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
116627         Suggestion from Bruno Haible.
116629 2000-06-23  Jim Meyering  <meyering@lucent.com>
116631         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
116633 2000-06-21  Jim Meyering  <meyering@lucent.com>
116635         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
116637 2000-06-21  Jim Meyering  <meyering@lucent.com>
116639         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
116640         (noinst_HEADERS): Add getstr.h.
116642         * lib/getline.c (getstr): Move into a separate file.
116643         * lib/getstr.c (getstr): New file, extracted from getline.c, with
116644         the following changes: new parameter, delim2; both delim[12]
116645         parameters have type `int', not `char'.  The latter would lose
116646         with 8-bit delimiters.
116647         * lib/getstr.h: New file.
116649 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116651         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
116652         than 1024, return a memory chunk of least possible size, instead
116653         of size PATH_MAX + 2. In the loop, increment the size proportionally.
116654         Use free/xmalloc instead of xrealloc to avoid copying for very long
116655         paths.
116657 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116659         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
116660         the empty string.
116662 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
116664         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
116665         address, not strdup.  Include <stdlib.h> and don't declare free().
116667 2000-06-19  Jim Meyering  <meyering@lucent.com>
116669         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
116671 2000-06-18  Jim Meyering  <meyering@lucent.com>
116673         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
116675         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
116676         `checking whether...' message to be consistent with that of the
116677         lstat test.
116679 2000-06-18  Jim Meyering  <meyering@lucent.com>
116681         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
116682         Besides, these days every porting target provides a mkdir function.
116684         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
116685         needed. (this snippet comes from src/system.h).
116687 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
116689         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
116691 2000-06-15  Paul Eggert  <eggert@twinsun.com>
116693         * lib/human.c (adjust_value): New function.
116694         (human_readable_inexact): Apply rounding style even when
116695         printing approximate values.
116697 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116699         * lib/human.c (human_readable_inexact): Allow an input block
116700         size that is not a multiple of the output block size, and vice versa.
116701         Reported by Piergiorgio Sartor.
116703 2000-06-14  Paul Eggert  <eggert@twinsun.com>
116705         * lib/getdate.y (get_date): Apply relative times after time
116706         zone indicator, not before.  Reported by Todd A. Jacobs.
116708 2000-06-13  Jim Meyering  <meyering@lucent.com>
116710         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
116712         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
116714 2000-06-12  Paul Eggert  <eggert@twinsun.com>
116716         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
116718 2000-06-12  Jim Meyering  <meyering@lucent.com>
116720         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
116721         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
116722         optional argument.
116723         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
116724         the optional argument, `lib'.
116726 2000-06-08  Jim Meyering  <meyering@lucent.com>
116728         * m4/largefile.m4: Remove file (now that it's part of autoconf).
116730 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116732         Rewrite largefile configuration so that we don't need to run
116733         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
116734         AC_CANONICAL_HOST in configure.in -- jmm]
116736         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
116737         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
116738         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
116739         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
116740         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
116741         All uses changed.
116742         Instead of inspecting the output of getconf, try to compile the
116743         test program without and with the macro definition.
116744         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
116745         for getconf.  Instead, check for the needed flags by compiling
116746         test programs.
116748 2000-06-04  Paul Eggert  <eggert@twinsun.com>
116750         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
116752 2000-06-04  Jim Meyering  <meyering@lucent.com>
116754         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
116755         SunOS 4.1.4 for which gid_t is an unsigned type.
116757 2000-06-03  Jim Meyering  <meyering@lucent.com>
116759         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
116760         now that autoconf requires that.
116762         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
116763         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
116764         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
116766 2000-06-03  Jim Meyering  <meyering@lucent.com>
116768         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
116770 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116772         * m4/glibc21.m4: New file.
116773         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
116775 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
116777         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
116778         newer, don't install charset.alias.
116779         * lib/config.charset: Change the Linux/glibc rules so they become empty
116780         on glibc-2.1 or newer.
116782 2000-06-02  Jim Meyering  <meyering@lucent.com>
116784         * lib/mountlist.c: Back out last change.  Instead, do this...
116785         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
116786         me_dummy member using the same `ignore'-testing code.
116787         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
116788         fs_type strings.
116789         From Mark D. Roth.
116791 2000-05-29  Jim Meyering  <meyering@lucent.com>
116793         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
116794         mounts with the `ignore' attribute.  Based on a patch from
116795         Mark D. Roth.
116797 2000-05-28  Jim Meyering  <meyering@lucent.com>
116799         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
116800         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116801         * m4/stat.m4: Likewise.
116802         * m4/lstat.m4: Likewise.
116803         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
116805         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
116806         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
116808 2000-05-26  Jim Meyering  <meyering@lucent.com>
116810         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
116812 2000-05-24  Jim Meyering  <meyering@lucent.com>
116814         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
116815         autoconf requires that.
116816         * m4/lib-check.m4: Likewise.
116817         * m4/jm-macros.m4: Likewise.
116818         * m4/strftime.m4: Likewise.
116820         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
116821         AC_CHECK_DECLS, now that autoconf requires that.
116823 2000-05-22  Jim Meyering  <meyering@lucent.com>
116825         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
116826         * m4/lstat.m4: Likewise.
116828 2000-05-22  Jim Meyering  <meyering@lucent.com>
116830         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
116832 2000-05-20  Jim Meyering  <meyering@lucent.com>
116834         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
116835         (jm_PREREQ): Use it.
116837 2000-05-18  Jim Meyering  <meyering@lucent.com>
116839         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
116840         back, too, since it may have been modified by allocate_entry.
116841         (hash_delete): Rewrite to use neither the assignment operator
116842         nor the comma operator in an if-expression.
116844 2000-05-15  Paul Eggert  <eggert@twinsun.com>
116846         * lib/closeout.c:
116847         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
116848         Remove; no longer needed.
116849         "quotearg.h": Add include.
116850         (file_name): Do not bother to explicitly initialize to NULL; it's less
116851         efficient on some hosts.
116852         (close_stdout_status): Remove test as to whether stdout was already
116853         closed; it breaks for the case "echo x | sort >&-".
116854         Quote file name colons.
116855         Do not assume that _("write error") lacks format strings.
116857 2000-05-15  Jim Meyering  <meyering@lucent.com>
116859         * lib/version-etc.c (version_etc_copyright): Update the copyright
116860         string used in all --version output.
116862 2000-05-14  Jim Meyering  <meyering@lucent.com>
116864         * lib/closeout.c (close_stdout_set_file_name): New function.
116865         (close_stdout_status): Use new file-scoped global.
116866         Return right away if fstat says the stdout file descriptor is invalid.
116867         * lib/closeout.h (close_stdout_set_file_name): Declare.
116869 2000-05-10  Jim Meyering  <meyering@lucent.com>
116871         * lib/closeout.c [default_exit_status]: New file-scoped variable.
116872         (close_stdout_set_status): New function.
116873         * lib/closeout.h (close_stdout_set_status): Declare.
116875 2000-05-09  Jim Meyering  <meyering@lucent.com>
116877         * m4/gettext.m4: Rename this...
116878         * m4/libintl.m4: ...to this.
116880 2000-05-08  Jim Meyering  <meyering@lucent.com>
116882         * lib/long-options.c: Don't include closeout.h.
116883         (parse_long_options): Don't call close_stdout for --version.
116885 2000-05-06  Paul Eggert  <eggert@twinsun.com>
116887         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
116888         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
116889         2.1.3 bug.  This avoids a clash when files like regex.c define
116890         _GNU_SOURCE.
116892 2000-05-06  Jim Meyering  <meyering@lucent.com>
116894         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
116895         (AC_REPLACE_FUNCS): Add strnlen.
116897         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
116898         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
116900         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
116901         AC_SEARCH_LIBS call for nanosleep.
116902         (LIB_NANOSLEEP): Set and AC_SUBST.
116904 2000-05-06  Jim Meyering  <meyering@lucent.com>
116906         * lib/strnlen.c: Undefine __strnlen and strnlen.
116907         [!weak_alias]: Define __strnlen to strnlen.
116909         * lib/atexit.c: New file, from libiberty.
116911 2000-05-06  Jim Meyering  <meyering@lucent.com>
116913         * lib/closeout.c (close_stdout_status): Also check for errors on the
116914         stderr stream.
116916 2000-05-05  Jim Meyering  <meyering@lucent.com>
116918         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
116919         AC_SEARCH_LIBS call for clock_gettime.
116920         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
116922         * m4/search-libs.m4: Update from autoconf.
116924         su doesn't work on Solaris 2.6.
116925         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
116926         <shadow.h>.  Reported by Dragos Harabor.
116928 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
116930         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
116931         memcpy instead of xmalloc, xrealloc, path_concat.
116932         (locale_charset): Treat empty environment variables as absent.
116933         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
116935 2000-05-04  Jim Meyering  <meyering@lucent.com>
116937         * lib/getopt.c: Update from glibc.
116938         * lib/obstack.c: Likewise.
116939         * lib/obstack.h: Likewise.
116940         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
116941         file
116943         * lib/regex.h: Likewise.
116944         * lib/strndup.c: Likewise.
116945         * lib/strnlen.c: New file, from glibc.
116947 2000-05-03  Jim Meyering  <meyering@lucent.com>
116949         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
116951 2000-05-02  Paul Eggert  <eggert@twinsun.com>
116953         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
116954         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
116955         compile-time test, rather than inspecting host and OS, to
116956         decide whether to define _LARGEFILE_SOURCE.
116958 2000-05-01  Jim Meyering  <meyering@lucent.com>
116960         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
116962         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
116963         Based on a patch from Bruno Haible.
116965 2000-05-01  Jim Meyering  <meyering@lucent.com>
116967         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
116969 2000-04-29  Jim Meyering  <meyering@lucent.com>
116971         * lib/path-concat.c: Declare strdup only if it's not defined.
116972         * lib/canon-host.c: Likewise.
116974 2000-04-28  Jim Meyering  <meyering@lucent.com>
116976         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
116977         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
116978         is included first, then limits.h is included by locale.h by libintl.h.
116979         From John David Anglin.
116981 2000-04-25  Jim Meyering  <meyering@lucent.com>
116983         * lib/makepath.c (S_IRWXUGO): Define.
116984         (make_path): Always perform explicit chmod if MODE specifies any
116985         of the `special' permission bits.  Prompted by a bug report against
116986         install from Mate Wierdl and Joost van Baal.
116988 2000-04-18  Jim Meyering  <meyering@lucent.com>
116990         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
116991         (jm_PREREQ): Use it.
116993 2000-04-18  Jim Meyering  <meyering@lucent.com>
116995         * lib/README: New file.
116997         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
116998         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
117000 2000-04-17  Jim Meyering  <meyering@lucent.com>
117002         Get it right :-)
117003         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
117004         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
117005         Suggestion from Akim Demaille.
117007 2000-04-17  Jim Meyering  <meyering@lucent.com>
117009         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
117010         the definition of it to rpl_strftime also defined-away the system's
117011         declaration.
117013 2000-04-15  Jim Meyering  <meyering@lucent.com>
117015         Use `C' to denote so-called `contiguous' files, the same way
117016         that tar does.
117017         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
117018         (ftypelet): Use S_ISCTG.
117019         From Michael Deutschmann.
117021 2000-04-14  Jim Meyering  <meyering@lucent.com>
117023         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
117024         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
117025         clobbered.
117027 2000-04-14  Jim Meyering  <meyering@lucent.com>
117029         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
117031 2000-04-13  Jim Meyering  <meyering@lucent.com>
117033         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
117034         AH_VERBATIM to insert required #ifndef into config.h.in.
117035         Suggestion from Akim Demaille.
117037 2000-04-12  Jim Meyering  <meyering@lucent.com>
117039         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
117040         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
117041         Christian Krackowizer.
117043         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
117044         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
117045         (AC_SYS_LARGEFILE): Require.
117046         (AM_C_PROTOTYPES): Require.
117048 2000-04-08  Jim Meyering  <meyering@lucent.com>
117050         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
117051         names don't conflict.  Reported by Eli Zaretskii.
117053 2000-04-07  Jim Meyering  <meyering@lucent.com>
117055         * lib/putenv.c: Move inclusion of errno.h so it follows that of
117056         sys/types.h, to work around system header problems on AIX 3.2.5.
117057         From Bruno Haible.
117059 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
117061         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
117062         bug.  Deal with the different error behavior of Irix iconv.
117064 2000-04-05  Paul Eggert  <eggert@twinsun.com>
117066         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
117067         IRIX if the installer said otherwise.
117069 2000-04-05  Jim Meyering  <meyering@lucent.com>
117071         Portability tweaks required for ultrix4.3.
117072         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
117073         (jm_CHECK_DECLS): Add getutent to the list of functions.
117074         (_jm_DECL_HEADERS): Add utmpx.h.
117075         From John David Anglin.
117077         * m4/strftime.m4: Back out the 2000-04-02 change.
117078         Instead of that change, simply undefine putenv in the test program.
117080 2000-04-05  Jim Meyering  <meyering@lucent.com>
117082         Portability tweaks required for ultrix4.3.
117083         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
117084         getutent.
117085         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
117086         * lib/canon-host.c: Declare strdup.
117087         * lib/path-concat.c: Likewise.
117088         From John David Anglin.
117090 2000-04-04  Jim Meyering  <meyering@lucent.com>
117092         Be more DOS 8.3-friendly.
117093         * lib/ref-add.sin: Renamed from ref-add.sed.in.
117094         * lib/ref-del.sin: Renamed from ref-del.sed.in.
117095         * lib/Makefile.am: Reflect renaming.
117096         Reported by Eli Zaretskii.
117098         Use a temporary file name that won't clash with `charset.alias'
117099         in the DOS 8.3 name space.
117100         * lib/Makefile.am (charset_tmp): Define.
117101         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
117102         (uninstall-local): Likewise.
117103         Reported by Eli Zaretskii.
117105 2000-04-03  Jim Meyering  <meyering@lucent.com>
117107         * m4/gettext.m4: Fix typo in comment.
117109         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
117110         textutils/configure.in).  Suggestion from Paul Eggert.
117111         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
117113 2000-04-02  Paul Eggert  <eggert@twinsun.com>
117115         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
117116         variable in the shell rather than using putenv, which isn't
117117         portable.  This avoids the configure-time inter-test dependency
117118         on the potentially-renamed putenv function.
117120 2000-03-30  Paul Eggert  <eggert@twinsun.com>
117122         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
117123         before checking struct stat.st_blksize, so that
117124         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
117126 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117128         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
117129         since strftime.c uses HAVE_STRFTIME to decide whether to use
117130         the underlying strftime.
117132 2000-03-29  Paul Eggert  <eggert@twinsun.com>
117134         * lib/time/strftime.c (my_strftime): Make sure we call the system
117135         strftime, not ourselves, when invoking the underlying strftime.
117137 2000-03-24  Jim Meyering  <meyering@lucent.com>
117139         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
117140         (charset_alias): Define.
117141         (install-exec-local): Factor out common code.
117142         (uninstall-local): Split lines longer than 80.
117143         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
117144         (SUFFIXES): Define.
117145         (.sed.in.sed): New rule.  Don't redirect directly to $@.
117146         (CLEANFILES): Add ref-add.sed and ref-del.sed.
117148 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
117150         * lib/config.charset: Output a line containing "Packages using this
117151         file".
117152         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
117153         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
117154         ref-del.sed): New rules.
117156 2000-03-17  Jim Meyering  <meyering@lucent.com>
117158         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
117159         Otherwise, include <strings.h>
117161 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
117163         * lib/unicodeio.c (utf8_wctomb): New function.
117164         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
117165         format instead of in UCS-4 with platform dependent endianness.
117167 2000-03-10  Jim Meyering  <meyering@lucent.com>
117169         * m4/lib-check.m4: Look for getspnam in -lgen, too.
117170         From Marco Franzen.
117172 2000-03-07  Paul Eggert  <eggert@twinsun.com>
117174         * lib/savedir.c (savedir): Work even if directory size is
117175         negative; this can happen with some screwy NFS configurations.
117177 2000-03-06  Jim Meyering  <meyering@lucent.com>
117179         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
117180         if it's NULL (because we ran out of memory).  From Bruno Haible.
117182 2000-03-05  Jim Meyering  <meyering@lucent.com>
117184         * lib/localcharset.c ("path-concat.h"): Include.
117185         (get_charset_aliases): Use path_concat instead of ANSI string
117186         concatenation.
117188         * lib/unicodeio.h (PARAMS): Define.
117189         Use it to guard prototype.
117191 2000-03-04  Jim Meyering  <meyering@lucent.com>
117193         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
117194         for lib/localcharset.c.
117196 2000-03-04  Jim Meyering  <meyering@lucent.com>
117198         * lib/Makefile.am (install-exec-local): Create $(libdir) before
117199         installing into it.
117200         (uninstall-local): Uncomment this rule so `make distcheck' works
117201         once again.
117203         * lib/unicodeio.c (<errno.h>): Include it.
117204         (errno): Declare if not defined.
117206         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
117208         * lib/config.charset: New version, incorporating remarks from a linux
117209         i18n mailing list.  From Bruno Haible.
117211 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
117213         * m4/codeset.m4: New file.
117214         * m4/iconv.m4: New file.
117215         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
117217 2000-03-03  Jim Meyering  <meyering@lucent.com>
117219         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
117221 2000-03-02  Jim Meyering  <meyering@lucent.com>
117223         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
117224         the messages come out on separate lines.
117226         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
117227         rather than jm_CHECK_DECLARATIONS.
117228         * m4/decl.m4: Remove now-unused file.
117230         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
117231         geteuid.
117233 2000-03-02  Jim Meyering  <meyering@lucent.com>
117235         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
117237 2000-03-01  Jim Meyering  <meyering@lucent.com>
117239         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
117240         * lib/unicodeio.c: Likewise.
117242 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
117244         * lib/config.charset: New file.
117245         * lib/localcharset.c: New file.
117246         * lib/unicodeio.h, lib/unicodeio.c: New files.
117247         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
117248         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
117249         (noinst_HEADERS): Add unicodeio.h.
117250         (all-local, install-exec-local, charset.alias): New targets.
117252 2000-02-28  Paul Eggert  <eggert@twinsun.com>
117254         * lib/quotearg.c (ALERT_CHAR): New macro.
117255         (quotearg_buffer_restyled): Use it.
117257 2000-02-27  Jim Meyering  <meyering@lucent.com>
117259         * m4/check-decl.m4: Add getenv to the list.
117261 2000-02-27  Jim Meyering  <meyering@lucent.com>
117263         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
117264         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
117266         * lib/backupfile.c: Guard inclusion of stdlib.h with
117267         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
117268         Declare malloc if needed.
117270         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
117271         `#ifndef HAVE_DECL..'
117272         now that autoconf always defines the HAVE_DECL_ symbols.
117273         * lib/human.c: Likewise.
117274         * lib/same.c: Likewise.
117275         * lib/strtoumax.c: Likewise.
117277         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
117278         declaration check was not run.
117279         * lib/hash.c: Likewise.
117280         * lib/human.c: Likewise.
117281         * lib/same.c: Likewise.
117282         * lib/strtoumax.c: Likewise.
117284         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
117285         `.', then first look up the entire `.'-containing string as a login
117286         name.
117288 2000-02-23  Jim Meyering  <meyering@lucent.com>
117290         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
117291         in place of my hack.
117293 2000-02-18  Paul Eggert  <eggert@twinsun.com>
117295         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
117296         (textint): New typedef.
117297         (parser_control): Member year changed from int to textint.
117298         All uses changed.
117299         (YYSTYPE): Removed; replaced by %union with int and textint members.
117300         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
117301         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
117302         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
117303         (tSNUMBER, tUNUMBER): Now of type <textintval>.
117304         (date, number, to_year): Use width of number in digits, not its value,
117305         to determine whether it's a 2-digit year, or a 2-digit time.
117306         (yylex): Store number of digits of numeric tokens.
117307         Reported by John Kendall.
117309         (parser_control): Changed from struct parser_control to typedef (for
117310         consistency).  All uses changed.
117312         (tID): Removed; not used.
117313         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
117315 2000-02-14  Paul Eggert  <eggert@twinsun.com>
117317         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
117318         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
117320 2000-02-12  Jim Meyering  <meyering@lucent.com>
117322         * lib/userspec.c (ISDIGIT): Define it.
117323         (isdigit): Remove definition.
117324         (is_number): Use ISDIGIT, not isdigit.
117325         <libintl.h>: Include.
117326         (_ and N_): Define.
117327         (parse_user_spec): Mark translatable strings.
117329 2000-02-10  Jim Meyering  <meyering@lucent.com>
117331         With these changes, nanosleep.[ch] are finally enough like the other
117332         lib/* replacement files to compile on a few more losing systems.
117334         * lib/nanosleep.h: Don't include config.h.
117335         Remove prototype from declaration of nanosleep.
117336         (PARAMS): Remove now-unneeded definition.
117337         * lib/nanosleep.c: #undef nanosleep.
117338         (rpl_nanosleep): Rename from nanosleep.
117340 2000-02-10  Jim Meyering  <meyering@lucent.com>
117342         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
117343         gnu_nanosleep to rpl_nanosleep.
117345 2000-02-09  Jim Meyering  <meyering@lucent.com>
117347         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
117348         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
117350 2000-02-08  Akim Demaille  <akim@epita.fr>
117352         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
117353         `[' and `]' and remove uses of `changequote'.
117354         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
117355         (AC_SYS_LARGEFILE): Likewise.
117356         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
117357         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
117358         of changequote.
117359         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
117360         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
117361         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
117362         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
117364 2000-02-05  Jim Meyering  <meyering@lucent.com>
117366         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
117367         Remove explicit use of AC_HEADER_TIME.  It is required by
117368         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
117369         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
117370         in autoconf whereby the expansion of the latter ended up preceding
117371         the expansion of its prerequisite, AC_HEADER_TIME.
117372         Reported by Volker Borchert.
117374 2000-02-03  Jim Meyering  <meyering@lucent.com>
117376         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
117378 2000-02-03  Jim Meyering  <meyering@lucent.com>
117380         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
117381         rather than with `#if HAVE_UTMPNAME'.
117383 2000-02-02  Jim Meyering  <meyering@lucent.com>
117385         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
117386         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
117387         Reported by Eli Zaretskii.
117389 2000-02-01  Jim Meyering  <meyering@lucent.com>
117391         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
117393 2000-01-31  Jim Meyering  <meyering@lucent.com>
117395         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
117396         functions.  Add the time.h and sys/time.h headers along with the
117397         AC_REQUIRE'ment of AC_HEADER_TIME.
117399 2000-01-31  Jim Meyering  <meyering@lucent.com>
117401         * lib/nanosleep.h (nanosleep): Guard declaration with
117402         `#if ! HAVE_DECL_NANOSLEEP'.
117403         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
117404         the declaration in that vendor's sys/timers.h.
117405         Reported by Christian Krackowizer.
117407         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
117408         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
117409         (ISPRINT): Likewise.
117410         Reported by Tom Tromey.
117412 2000-01-30  Jim Meyering  <meyering@lucent.com>
117414         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
117416         * m4/prereq.m4 (utmp_includes): Define.
117417         Check for ut_user and ut_name members in both struct utmpx
117418         and struct utmp.
117420 2000-01-30  Jim Meyering  <meyering@lucent.com>
117422         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
117423         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
117424         header files where only utmpx.ut_user is declared.
117426         * lib/readutmp.h (UT_USER): Define.
117428 2000-01-29  Jim Meyering  <meyering@lucent.com>
117430         * m4/lib-check.m4: New file containing library-related checks from
117431         fileutils and sh-utils (textutils had none).
117433 2000-01-28  Jim Meyering  <meyering@lucent.com>
117435         * m4/perl.m4: Change format of warning message to look more like that
117436         from the missing script.  Suggestion from François Pinard.
117438 2000-01-25  Jim Meyering  <meyering@lucent.com>
117440         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
117441         well as time.h in the compile check.
117442         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
117443         Fix typo in cross-compiling case: s/yes/no/.
117445 2000-01-23  Jim Meyering  <meyering@lucent.com>
117447         * m4/jm-macros.m4: Move df-related tests here from
117448         fileutils/configure.in
117450         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
117451         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
117453         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
117454         s/space/ac_fsusage_space/.
117455         (jm_FILE_SYSTEM_USAGE): Take two parameters.
117457         * m4/ftruncate.m4: New file (derived from part of
117458         fileutils/configure.in).
117459         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
117460         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
117462         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
117463         AC_SUBST these here, rather than just in sh-util/configure.in, so
117464         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
117465         all the same.
117466         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
117467         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
117468         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
117469         (AC_SUBST(POW_LIBM)): Likewise.
117470         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
117472 2000-01-23  Jim Meyering  <meyering@lucent.com>
117474         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
117475         obstack.c.
117477 2000-01-22  Jim Meyering  <meyering@lucent.com>
117479         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
117481         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
117483         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
117484         configure.in
117485         (AC_CHECK_HEADERS): Likewise for sh-utils.
117486         (AC_CHECK_HEADERS): Likewise for textutils.
117487         Merge the three lists of headers.
117489         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
117490         from fileutils' configure.in.
117492         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
117493         code. Moved tests into their own function (_jm_DECL_HEADERS) in
117494         check-decl.m4.
117496         * m4/check-decl.m4: Use #if rather than #ifdef.
117497         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
117498         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
117499         (_jm_DECL_HEADERS): Define new function.
117500         (jm_CHECK_DECLARATIONS): Require it.
117502 2000-01-22  Jim Meyering  <meyering@lucent.com>
117504         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
117505         [! HAVE_DECL_STRTOULL]: Declare strtoull.
117506         Required for some AIX systems.  Reported by Christian Krackowizer.
117507         [TESTING] (main): New function.
117509         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
117510         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
117511         letters.
117513         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
117514         iswprint.
117516         * lib/strverscmp.c (ISDIGIT): Define.
117517         (strverscmp): Use ISDIGIT, not isdigit.
117519 2000-01-19  Jim Meyering  <meyering@lucent.com>
117521         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
117522         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
117523         defines `struct timespec' in <sys/time.h>
117525         * m4/c-bs-a.m4: Remove uses of changequote altogether.
117526         Thanks to Akim for explaining.
117528 2000-01-17  Paul Eggert  <eggert@twinsun.com>
117530         * lib/nanosleep.c (nanosleep):
117531         Don't use SA_INTERRUPT to decide whether to call sigaction, as
117532         POSIX.1 doesn't require SA_INTERRUPT and some systems
117533         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
117534         it's been part of POSIX.1 since day 1 (in 1988).
117536 2000-01-17  Jim Meyering  <meyering@lucent.com>
117538         * lib/interlock: Remove unused file.  Reported by François Pinard.
117540 2000-01-16  Paul Eggert  <eggert@twinsun.com>
117542         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
117543         alert, backslash, formfeed, and vertical tab unnecessarily in
117544         shell quoting style.
117546 2000-01-16  Jim Meyering  <meyering@lucent.com>
117548         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
117549         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
117550         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
117551         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
117553 2000-01-16  Jim Meyering  <meyering@lucent.com>
117555         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
117556         because the latter didn't work.
117558 2000-01-15  Jim Meyering  <meyering@lucent.com>
117560         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
117561         (AC_REPLACE_FUNCS): Add memcpy and memset.
117562         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
117563         Add strpbrk.
117564         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
117566 2000-01-12  Jim Meyering  <meyering@lucent.com>
117568         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
117569         (jm_PREREQ): Use it.
117570         (jm_PREREQ_READUTMP): New macro.
117571         (jm_PREREQ): Use it.
117573 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117575         Quote multibyte characters correctly.
117576         * m4/c-bs-a.m4: New file.
117577         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
117578         (jm_PREREQ): Use it.
117580 2000-01-11  Paul Eggert  <eggert@twinsun.com>
117582         * m4/uintmax_t.m4: Port to autoconf 2.13.
117584 2000-01-08  Jim Meyering  <meyering@ascend.com>
117586         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
117587         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
117589 2000-01-04  Jim Meyering  <meyering@ascend.com>
117591         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
117592         jm_STRUCT_DIRENT_D_TYPE.
117593         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
117594         jm_STRUCT_DIRENT_D_INO.
117595         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
117596         jm_STRUCT_UTIMBUF.
117597         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
117598         renamings.
117599         * m4/utime.m4: Likewise.
117601         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
117602         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
117604 2000-01-03  Paul Eggert  <eggert@twinsun.com>
117606         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
117607         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
117609 2000-01-02  Jim Meyering  <meyering@ascend.com>
117611         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
117612         remember if this is necessary.
117614 1999-12-26  Jim Meyering  <meyering@ascend.com>
117616         * m4/jm-macros.m4: Use it here.
117617         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
117619 1999-12-23  Jim Meyering  <meyering@ascend.com>
117621         * m4/jm-macros.m4: Check for clock_gettime (moved from
117622         fileutils/configure.in)
117623         Check for gettimeofday.
117625 1999-12-20  Jim Meyering  <meyering@ascend.com>
117627         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
117628         autoconf-2.14a-1999-12-20.
117630 1999-12-19  Jim Meyering  <meyering@ascend.com>
117632         * m4/lstat-slash.m4: New file.
117633         * m4/jm-macros.m4: Use the new macro:
117634         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
117636 1999-12-07  Jim Meyering  <meyering@ascend.com>
117638         * m4/perl.m4: Require that File::Compare be available, too.
117639         Too many systems seem to lack it.
117641         * m4/strftime.m4: Add checks for most of the cpp macros tested in
117642         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
117644 1999-11-18  Paul Eggert  <eggert@twinsun.com>
117646         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
117647         problem with the QNX 4.25 shell, which doesn't propagate exit
117648         status of failed commands inside shell assignments.
117650 1999-11-17  Jim Meyering  <meyering@ascend.com>
117652         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
117654 1999-11-07  Jim Meyering  <meyering@ascend.com>
117656         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
117658 1999-11-06  Jim Meyering  <meyering@ascend.com>
117660         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
117661         * m4/jm-macros.m4 (jm_MACROS): Use it here.
117663 1999-11-05  Jim Meyering  <meyering@ascend.com>
117665         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
117666         configure.in of textutils, fileutils, and sh-utils into this one
117667         (shared between those packages) file.
117668         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
117669         AC_STRUCT_ST_BLKSIZE.
117671 1999-11-03  Jim Meyering  <meyering@ascend.com>
117673         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
117674         of AC_CHECK_TYPE checks includes unistd.h.
117675         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
117676         Suggestion from Akim Demaille.
117678 1999-10-30  Jim Meyering  <meyering@ascend.com>
117680         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
117681         m4-quoted string.
117682         * m4/ls-mntd-fs.m4: Likewise.
117683         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
117684         * m4/jm-winsz1.m4: Likewise.
117686         * m4/const.m4: Remove file, since the fix made it into the experimental
117687         version of autoconf.
117688         * m4/mktime.m4: Likewise.
117690         * m4/check-type.m4: Remove file, now that the latest version of
117691         AC_CHECK_TYPE takes a third arg to specify additional #includes.
117693         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
117694         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
117695         AC_CHECK_TYPE.
117697 1999-10-04  Jim Meyering  <meyering@ascend.com>
117699         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
117701 1999-09-22  Paul Eggert  <eggert@twinsun.com>
117703         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
117704         2.95.1 bug with HP-UX 10.20.
117706 1999-09-17  Jim Meyering  <meyering@ascend.com>
117708         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
117709         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
117710         due to missing strdup (against sh-utils-2.0).
117712 1999-08-29  Jim Meyering  <meyering@ascend.com>
117714         * m4/jm-macros.m4: Require jm_BISON.
117715         * m4/bison.m4: New file.
117717 1999-08-17  Paul Eggert  <eggert@twinsun.com>
117719         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
117720         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
117722 1999-08-05  Jim Meyering  <meyering@ascend.com>
117724         * m4/getline.m4: Rename test file from conftestdata to conftest.data
117725         to avoid conflicts with `conftest' on 8+3 filesystems.
117726         Suggestion from Eli Zaretskii.
117728 1999-08-04  Jim Meyering  <meyering@ascend.com>
117730         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
117731         fileutils and sh-utils (textutils's getline test was inadequate).
117732         (AM_FUNC_GETLINE): Run this test.
117733         (AC_CHECK_FUNCS): Check for getdelim.
117734         Reported by Bob Proulx.
117736 1999-08-02  Jim Meyering  <meyering@ascend.com>
117738         * m4/jm-macros.m4: Add a comment.
117740 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117742         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
117743         <inttypes.h> defines strtoumax as a macro (and not as a
117744         function).
117746 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117748         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
117749         that we can shift, multiply and divide unsigned long long
117750         values; Ultrix cc can't do it.
117752 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117754         * m4/mktime.m4: New file, which is a preview of what should appear
117755         in the next public autoconf release.
117757 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117759         * m4/lfs.m4: Remove this file.
117760         * m4/largefile.m4: New file.  It contains the old contents of
117761         lfs.m4, except that all names with prefix AC_LFS have been
117762         changed to use the prefix AC_SYS_LARGEFILE instead, to be
117763         compatible with future autoconf versions.  Also, some minor m4
117764         quoting problems have been fixed.
117766 1999-08-01  Paul Eggert  <eggert@twinsun.com>
117768         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
117769         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
117770         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
117771         and simplify the shell code.
117773 1999-08-01  Jim Meyering  <meyering@ascend.com>
117775         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
117776         m4.
117778 1999-07-20  Jim Meyering  <meyering@ascend.com>
117780         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
117782 1999-07-15  Jim Meyering  <meyering@ascend.com>
117784         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
117786 1999-05-22  Jim Meyering  <meyering@ascend.com>
117788         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
117790 1999-05-20  Jim Meyering  <meyering@ascend.com>
117792         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
117793         Add a colon after each `then' in case $4 is empty.
117795 1999-05-16  Jim Meyering  <meyering@ascend.com>
117797         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
117799 1999-05-10  Jim Meyering  <meyering@ascend.com>
117801         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
117803         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
117804         AC_FUNC_MKTIME.
117806 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
117808         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
117810 1999-05-04  Paul Eggert  <eggert@twinsun.com>
117812         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
117813         not CPPFLAGS, so that linking works correctly in IRIX.
117815 1999-04-30  Paul Eggert  <eggert@twinsun.com>
117817         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
117819 1999-04-20  Paul Eggert  <eggert@twinsun.com>
117821         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
117822         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
117823         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
117824         jm_AC_TYPE_UNSIGNED_LONG_LONG.
117825         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
117827         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
117829 1999-04-20  Jim Meyering  <meyering@ascend.com>
117831         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
117832         AC_REPLACE xstroull if necessary.  From Paul Eggert.
117833         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
117835 1999-04-18  Jim Meyering  <meyering@ascend.com>
117837         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
117838         * m4/jm-macros.m4: Use it.
117840 1999-04-06  Jim Meyering  <meyering@ascend.com>
117842         * m4/strftime.m4: Remove test for %f.
117844 1999-03-29  Jim Meyering  <meyering@ascend.com>
117846         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
117847         superset of the AC_TYPE_* checks in the textutils, fileutils,
117848         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
117849         AC_TYPE_PID_T.
117851 1999-03-28  Jim Meyering  <meyering@ascend.com>
117853         * m4/jm-macros.m4: Define GNU_PACKAGE here.
117854         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
117855         replaced e.g., in the *.sh files of the sh-utils.
117857 1999-03-20  Jim Meyering  <meyering@ascend.com>
117859         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
117860         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
117861         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
117863 1999-03-19  Jim Meyering  <meyering@ascend.com>
117865         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
117867 1999-03-12  Jim Meyering  <meyering@ascend.com>
117869         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
117871 1999-03-07  Jim Meyering  <meyering@ascend.com>
117873         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
117874         declared.
117876 1999-02-17  Jim Meyering  <meyering@ascend.com>
117878         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
117879         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
117881 1999-02-07  Jim Meyering  <meyering@ascend.com>
117883         * m4/group-member.m4: New file -- extracted from sh-utils'
117884         configure.in.
117886         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
117887         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
117889 1999-02-06  Jim Meyering  <meyering@ascend.com>
117891         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
117892         * m4/fnmatch.m4: Likewise.
117893         * m4/getgroups.m4: Likewise.
117894         * m4/lstat.m4: Likewise.
117895         * m4/malloc.m4: Likewise.
117896         * m4/putenv.m4: Likewise.
117897         * m4/realloc.m4: Likewise.
117898         * m4/regex.m4: Likewise.
117899         * m4/stat.m4: Likewise.
117900         * m4/strftime.m4: Likewise.
117901         Suggestion from Alain Magloire.
117903         * m4/chown.m4: Use `.$ac_objext', not `.o'.
117904         * m4/fnmatch.m4: Likewise.
117905         * m4/getgroups.m4: Likewise.
117906         * m4/getline.m4: Likewise.
117907         * m4/lstat.m4: Likewise.
117908         * m4/malloc.m4: Likewise.
117909         * m4/memcmp.m4: Likewise.
117910         * m4/putenv.m4: Likewise.
117911         * m4/realloc.m4: Likewise.
117912         * m4/regex.m4: Likewise.
117913         * m4/stat.m4: Likewise.
117914         * m4/strftime.m4: Likewise.
117915         Suggestion from Alain Magloire.
117917         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
117918         an argument.
117920         * m4/regex.m4: Add a run-time Test for proper operation of
117921         re_compile_pattern.
117923 1999-01-31  Jim Meyering  <meyering@ascend.com>
117925         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
117927 1999-01-30  Jim Meyering  <meyering@ascend.com>
117929         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
117931         * m4/jm-mktime.m4: Make this a wrapper around the official
117932         AM_FUNC_MKTIME rather than my private copy, now that the official one
117933         is up to date.
117934         * m4/mktime.m4: Remove file.
117936         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
117937         * m4/uptime.m4: Likewise.
117938         * m4/uintmax_t.m4: Likewise.
117940 1999-01-28  Jim Meyering  <meyering@ascend.com>
117942         * m4/jm-macros.m4: Use jm_AFS.
117943         * m4/afs.m4: New file (from fileutils' configure.in).
117945         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
117946         * m4/chown.m4: Likewise.
117947         * m4/d-ino.m4: Likewise.
117948         * m4/d-type.m4: Likewise.
117949         * m4/fnmatch.m4: Likewise.
117950         * m4/getgroups.m4: Likewise.
117951         * m4/gettext.m4: Likewise.
117952         * m4/jm-mktime.m4: Likewise.
117953         * m4/jm-winsz2.m4: Likewise.
117954         * m4/lcmessage.m4: Likewise.
117955         * m4/ls-mntd-fs.m4: Likewise.
117956         * m4/malloc.m4: Likewise.
117957         * m4/memcmp.m4: Likewise.
117958         * m4/putenv.m4: Likewise.
117959         * m4/realloc.m4: Likewise.
117960         * m4/st_mtim.m4: Likewise.
117961         * m4/strftime.m4: Likewise.
117963 1999-01-16  Jim Meyering  <meyering@ascend.com>
117965         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
117966         (ARGMATCH_DIE_DECL): Define.
117968 1999-01-12  Jim Meyering  <meyering@ascend.com>
117970         * m4/Makefile.am.in: Rewrite to avoid using fmt.
117971         Reported by Lars Hecking.
117973 1999-01-10  Jim Meyering  <meyering@ascend.com>
117975         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
117976         gross kludge.
117977         * m4/inttypes_h.m4: Likewise.
117978         * m4/lstat.m4: Likewise.
117979         * m4/malloc.m4: Likewise.
117980         * m4/readdir.m4: Likewise.
117981         * m4/realloc.m4: Likewise.
117982         * m4/st_dm_mode.m4: Likewise.
117983         * m4/stat.m4: Likewise.
117984         * m4/utimbuf.m4: Likewise.
117985         * m4/utimes.m4: Likewise.
117987         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
117988         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
117989         comments in config.h.in are meaningful.
117991         * m4/jm-macros.m4: Require autoconf-2.13 here.
117993         * m4/regex.m4: By default, don't use the included regex.c on systems
117994         with glibc 2.  Suggestion from Uli Drepper.
117996 1999-01-02  Jim Meyering  <meyering@ascend.com>
117998         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
118000 1998-12-18  Jim Meyering  <meyering@ascend.com>
118002         * m4/Makefile.am.in (Makefile.am): Simplify rule.
118003         Based on a suggestion from Lars Hecking.
118005 1998-11-16  Paul Eggert  <eggert@twinsun.com>
118007         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
118009 1998-11-16  Jim Meyering  <meyering@ascend.com>
118011         * m4/lfs.m4: Double-quote the `uname...` expression.
118013 1998-11-14  Jim Meyering  <meyering@ascend.com>
118015         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
118016         * m4/stat.m4: Likewise.
118018 1998-11-03  Jim Meyering  <meyering@ascend.com>
118020         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
118021         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
118023 1998-10-18  Jim Meyering  <meyering@ascend.com>
118025         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
118027 1998-10-17  Jim Meyering  <meyering@ascend.com>
118029         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
118030         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
118031         calls for those previously hard-coded headers.  Instead, take a new
118032         parameter.
118033         (jm_CHECK_DECLARATIONS): Reflect interface change.
118034         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
118035         (jm_CHECK_DECL_LOCALTIME_R): New macro.
118037         * m4/mktime.m4: Test for spring-forward gap before long-running test.
118039 1998-10-14  Jim Meyering  <meyering@ascend.com>
118041         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
118042         instead of "TZ=America/Vancouver".  From Paul Eggert.
118044 1998-10-11  Jim Meyering  <meyering@ascend.com>
118046         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
118047         This adds a test for a recently added compatibility fix for mktime.c.
118048         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
118050 1998-09-27  Jim Meyering  <meyering@ascend.com>
118052         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
118054         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
118055         ../configure.in, including a change from Gordon Matzigkeit to allow
118056         cross-compiling for the Hurd.
118058         * m4/glibc.m4: New file/macro to test for the GNU C Library
118059         versions 1 and 2.  From Gordon Matzigkeit.
118060         Indent.
118062 1998-09-21  Jim Meyering  <meyering@ascend.com>
118064         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
118066 1998-08-18  Paul Eggert  <eggert@twinsun.com>
118068         Port nanosecond-resolution times to UnixWare 2.1.2 and
118069         pedantic Solaris 2.6.
118071         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
118072         AC_STRUCT_ST_MTIM.
118073         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
118074         Generate name of ns member, instead of just 1 or undef.
118075         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
118077 1998-08-15  Jim Meyering  <meyering@ascend.com>
118079         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
118080         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
118081         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
118082         instead of jm_TYPE_SSIZE_T.
118084 1998-08-12  Jim Meyering  <meyering@ascend.com>
118086         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
118088 1998-08-02  Jim Meyering  <meyering@ascend.com>
118090         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
118091         in acconfig.h manually.
118093 1998-07-31  Paul Eggert  <eggert@twinsun.com>
118095         * m4/st_mtim.m4: New file.
118097 1998-07-28  Jim Meyering  <meyering@ascend.com>
118099         * m4/utimes.m4: Undef stat.
118101 1998-07-25  Jim Meyering  <meyering@ascend.com>
118103         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
118104         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
118106 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
118108         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
118109         uid and gid actually remain unchanged.
118111 1998-07-07  Jim Meyering  <meyering@ascend.com>
118113         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
118115 1998-07-04  Jim Meyering  <meyering@ascend.com>
118117         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
118118         to prove that this macro can be used in packages without regex.c.
118120 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
118122         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
118123         is to be used.
118125 1998-07-03  Jim Meyering  <meyering@ascend.com>
118127         * m4/gettext.m4: Add -lintl if it's found to be necessary.
118129         * m4/gettext.m4: New file -- from gettext-0.10.35.
118130         * m4/lcmessage.m4: Likewise.
118131         * m4/progtest.m4: Likewise.
118133         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
118134         * m4/jm-macros.m4: Require the new macro.
118136 1998-06-29  Jim Meyering  <meyering@ascend.com>
118138         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
118139         for the definition of NGROUPS (used in a system header included
118140         by sys/mount.h).
118142 1998-06-28  Jim Meyering  <meyering@ascend.com>
118144         * m4/ls-mntd-fs.m4: New file.
118145         * m4/fstypename.m4: New file.
118147         * m4/jm-macros.m4: Require the new macro.
118148         * m4/jm-glibc-io.m4: New file.
118150 1998-05-19  Jim Meyering  <meyering@ascend.com>
118152         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
118153         * m4/lchown.m4: New file.
118155         * m4/Makefile.am.in: New file.
118156         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
118158 1998-05-14  Jim Meyering  <meyering@ascend.com>
118160         * m4/Makefile.am (EXTRA_DIST): Add them.
118161         * m4/jm-macros.m4: New file.
118162         * m4/utimbuf.m4: New file.
118164 1998-05-12  Jim Meyering  <meyering@ascend.com>
118166         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
118168 1998-05-11  Jim Meyering  <meyering@ascend.com>
118170         * m4/isc-posix.m4: New file.
118172 1998-05-10  Jim Meyering  <meyering@ascend.com>
118174         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
118176 1998-05-09  Jim Meyering  <meyering@ascend.com>
118178         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
118179         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
118180         with automake.
118182         * m4/ssize_t.m4: New file.
118183         * m4/mktime.m4: Remove file -- the new automake has this now.
118185 1998-04-26  Jim Meyering  <meyering@ascend.com>
118187         * m4/assert.m4: New file.
118188         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
118190 1998-04-05  Jim Meyering  <meyering@ascend.com>
118192         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
118193         (jm_PREREQ): Use it here.
118195 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
118197         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
118198         in acconfig.h.
118200 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
118202         * m4/prereq.m4: New file.
118203         * m4/error.m4: New file.
118204         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
118206 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
118208         * m4/getline.m4: Don't set am_cv_func_working_getline before the
118209         cache-check for the same variable -- that defeated the purpose of
118210         the test; the test program was never run.  This was a problem only
118211         on systems with losing getline functions -- HP-UX 10.20 is one.
118212         Reported by Bjorn Helgaas.
118214 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
118216         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
118218 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
118220         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
118222         * m4/const.m4: New file.  Use an initializer in this declaration
118223         typedef int charset[2]; const charset x;
118224         Reported by Bob Glickstein.
118226 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
118228         * m4/chown.m4: Fix reversed types on -1 args to chown.
118229         From Kaveh Ghazi.
118231 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
118233         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
118234         Add lseek and memchr.
118236         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
118237         T.E.Dickey <dickey@clark.net> said that some older preprocessors
118238         have a 20-character limit on names.
118240 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
118242         * m4/inttypes_h.m4: New file.
118243         * m4/uintmax_t.m4: New file.
118244         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
118247         -----
118249         Local Variables:
118250         coding: utf-8
118251         End:
118253         Copyright (C) 1997-2018 Free Software Foundation, Inc.
118255         Copying and distribution of this file, with or without
118256         modification, are permitted provided the copyright notice
118257         and this notice are preserved.